{
  "version": 3,
  "sources": ["/cdn/shop/t/22/assets/ardor-rigid-app.js?x=1792536036169"],
  "sourcesContent": ["// Ardor Rigid Sign Designer: app layout. Ardor Printing.\n// New Oct 20, 2026 (RS-CORE). Made from a copy of the LIVE assets/ardor-realestate-app.js (unchanged) by the patch list\n// rigid/core/app.patch. One-screen editor (tool rail, big stage, options panel with the total and Add to cart at the\n// bottom, 2D/3D switch, 3D thumbnail, floating toolbar with the Front / Back tabs, 2D zoom bar). It only moves existing\n// builder elements, so prices, proof, cart and quote work as before. Loaded by sections/ardor-rigid-builder-ws-kit.liquid\n// after ardor-rigid-builder.js. Option rows: material = shape, then one row per slot (the size first, the acrylic finish,\n// then the supplier's option groups in their order and wording; the row label is the group's own name), back (same or\n// different art), quantity (+ yard sign packs), notes and delivery.\n(function () {\n'use strict';\nvar root = document.querySelector('[data-abb-root]');\nif (!root || root.__abx) return;\n\nvar $ = function (s, el) { return (el || root).querySelector(s); };\nvar $$ = function (s, el) { return Array.prototype.slice.call((el || root).querySelectorAll(s)); };\nvar KEYS = ['shape', 'sides', 'art', 'qty', 'delivery'];\n  var OPTS = $$('.abb-step[data-abb-optstep]');\nvar step = {}, missing = false;\nKEYS.forEach(function (k) { step[k] = $('.abb-step[data-abb-step=\"' + k + '\"]'); if (!step[k]) missing = true; });\nvar wrap = $('.abb-wrap'), grid = $('.abb-grid'), head = $('.abb-head'), crumbs = $('.abb-crumbs');\nvar viewer = $('[data-abb-viewer]'), frame = $('.abb-layout__frame'), priceBox = $('.abb-price');\nif (!wrap || !grid || !viewer || !frame || !priceBox || missing) return; // keep the normal layout\nroot.__abx = true;\nroot.classList.add('abb--app');\n\nvar P = 'fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"';\nfunction svg(d, s) { return '<svg viewBox=\"0 0 24 24\" width=\"' + (s || 22) + '\" height=\"' + (s || 22) + '\" ' + P + ' aria-hidden=\"true\" focusable=\"false\">' + d + '</svg>'; }\nvar I = {\nart: '<path d=\"M12 15V4M7.5 8.5 12 4l4.5 4.5\"/><path d=\"M4 15v3.5A1.5 1.5 0 0 0 5.5 20h13a1.5 1.5 0 0 0 1.5-1.5V15\"/>',\ndesign: '<path d=\"M12 3l1.8 4.6L18.5 9l-4.7 1.4L12 15l-1.8-4.6L5.5 9l4.7-1.4z\"/><path d=\"M18.5 15l.8 2 2 .8-2 .8-.8 2-.8-2-2-.8 2-.8z\"/>',\nquote: '<path d=\"M4 5h16v11H9l-5 4z\"/><path d=\"M8 9.5h8M8 12.5h5\"/>',\ncube: '<path d=\"M12 2.8l8 4.5v9.4l-8 4.5-8-4.5V7.3z\"/><path d=\"M12 21.2v-9.4M20 7.3l-8 4.5-8-4.5\"/>',\nflat: '<rect x=\"6\" y=\"3\" width=\"12\" height=\"18\" rx=\"1.5\"/><path d=\"M9.5 8h5M9.5 11.5h5\"/>',\nx: '<path d=\"M6 6l12 12M18 6 6 18\"/>',\nup: '<path d=\"M12 15V4M7.5 8.5 12 4l4.5 4.5\"/><path d=\"M4 15v3.5A1.5 1.5 0 0 0 5.5 20h13a1.5 1.5 0 0 0 1.5-1.5V15\"/>',\nchev: '<path d=\"M9 6l6 6-6 6\"/>'\n};\nfunction el(tag, cls, html) { var n = document.createElement(tag); if (cls) n.className = cls; if (html != null) n.innerHTML = html; return n; }\nfunction move(node, to, before) { if (node && to) to.insertBefore(node, before || null); return node; }\nfunction esc(t) { return String(t).replace(/[&<>\"]/g, function (c) { return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;' }[c]; }); }\n\n// ---------- build the app shell ----------\nvar app = el('div', 'abx');\napp.innerHTML =\n'<nav class=\"abx-rail\" aria-label=\"Sign tools\">' +\n'<button type=\"button\" class=\"abx-tool\" data-abx-fly=\"art\">' + svg(I.art) + '<span>Artwork</span></button>' +\n\n'<button type=\"button\" class=\"abx-tool\" data-abx-quote>' + svg(I.quote) + '<span>Quote</span></button>' +\n'</nav>' +\n'<section class=\"abx-stage\" data-abx-stage aria-label=\"Your sign\">' +\n'<div class=\"abx-2d\" data-abx-2d>' +\n'<div class=\"abx-empty\" data-abx-empty><div class=\"abx-empty__card\">' +\n'<span class=\"abx-empty__icon\">' + svg(I.up, 22) + '</span>' +\n'<h3 class=\"abx-empty__title\">Drop your sign art here</h3>' +\n'<p class=\"abx-empty__text\">JPG, PNG, PDF, AI, EPS, TIFF or PSD, up to 25 MB. You\\'ll see it on your sign right away.</p>' +\n    '<div class=\"abx-empty__btns\"><button type=\"button\" class=\"abx-btn abx-btn--yellow\" data-abx-upload>Upload artwork</button></div>' +\n    '</div></div>' +\n    '</div>' +\n'<div class=\"abx-3d\" data-abx-3d><button type=\"button\" class=\"abx-hit\" data-abx-hit aria-label=\"Open the 3D preview\"></button><span class=\"abx-badge\">' + svg(I.cube, 13) + '3D</span></div>' +\n'<div class=\"abx-mode\" role=\"group\" aria-label=\"Preview\">' +\n'<button type=\"button\" data-abx-mode=\"2d\">' + svg(I.flat, 16) + '2D</button>' +\n'<button type=\"button\" data-abx-mode=\"3d\">' + svg(I.cube, 16) + '3D</button>' +\n'</div>' +\n'<p class=\"abx-hint\" data-abx-hint></p>' +\n'<div class=\"abx-bar\" data-abx-bar><button type=\"button\" class=\"abx-tbtn\" data-abx-upload>' + svg(I.up, 17) + '<span data-abx-upload-label>Upload</span></button></div>' +\n'</section>' +\n'<aside class=\"abx-panel\" aria-label=\"Sign options\">' +\n'<div class=\"abx-panel__head\"><h2 class=\"abx-panel__title\">Custom Rigid Signs &amp; Magnets</h2><p class=\"abx-panel__sub\" data-abx-sub></p></div>' +\n'<div class=\"abx-panel__body\" data-abx-body></div>' +\n'<div class=\"abx-foot\" data-abx-foot>' +\n'<div class=\"abx-foot__row\"><span class=\"abx-foot__label\">Total</span></div>' +\n'<div class=\"abx-foot__btns\"></div>' +\n'</div>' +\n'</aside>' +\n'<div class=\"abx-fly\" data-abx-flyout hidden role=\"dialog\" aria-label=\"Artwork\">' +\n'<div class=\"abx-fly__head\"><h2 data-abx-fly-title>Artwork</h2><button type=\"button\" class=\"abx-x\" data-abx-fly-close aria-label=\"Close\">' + svg(I.x, 20) + '</button></div>' +\n'<div class=\"abx-fly__body\" data-abx-fly-body></div>' +\n'</div>';\n\nvar stage = $('[data-abx-stage]', app), box2d = $('[data-abx-2d]', app), box3d = $('[data-abx-3d]', app);\nvar body = $('[data-abx-body]', app), foot = $('[data-abx-foot]', app), bar = $('[data-abx-bar]', app);\nvar fly = $('[data-abx-flyout]', app), flyBody = $('[data-abx-fly-body]', app);\nvar empty = $('[data-abx-empty]', app), hint = $('[data-abx-hint]', app), sub = $('[data-abx-sub]', app);\n\n// stage: 2D layout canvas and the 3D viewer\nmove(frame, box2d, empty);\n  move($('[data-abb-z2d]'), box2d); // 2D zoom bar for big signs\nmove(viewer, box3d, box3d.firstChild);\n\n// 2D toolbar: front/back tabs, art size and placement, upload or replace\nvar tabs = $('[data-abb-art-tabs]'), ctl = $('[data-abb-layout-controls]');\nmove(tabs, bar, bar.firstChild);\nmove(ctl, bar, bar.lastChild);\n\n  // options panel: product, the supplier's option groups (slots opt0, opt1, ...), backs, quantity, notes and delivery\n  var PANEL = ['shape'].concat(OPTS.map(function (s, i) { var k = 'opt' + i; step[k] = s; return k; })).concat(['sides', 'qty', 'delivery']);\n  PANEL.forEach(function (k) { move(step[k], body); });\nvar rush = $('.abb-price__rush', priceBox); if (rush) move(rush, body);\n\n// footer: alerts, total, Add to cart and quote\nvar fRow = $('.abx-foot__row', foot), fBtns = $('.abx-foot__btns', foot);\nmove($('[data-abb-warn]', priceBox), foot, fRow);\nmove($('[data-abb-error]', priceBox), foot, fRow);\nmove($('[data-abb-total]', priceBox), fRow);\nmove($('[data-abb-each]', priceBox), foot, fBtns);\nmove($('.abb-price__free', priceBox), foot, fBtns);\nvar quoteBtn = $('[data-abb-quote]', priceBox), addBtn = $('[data-abb-add]', priceBox);\nif (quoteBtn) {\nquoteBtn.className = 'abx-icon-btn';\nquoteBtn.setAttribute('aria-label', 'Request a quote'); quoteBtn.title = 'Request a quote';\nquoteBtn.innerHTML = svg(I.quote, 22);\nmove(quoteBtn, fBtns);\n}\nmove(addBtn, fBtns);\n\n// artwork flyout: upload (this builder has no design service, so design and designCard stay empty)\nmove(step.art, flyBody);\nvar design = $('[data-abb-design]', step.art), designCard = design && design.closest('label'); // scoped to the step: the app shell is not in the page yet\n\n// page text goes under the builder, like the banner and sticker builder pages\nvar below = el('div', 'abx-below');\nif (crumbs) move(crumbs, below);\nif (head) move(head, below);\nmove($('.abb-stage-note'), below);\nwrap.insertBefore(app, grid);\nwrap.insertBefore(below, grid);\n\n// ---------- state ----------\nvar state = { mode: '2d', fly: '' };\nvar openRow = null;\nfunction fireResize() { try { window.dispatchEvent(new Event('resize')); } catch (e) {} }\nfunction apply() {\napp.setAttribute('data-mode', state.mode);\nbox2d.className = 'abx-2d ' + (state.mode === '2d' ? 'is-full' : 'is-off');\nbox3d.className = 'abx-3d ' + (state.mode === '3d' ? 'is-full' : 'is-thumb');\n$('[data-abx-hit]', app).hidden = state.mode === '3d';\n$$('[data-abx-mode]', app).forEach(function (b) { var on = b.getAttribute('data-abx-mode') === state.mode; b.classList.toggle('is-on', on); b.setAttribute('aria-pressed', on ? 'true' : 'false'); });\nfly.hidden = !state.fly;\napp.setAttribute('data-fly', state.fly ? '1' : '0');\n$$('.abx-rail [data-abx-fly]', app).forEach(function (b) { var on = b.getAttribute('data-abx-fly') === state.fly; b.classList.toggle('is-on', on); b.setAttribute('aria-expanded', on ? 'true' : 'false'); });\n$('[data-abx-fly-title]', app).textContent = state.fly === 'design' ? 'Design help' : 'Artwork';\nif (designCard) designCard.classList.toggle('abx-glow', state.fly === 'design');\nfitThumb(true);\nfireResize();\n}\nfunction setMode(m) { state.mode = m; apply(); }\nfunction reveal(n) { var b = n && n.closest('.abx-panel__body, .abx-fly__body'); if (!b) return; var r = n.getBoundingClientRect(), br = b.getBoundingClientRect(); if (r.bottom > br.bottom) b.scrollTop += r.bottom - br.bottom + 8; else if (r.top < br.top) b.scrollTop -= br.top - r.top + 8; }\nfunction openFly(which, focusEl) {\nstate.fly = which; apply();\nvar t = focusEl || (which === 'design' ? designCard : null);\nif (t) setTimeout(function () { reveal(t); }, 40);\n}\nfunction closeFly() { if (!state.fly) return; state.fly = ''; apply(); }\n\napp.addEventListener('click', function (e) {\nvar t = e.target.closest('button'); if (!t || !app.contains(t)) return;\nif (t.hasAttribute('data-abx-mode')) { setMode(t.getAttribute('data-abx-mode')); return; }\nif (t.hasAttribute('data-abx-hit')) { setMode('3d'); return; }\nif (t.hasAttribute('data-abx-fly')) {\nvar w = t.getAttribute('data-abx-fly');\nif (state.fly === w && t.closest('.abx-rail')) { closeFly(); return; }\nif (w === 'design' && t.closest('.abx-empty') && design && !design.checked) design.click();\nopenFly(w); return;\n}\nif (t.hasAttribute('data-abx-fly-close')) { closeFly(); return; }\nif (t.hasAttribute('data-abx-upload')) { var inp = $('[data-abb-file]'); if (inp) inp.click(); return; }\nif (t.hasAttribute('data-abx-quote')) { if (quoteBtn) quoteBtn.click(); return; }\n});\ndocument.addEventListener('keydown', function (e) {\nif (e.key !== 'Escape' || document.querySelector('dialog[open]')) return;\nif (state.fly) closeFly(); else if (openRow) toggleRow(openRow, false);\n});\n\n// ---------- compact option rows: one tight row per option, long lists open under their row ----------\nvar rowsEl = el('div', 'abx-rows');\nbody.insertBefore(rowsEl, body.firstChild);\nPANEL.forEach(function (k) { step[k].classList.add('abx-gone'); });\nfunction txt(n) { return n ? n.textContent.replace(/\\s+/g, ' ').trim() : ''; }\nfunction pressed(c) { return c ? $('.abb-opt[aria-pressed=\"true\"]', c) : null; }\nfunction row(key, label, cls) {\nvar r = el('div', 'abx-row' + (cls ? ' ' + cls : ''), '<span class=\"abx-row__label\">' + label + '</span>');\nr.setAttribute('data-abx-row', key);\nrowsEl.appendChild(r);\nreturn r;\n}\nfunction toggleRow(r, force) {\nvar open = force == null ? r._drop.hidden : force;\nif (open && openRow && openRow !== r) toggleRow(openRow, false);\nr._drop.hidden = !open;\nr._btn.setAttribute('aria-expanded', open ? 'true' : 'false');\nr.classList.toggle('is-open', open);\nif (open) { openRow = r; setTimeout(function () { reveal(r); }, 0); }\nelse if (openRow === r) openRow = null;\n}\nfunction picker(key, label, parts, summary, keepOpen) {\nvar r = row(key, label, 'abx-row--pick');\nvar btn = el('button', 'abx-pick'); btn.type = 'button'; btn.setAttribute('aria-expanded', 'false');\nvar drop = el('div', 'abx-drop'); drop.hidden = true;\nr.appendChild(btn); r.appendChild(drop);\nr._btn = btn; r._drop = drop;\nparts.forEach(function (p) { if (p) drop.appendChild(p); });\nvar last = null;\nvar sync = r._sync = function () { var h = summary(); if (h === last) return; last = h; btn.innerHTML = '<span class=\"abx-pick__val\">' + h + '</span>' + svg(I.chev, 16); };\nbtn.addEventListener('click', function () { toggleRow(r); });\ndrop.addEventListener('click', function (e) { var b = e.target.closest('.abb-opt'); if (b && !keepOpen(b)) setTimeout(function () { toggleRow(r, false); }, 0); });\nparts.forEach(function (p) { if (p) new MutationObserver(sync).observe(p, { childList: true, subtree: true, characterData: true, attributes: true, attributeFilter: ['aria-pressed', 'hidden', 'disabled'] }); });\nsync();\nreturn r;\n}\nfunction bindHidden(r, src) {\nif (!src) return;\nvar f = function () { r.hidden = !!src.hidden; if (r.hidden && openRow === r) toggleRow(r, false); };\nnew MutationObserver(f).observe(src, { attributes: true, attributeFilter: ['hidden'] });\nf();\n}\n// a note under a row: shown only while it has text\nfunction note(r, n) {\nif (!n) return;\nmove(n, r);\nvar quiet = function () { n.classList.toggle('abx-quiet', !txt(n)); };\nnew MutationObserver(quiet).observe(n, { childList: true, characterData: true, subtree: true });\nquiet();\n}\n\n  // product: one row with the chosen product and its \"from\" price; the products open under it\n  var shapes = $('[data-abb-shapes]');\n  picker('shape', 'Material', [shapes], function () {\n    var on = pressed(shapes);\n    if (!on) return '<strong>Choose a material</strong>';\n    return '<strong>' + esc(txt($('.abb-opt__name', on)) || txt(on)) + '</strong><em>' + esc(txt($('.abb-opt__price', on))) + '</em>';\n  }, function () { return false; });\n\n  // the supplier's option groups for the product (the builder fills one slot per group, in their order): one row each,\n  // labelled with the group's own name; a group with one value shows that value\n  OPTS.forEach(function (slot, i) {\n    var box = $('[data-abb-opt]', slot), title = $('[data-abb-opt-title]', slot), key = 'opt' + i;\n    var r = picker(key, '', [box], function () {\n      var lab = rowsEl.querySelector('[data-abx-row=\"' + key + '\"] .abx-row__label');\n      if (lab) lab.textContent = txt(title) || '';\n      var on = pressed(box);\n      if (!on) return '<strong>Choose</strong>';\n      return '<strong>' + esc(txt($('.abb-opt__name', on)) || txt(on)) + '</strong><em>' + esc(txt($('.abb-opt__price', on))) + '</em>';\n    }, function () { return false; });\n    note(r, $('[data-abb-opt-note]', slot));\n    bindHidden(r, slot);\n    if (title) new MutationObserver(function () { if (r._sync) r._sync(); }).observe(title, { childList: true, characterData: true, subtree: true });\n  });\n\n  // backs: \"Same as front\" or \"Different back\", for the sign and for a 2-sided rider\n  var rSides = row('sides', 'Back');\n  move($('[data-abb-sides]'), rSides);\n  note(rSides, $('[data-abb-sides-note]'));\n  move($('[data-abb-backmode-wrap]'), rSides);\n  move($('[data-abb-rbackmode-wrap]'), rSides);\n  bindHidden(rSides, $('[data-abb-sides-wrap]') || step.sides);\n\n  // quantity: packs (where sold in packs), then 1 to 100 signs or packs, more is a quote\n  var rQty = row('qty', 'Quantity', 'abx-row--stack');\n  move($('[data-abb-packs-wrap]'), rQty);\n  move($('[data-abb-qty-box]'), rQty);\n  note(rQty, $('[data-abb-qty-note]'));\n  move($('[data-abb-quote-note]'), rQty);\n\n  // notes, then delivery: free shipping or free pickup in Snohomish\n  var rNotes = row('notes', 'Notes', 'abx-row--stack');\n  move($('[data-abb-notes-field]'), rNotes);\n  var rDel = row('delivery', 'Delivery', 'abx-row--stack');\n  move($('[data-abb-delivery]'), rDel);\n\n// ---------- live labels ----------\n  var chips = ['[data-abb-chip-size]', '[data-abb-chip-mat]', '[data-abb-chip-sides]'].map(function (s) { return $(s); });\n  var tip = $('[data-abb-tip]'); // the builder writes the tip for the stage here\n  function syncSub() {\n    var t = chips.map(function (c) { return c ? txt(c) : ''; }).filter(Boolean);\n    sub.textContent = t.join(' \u00B7 ');\n    var size = chips[0] ? txt(chips[0]) : '';\n    try { var rc = window.ArdorRigidAPI && ArdorRigidAPI.cfg && ArdorRigidAPI.cfg(); if (rc && rc.piece === 'rider' && rc.rider && rc.rider.size) size = String(rc.rider.size).replace('x', ' x ') + ' in rider'; } catch (e) {} // Oct 19: hint names the rider when the rider is shown\n    hint.textContent = (size ? size + ' \u00B7 ' : '') + ((tip && txt(tip)) || 'Keep text inside the red line');\n    fitThumb();\n  }\n  chips.concat([tip]).forEach(function (c) { if (c) new MutationObserver(syncSub).observe(c, { childList: true, characterData: true, subtree: true }); });\n\n  // ---------- keep the sign out from under the 3D thumbnail ----------\n  // The layout drawing is centered on the stage. When it would run under the thumbnail (top right), it either moves\n  // left of the thumbnail (.abx-tight) or down below it (.abx-under), whichever leaves it bigger (see ardor-yardsign-ws.css).\nvar layCanvas = $('canvas', frame);\n  // the shown piece's template page shape (width / height), from the designer itself\n  function signRatio() {\n    try { var c = window.ArdorRigidAPI && window.ArdorRigidAPI.cfg(); if (c && c.Wi > 0 && c.Hi > 0) return c.Wi / c.Hi; } catch (e) {}\n    if (layCanvas && layCanvas.style.width && layCanvas.width > 0 && layCanvas.height > 0) return layCanvas.width / layCanvas.height;\n    return 24 / 18;\n  }\n  function fitThumb(quiet) {\n    var sw = stage.clientWidth, sh = stage.clientHeight;\n    if (!sw || !sh) return;\n    var had = app.classList.contains('abx-tight') ? 'tight' : (app.classList.contains('abx-under') ? 'under' : '');\n    var want = '';\n    if (state.mode === '2d') {\n      app.classList.remove('abx-tight', 'abx-under'); // measure the plain paddings\n      var cs = window.getComputedStyle(frame);\n      var pt = parseFloat(cs.paddingTop) || 0, pb = parseFloat(cs.paddingBottom) || 0, pl = parseFloat(cs.paddingLeft) || 0, pr = parseFloat(cs.paddingRight) || 0;\n      var tw = box3d.offsetWidth || 160, th = box3d.offsetHeight || 120, r = signRatio();\n      var fitW = function (w, h) { return Math.max(0, Math.min(w, h * r)); };\n      var w0 = fitW(sw - pl - pr, sh - pt - pb), h0 = w0 / r;\n      var thumbLeft = box3d.offsetLeft > 0 ? box3d.offsetLeft : sw - tw - 16, thumbBottom = (box3d.offsetTop > 0 ? box3d.offsetTop : 16) + th;\n      var top0 = pt + (sh - pt - pb - h0) / 2;\n      if ((sw + w0) / 2 + 8 > thumbLeft && top0 < thumbBottom + 8) {\n        var wTight = fitW(sw - 16 - (tw + 32), sh - pt - pb);\n        var wUnder = fitW(sw - pl - pr, sh - (thumbBottom + 12) - pb);\n        want = wUnder >= wTight ? 'under' : 'tight';\n      }\n    }\n    app.classList.toggle('abx-tight', want === 'tight');\n    app.classList.toggle('abx-under', want === 'under');\n    if (want !== had && !quiet) fireResize();\n  }\nif (typeof ResizeObserver !== 'undefined') { try { new ResizeObserver(function () { fitThumb(); }).observe(stage); } catch (e) {} }\nelse window.addEventListener('resize', function () { fitThumb(true); });\n\n// ---------- empty canvas card ----------\nvar fileName = $('[data-abb-file-name]'), backSame = $('[data-abb-back-same]');\nvar upLabel = $('[data-abx-upload-label]', app);\nfunction syncEmpty() {\nvar hasArt = fileName && !fileName.hidden;\n    var onRider = root.getAttribute('data-abb-piece-on') === 'rider';\n    var onBack = tabs && !tabs.hidden && $('[data-abb-face=\"back\"]:not([hidden])[aria-pressed=\"true\"]', tabs);\n    var same = onBack && !!$(onRider ? '[data-rbackmode=\"same\"][aria-pressed=\"true\"]' : '[data-backmode=\"same\"][aria-pressed=\"true\"]'); // the back shows the front art\n    var eTitle = $('.abx-empty__title', app); if (eTitle) eTitle.textContent = onBack ? 'Drop the art for the back here' : (onRider ? 'Drop your rider art here' : 'Drop your sign art here');\nvar noArt = !hasArt && !(design && design.checked) && !same;\nempty.hidden = !noArt;\napp.classList.toggle('abx-has-art', !!hasArt);\nif (upLabel) upLabel.textContent = hasArt ? 'Replace art' : 'Upload';\n}\nif (fileName) new MutationObserver(syncEmpty).observe(fileName, { attributes: true, attributeFilter: ['hidden'] });\nif (tabs) new MutationObserver(syncEmpty).observe(tabs, { attributes: true, subtree: true, attributeFilter: ['hidden', 'aria-pressed'] });\nroot.addEventListener('change', function () { setTimeout(syncEmpty, 0); });\n  var bmEl = $('[data-abb-backmodes]'), rbmEl = $('[data-abb-rbackmodes]');\n  if (rbmEl) new MutationObserver(function () { setTimeout(syncEmpty, 0); }).observe(rbmEl, { childList: true, subtree: true, attributes: true, attributeFilter: ['aria-pressed'] });\n  new MutationObserver(function () { setTimeout(syncEmpty, 0); }).observe(root, { attributes: true, attributeFilter: ['data-abb-piece-on'] });\n  if (bmEl) new MutationObserver(function () { setTimeout(syncEmpty, 0); }).observe(bmEl, { childList: true, subtree: true, attributes: true, attributeFilter: ['aria-pressed'] });\n\n// ---------- drop a file anywhere on the canvas ----------\nfunction hasFiles(e) { try { return Array.prototype.indexOf.call(e.dataTransfer.types, 'Files') >= 0; } catch (er) { return false; } }\nstage.addEventListener('dragover', function (e) { if (!hasFiles(e)) return; e.preventDefault(); stage.classList.add('is-over'); });\nstage.addEventListener('dragleave', function (e) { if (!stage.contains(e.relatedTarget)) stage.classList.remove('is-over'); });\nstage.addEventListener('drop', function (e) {\nif (!hasFiles(e)) return;\ne.preventDefault(); stage.classList.remove('is-over');\nvar inp = $('[data-abb-file]'), f = e.dataTransfer.files && e.dataTransfer.files[0];\nif (!inp || !f) return;\ntry { var dt = new DataTransfer(); dt.items.add(f); inp.files = dt.files; } catch (er) { return; }\ninp.dispatchEvent(new Event('change', { bubbles: true }));\n});\n\n// ---------- point customers to whatever needs fixing ----------\nvar errEl = $('[data-abb-error]');\nif (errEl) new MutationObserver(function () {\nif (errEl.hidden) return;\nvar t = errEl.textContent;\nif (/^upload /i.test(t)) openFly('art', $('[data-abb-drop]'));\nelse closeFly();\n}).observe(errEl, { attributes: true, attributeFilter: ['hidden'], childList: true, characterData: true, subtree: true });\n\nsyncEmpty();\napply();\nsyncSub();\n})();\n"],
  "mappings": "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",
  "names": ["el"]
}
