{
  "version": 3,
  "sources": ["/cdn/shop/t/1064/assets/sticker-v4.js?auto=format%2Ccompress"],
  "sourcesContent": ["/* sticker-v4.js \u2014 sticker-family adapter for the by-size v4 engine (2026-09-14).\n *\n * Loaded ONLY by snippets/bsv4-sticker-options.liquid (vinyl / bumper / truck\n * sticker, magnet and keychain v4 templates), so no other template pays for it.\n * Owns the \"Step 3: Choose your Sticker Options\" card and feeds the engine's\n * family seams (cart.js / ported/cart-payload.js, 2026-09-02):\n *\n *   window.__bsv4ItemProps(file, row) -> { Shape, Finish, ... } merged into\n *                                        EVERY line the engine posts\n *   window.__bsv4CartGate(state)      -> false (+ inline errors, scroll to the\n *                                        first) while a visible required group\n *                                        has no value; the engine refuses the\n *                                        add / add-another until it returns true\n *\n * Legacy source of truth: snippets/__multipleSnippets.liquid customStickerOption\n * (markup + the show/hide rules at :2185-2225) and the option collectors in\n * assets/pdp_transferBySize.js (:1103-1215). Property names are byte-identical\n * so production / hide-upload-property.js ordering keep working unchanged.\n *\n * Seam fallback (spangle-v4.js precedent): the shared v4 bundle is rebuilt\n * from several branches; a build without the family seams would silently\n * drop the picks. So this asset ALSO merges the picks into the cart/add.js\n * body it sees leave the page and vetoes the commit controls in the capture\n * phase. Pure no-ops on a seam-aware build (the props are already there).\n */\n(function () {\n  'use strict';\n\n  var root = null;\n  var hideFinish = true;\n\n  function $(sel, ctx) { return (ctx || root).querySelector(sel); }\n  function $$(sel, ctx) { return Array.prototype.slice.call((ctx || root).querySelectorAll(sel)); }\n  /* GROUP lookups are document-scoped on purpose. The sticker builder relocates\n     the [data-stk-group] fieldsets out of [data-nt-stk] into its post-upload\n     accordion; root-scoped, props() would drop every choice from the cart line\n     and validate() would find no required group and wave the order through.\n     Every lookup below still passes an explicit context and stays scoped to its\n     own fieldset, which travels with the node. */\n  function group(name) { return $('[data-stk-group=\"' + name + '\"]', document); }\n  function groups() { return $$('[data-stk-group]', document); }\n  function checkedIn(g) { return g ? $('input[type=\"radio\"]:checked', g) : null; }\n  function isText(g) { return !!g && g.hasAttribute('data-stk-text'); }\n  function visible(g) { return !!g && !g.hidden; }\n\n  function valueOf(g) {\n    if (!g) return '';\n    if (isText(g)) { var i = $('[data-stk-input]', g); return i ? i.value.trim() : ''; }\n    var c = checkedIn(g);\n    return c ? c.value : '';\n  }\n\n  function setErr(g, show) {\n    if (!g) return;\n    var e = $('[data-stk-err]', g);\n    if (e) e.hidden = !show;\n    g.classList.toggle('has-error', !!show);\n  }\n\n  // Legend shows the current (or hovered) value \u2014 legacy <option-value>.\n  function paintValue(g, text) {\n    var o = g && $('[data-stk-val]', g);\n    if (o) o.textContent = typeof text === 'string' ? text : valueOf(g);\n  }\n\n  /* ---------------- legacy show / hide rules ---------------------------- */\n  // Background = Transparent -> no border options (and no Finish when the\n  // block says so); Border Color only while a bordered thickness is picked;\n  // the no-border choice shows its own note. A hidden group holds no error.\n  function applyRules() {\n    /* Corners are a property of a straight-edged cut: offered for a square or\n       a rectangle, meaningless on a circle, an oval or the design's own\n       outline. */\n    var shp = group('Shape');\n    var corners = group('Corners');\n    if (corners) {\n      /* A locked-shape product (bumper / truck) has no Shape group \u2014 its cut is\n         the hidden locked input, which is a rectangle, so corners apply. */\n      var lockedShape = $('[data-stk-locked=\"Shape\"]', document);\n      var sv = shp ? valueOf(shp) : (lockedShape ? String(lockedShape.value || '') : '');\n      corners.hidden = !/\\b(square|rectangle)\\b/i.test(sv);\n    }\n\n    var bg = group('Backing Type');\n    var fin = group('Finish');\n    var bt = group('Border Thickness');\n    var bc = group('Border Color');\n    var transparent = !!bg && valueOf(bg) === 'Transparent';\n\n    /* The vinyl's own colour only applies to a solid backing. */\n    var bgc = group('Background Color');\n    if (bgc) bgc.hidden = transparent;\n\n    if (bt) bt.hidden = transparent;\n    if (fin) fin.hidden = transparent && hideFinish;\n\n    var bordered = false;\n    var msg = '';\n    if (bt && !bt.hidden) {\n      var c = checkedIn(bt);\n      var lab = c && c.closest('.nt-stk__choice');\n      if (lab) {\n        bordered = lab.getAttribute('data-border') === 'true';\n        msg = lab.getAttribute('data-msg') || '';\n      }\n    }\n    if (bc) bc.hidden = !bordered;\n    var m = bt && $('[data-stk-msg]', bt);\n    if (m) { m.textContent = msg; m.hidden = !msg; }\n\n    groups().forEach(function (g) { if (g.hidden) setErr(g, false); });\n    broadcast();\n  }\n\n  /* ---------------- values -> line-item properties ----------------------- */\n  function props() {\n    var out = {};\n    $$('[data-stk-locked]', document).forEach(function (i) { out[i.getAttribute('data-stk-locked')] = i.value; });\n    groups().forEach(function (g) {\n      if (!visible(g)) return;\n      var v = valueOf(g);\n      if (v) out[g.getAttribute('data-stk-group')] = v;\n    });\n    return out;\n  }\n\n  function validate(scroll) {\n    var first = null;\n    $$('[data-stk-group][data-stk-required]', document).forEach(function (g) {\n      if (!visible(g)) return;\n      var ok = !!valueOf(g);\n      setErr(g, !ok);\n      if (!ok && !first) first = g;\n    });\n    if (first && scroll) {\n      try { first.scrollIntoView({ block: 'center', behavior: 'smooth' }); } catch (e) { /* older engines */ }\n      var i = $('[data-stk-input]', first);\n      if (i) { try { i.focus({ preventScroll: true }); } catch (e2) { /* noop */ } }\n    }\n    return !first;\n  }\n\n  function broadcast() {\n    try {\n      document.dispatchEvent(new CustomEvent('nt:sticker-options-changed', { detail: { options: props() } }));\n    } catch (e) { /* noop */ }\n  }\n\n  /* ---------------- interaction ---------------------------------------- */\n  function onChange(e) {\n    var t = e.target;\n    if (!t || !t.matches || !t.matches('input')) return;\n    var g = t.closest('[data-stk-group]');\n    if (!g) return;\n    paintValue(g);\n    if (valueOf(g)) setErr(g, false);\n    applyRules();\n  }\n\n  function onInput(e) {\n    var t = e.target;\n    if (t && t.matches && t.matches('[data-stk-color]')) {\n      var cg = t.closest('[data-stk-group]');\n      if (cg) setBorderColor(cg, String(t.value || '').toUpperCase());\n      return;\n    }\n    if (!t || !t.matches || !t.matches('[data-stk-input]')) return;\n    var tg = t.closest('[data-stk-group]');\n    if (tg) paintSwatches(tg);\n    var g = t.closest('[data-stk-group]');\n    if (g && valueOf(g)) setErr(g, false);\n    broadcast();\n  }\n\n  // Wide | Tall pill (stickers): the orientation is baked into the radio VALUE\n  // (\"Wide Rectangle\" / \"Tall Oval\") and the thumbnail swaps \u2014 legacy .nt-orient-btn.\n  function setBorderColor(g, value) {\n    var field = $('[data-stk-input]', g);\n    if (!field) return;\n    field.value = value;\n    field.dispatchEvent(new Event('input', { bubbles: true }));\n    field.dispatchEvent(new Event('change', { bubbles: true }));\n    paintSwatches(g);\n  }\n\n  /* The active swatch is whichever one matches what the field holds, so typing\n     a colour by hand keeps the row honest instead of leaving a stale tick. */\n  /* Relative luminance of a swatch's own colour (its --stk-sw), 0..1. */\n  function isLightSwatch(b) {\n    var raw = String((b.style && b.style.getPropertyValue('--stk-sw')) || '').trim();\n    var m = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(raw);\n    if (!m) return /^white$/i.test(String(b.getAttribute('data-stk-swatch') || ''));\n    var h = m[1];\n    if (h.length === 3) h = h.replace(/(.)/g, '$1$1');\n    var n = parseInt(h, 16);\n    var r = (n >> 16) & 255, gg = (n >> 8) & 255, bl = n & 255;\n    return (0.2126 * r + 0.7152 * gg + 0.0722 * bl) / 255 > 0.6;\n  }\n  function paintSwatches(g) {\n    var field = $('[data-stk-input]', g);\n    var val = field ? String(field.value || '').trim().toLowerCase() : '';\n    var hit = null;\n    $$('[data-stk-swatch]', g).forEach(function (b) {\n      var on = String(b.getAttribute('data-stk-swatch')).toLowerCase() === val;\n      b.classList.toggle('is-active', on);\n      /* White (and any other light colour) gets a dark tick \u2014 a white one\n         disappears into it (Justin 9-15). */\n      b.classList.toggle('is-light', isLightSwatch(b));\n      if (on) hit = b;\n    });\n    var custom = $('.nt-stk__swatch--custom', g);\n    if (custom) custom.classList.toggle('is-active', !!val && val.charAt(0) === '#');\n    /* A colour chosen from the folded tail has to be visible, or the row reads\n       as though nothing is selected. */\n    var cell = hit && hit.closest('[data-stk-more]');\n    if (cell) openMore(g, true);\n  }\n\n  /* \"Show N more colors\" \u2014 the fold on the standard palette. */\n  function openMore(g, open) {\n    var grid = $('[data-stk-swatches]', g);\n    var btn = $('[data-stk-more-btn]', g);\n    if (!grid) return;\n    grid.classList.toggle('is-open', open);\n    if (!btn) return;\n    btn.textContent = open\n      ? 'Show fewer colors'\n      : 'Show ' + (btn.getAttribute('data-stk-more-n') || '') + ' more colors';\n  }\n\n  function onClick(e) {\n    var more = e.target && e.target.closest && e.target.closest('[data-stk-more-btn]');\n    if (more) {\n      e.preventDefault();\n      var mg = more.closest('[data-stk-group]');\n      var grid = mg && $('[data-stk-swatches]', mg);\n      if (mg && grid) openMore(mg, !grid.classList.contains('is-open'));\n      return;\n    }\n    var sw = e.target && e.target.closest && e.target.closest('[data-stk-swatch]');\n    if (sw) {\n      e.preventDefault();\n      var swg = sw.closest('[data-stk-group]');\n      if (swg) setBorderColor(swg, sw.getAttribute('data-stk-swatch') || '');\n      return;\n    }\n    var btn = e.target && e.target.closest && e.target.closest('[data-stk-orient]');\n    if (!btn) return;\n    e.preventDefault();\n    var lab = btn.closest('.nt-stk__choice--orient');\n    if (!lab) return;\n    var wide = btn.getAttribute('data-stk-orient') === 'wide';\n    $$('[data-stk-orient]', lab).forEach(function (b) { b.classList.toggle('is-active', b === btn); });\n    var img = $('img', lab);\n    if (img) img.src = lab.getAttribute(wide ? 'data-stk-wide' : 'data-stk-tall');\n    var input = $('input[type=\"radio\"]', lab);\n    if (!input) return;\n    input.value = (wide ? 'Wide ' : 'Tall ') + lab.getAttribute('data-stk-base');\n    input.checked = true;\n    input.dispatchEvent(new Event('change', { bubbles: true }));\n  }\n\n  // Hover preview of a choice's value in the legend (legacy mouseover/mouseout).\n  function onHover(e) {\n    var lab = e.target && e.target.closest && e.target.closest('.nt-stk__choice');\n    if (!lab) return;\n    var g = lab.closest('[data-stk-group]');\n    if (!g) return;\n    if (e.type === 'mouseover') {\n      var input = $('input[type=\"radio\"]', lab);\n      paintValue(g, input ? input.value : '');\n    } else {\n      paintValue(g);\n    }\n  }\n\n  // Engine reset (add-another / remove design): back to the fresh state, as the\n  // legacy page cleared its option radios for the next design.\n  function resetPicks() {\n    groups().forEach(function (g) {\n      if (isText(g)) {\n        var i = $('[data-stk-input]', g);\n        if (i) i.value = '';\n      } else {\n        $$('input[type=\"radio\"]', g).forEach(function (r) { r.checked = !!r.defaultChecked; });\n        $$('.nt-stk__choice--orient', g).forEach(function (lab) {\n          $$('[data-stk-orient]', lab).forEach(function (b) {\n            b.classList.toggle('is-active', b.getAttribute('data-stk-orient') === 'wide');\n          });\n          var img = $('img', lab);\n          if (img) img.src = lab.getAttribute('data-stk-wide');\n          var input = $('input[type=\"radio\"]', lab);\n          if (input) input.value = 'Wide ' + lab.getAttribute('data-stk-base');\n        });\n      }\n      setErr(g, false);\n      paintValue(g);\n    });\n    applyRules();\n  }\n\n  /* ---------------- engine seams ---------------------------------------- */\n  function installSeams() {\n    window.__bsv4ItemProps = function () { return props(); };\n    window.__bsv4CartGate = function () { return validate(true); };\n\n    // Fallback for a bundle built without the seams (see header).\n    if (window.__ntStkSeamFallback) return;\n    window.__ntStkSeamFallback = true;\n\n    var COMMIT_SEL = '[data-bsv4-checkout],[data-bsv4-add-another],[data-bsv4-addlink]';\n    function veto(e) { e.preventDefault(); e.stopImmediatePropagation(); }\n    window.addEventListener('click', function (e) {\n      var hit = e.target && e.target.closest && e.target.closest(COMMIT_SEL);\n      if (hit && !validate(true)) veto(e);\n    }, true);\n    window.addEventListener('keydown', function (e) {\n      if (e.key !== 'Enter' && e.key !== ' ') return;\n      var hit = e.target && e.target.closest && e.target.closest('[data-bsv4-add-another]');\n      if (hit && !validate(true)) veto(e);\n    }, true);\n\n    var origFetch = window.fetch;\n    if (typeof origFetch !== 'function') return;\n    window.fetch = function (input, init) {\n      try {\n        var url = typeof input === 'string' ? input : (input && input.url) || '';\n        if (/\\/cart\\/add(\\.js)?(\\?|$)/.test(url) && init && typeof init.body === 'string') {\n          var body = JSON.parse(init.body);\n          if (body && Array.isArray(body.items)) {\n            var extra = props();\n            var touched = false;\n            body.items.forEach(function (it) {\n              var pr = it && it.properties;\n              if (!pr || typeof pr !== 'object') return;\n              var isDesign = Object.keys(pr).some(function (k) {\n                return k === '_cartImg' || k === '_Original Image' || k.indexOf('Upload') === 0;\n              });\n              if (!isDesign) return;\n              Object.keys(extra).forEach(function (k) {\n                if (!(k in pr)) { pr[k] = extra[k]; touched = true; }\n              });\n            });\n            if (touched) init = Object.assign({}, init, { body: JSON.stringify(body) });\n          }\n        }\n      } catch (e) { /* leave the request untouched */ }\n      return origFetch.call(this, input, init);\n    };\n  }\n\n  /* ---------------- boot ------------------------------------------------ */\n  function boot() {\n    root = document.querySelector('[data-nt-stk]');\n    if (!root) return; // not a sticker-family template \u2014 do nothing\n    hideFinish = root.getAttribute('data-hide-finish') === '1';\n    /* Delegated from DOCUMENT, not from root: once the builder moves the\n       fieldsets out of [data-nt-stk], nothing they fire reaches root, so\n       applyRules() would stop running (Border Color could never appear,\n       Transparent would stop hiding Border Thickness and Finish) and the\n       Wide/Tall pill would go dead. Every handler bails on a non-sticker\n       target, and boot() has already returned on templates without options. */\n    document.addEventListener('change', onChange);\n    document.addEventListener('input', onInput);\n    document.addEventListener('click', onClick);\n    document.addEventListener('mouseover', onHover);\n    document.addEventListener('mouseout', onHover);\n    groups().forEach(function (g) { paintValue(g); });\n    applyRules();\n    installSeams();\n    document.addEventListener('bsv4:reset', function () { setTimeout(resetPicks, 0); });\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\n  else boot();\n})();\n"],
  "mappings": "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",
  "names": []
}
