{
  "version": 3,
  "sources": ["/cdn/shop/t/16/assets/thz-pdp-thick.js?t=1794362572871"],
  "sourcesContent": ["/* THZ product pages: \"Letter Thickness\" (bevel and hex styles) as a row of picture cards, the same look as the\n   plate and size cards, using the pictures set on the options. The options app's own dropdown stays on the\n   page, hidden, and the cards set it, so the price and the cart stay exact. Not used in the builder. */\n(function () {\n  'use strict';\n  if (window.__thzPdpThick) return;\n  window.__thzPdpThick = true;\n  function txt(el) { return el ? (el.textContent || '').replace(/\\s+/g, ' ').trim() : ''; }\n  function esc(v) { return String(v).replace(/[&<>\"]/g, function (c) { return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;' }[c]; }); }\n\n  var css = document.createElement('style');\n  css.textContent =\n    '.thz-tk{margin:8px 0 4px;width:100%;min-width:0}' +\n    '.thz-tk__row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 3px 10px;margin:0 -3px;-webkit-overflow-scrolling:touch}' +\n    '.thz-tk__card{flex:0 0 calc((100% - 20px) / 2.4);min-width:132px;max-width:200px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:10px;border:2px solid #e6e0f0;border-radius:14px;background:#fff;color:#16101f;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}' +\n    '.thz-tk__card:hover{border-color:#b998f9}' +\n    '.thz-tk__card[aria-pressed=\"true\"]{border-color:#7b2ff7;background:#f7f2ff;box-shadow:0 0 0 3px rgba(123,47,247,.15)}' +\n    '.thz-tk__pic{display:flex;align-items:center;justify-content:center;height:82px;margin-bottom:6px;border-radius:9px;background:#f4f1f8;overflow:hidden}' +\n    '.thz-tk__pic img{display:block;max-width:90%;max-height:72px;object-fit:contain}' +\n    '.thz-tk__n{font-size:14.5px;font-weight:800;line-height:1.2}' +\n    '.thz-tk__d{font-size:12.5px;line-height:1.3;color:#6b6378}' +\n    '.thz-tk__p{margin-top:3px;font-size:13.5px;font-weight:800;color:#2c0b4f}' +\n    '.thz-tk-hide{display:none!important}';\n  document.head.appendChild(css);\n\n  function run() {\n    if (document.querySelector('.thz-bld')) return; // the builder has its own thickness cards\n    // \"Letter Thickness\" / \"Lettering Thickness\" (hex styles have one each for front only, rear only and both).\n    var list = Array.prototype.filter.call(document.querySelectorAll('.mw-option'), function (x) {\n      return !(x.parentElement && x.parentElement.closest('.mw-option')) && /letter(ing)? thickness/i.test(txt(x.querySelector('.mw-option__label, legend, label')));\n    });\n    // The \"Front Only\" pictures are the right ones: the \"Front and Rear\" option uses them too (its own pictures were uploaded wrong).\n    var frontPics = {};\n    list.forEach(function (x) { if (/front only/i.test(txt(x.querySelector('.mw-option__label, legend, label')))) frontPics = picsOf(x); });\n    list.forEach(function (x) { one(x, frontPics); });\n  }\n  function key(t) { return (t || '').replace(/\\(\\s*[+\\-]\\s*\u00A3[^)]*\\)/g, '').replace(/\\s+/g, ' ').trim().toLowerCase(); }\n  function picsOf(o) {\n    var pics = {};\n    Array.prototype.forEach.call(o.querySelectorAll('.mw-option__value-text'), function (s) {\n      var n = txt(s), p = s.parentElement, img = null;\n      for (var i = 0; i < 5 && p && !img; i++) { img = p.querySelector('img'); p = p.parentElement; }\n      if (n && img && !pics[key(n)]) pics[key(n)] = img.currentSrc || img.src;\n    });\n    return pics;\n  }\n  function one(o, frontPics) {\n    if (o.classList.contains('mw-hidden')) return;\n    var sel = o.querySelector('select'), cont = o.querySelector('.mw-option__container');\n    if (!sel || !cont) return;\n    // Pictures set on the options: the custom dropdown lists each one next to its name.\n    var pics = picsOf(o);\n    if (/front and rear|both/i.test(txt(o.querySelector('.mw-option__label, legend, label')))) Object.keys(frontPics || {}).forEach(function (k) { pics[k] = frontPics[k]; });\n    var ops = Array.prototype.filter.call(sel.options, function (op) { return op.value; });\n    if (!ops.length) return;\n    var s = ops.map(function (op) { return op.value + '=' + txt(op) + (pics[key(txt(op))] ? '*' : ''); }).join('|') + '#' + sel.value;\n    var box = o.querySelector('.thz-tk');\n    if (box && box.getAttribute('data-sig') === s) return;\n    cont.classList.add('thz-tk-hide');\n    if (!box) { box = document.createElement('div'); box.className = 'thz-tk'; cont.parentNode.insertBefore(box, cont); }\n    box.setAttribute('data-sig', s);\n    var keep = box.querySelector('.thz-tk__row'), sl = keep ? keep.scrollLeft : 0;\n    box.innerHTML = '<div class=\"thz-tk__row\" role=\"radiogroup\" aria-label=\"Letter thickness\">' + ops.map(function (op) {\n      var L = txt(op), on = sel.value === op.value;\n      var price = (L.match(/\\(\\s*\\+\\s*\u00A3\\s*([\\d.,]+)\\s*\\)/) || [])[1];\n      var base = L.replace(/\\(\\s*\\+\\s*\u00A3[^)]*\\)/g, '').trim();\n      var name = base.replace(/\\s*\\(.*\\)\\s*$/, '').trim() || base, sub = (base.match(/\\(([^)]*)\\)/) || [])[1] || '';\n      var img = pics[key(L)] || pics[key(base)];\n      return '<button type=\"button\" class=\"thz-tk__card\" data-v=\"' + esc(op.value) + '\" role=\"radio\" aria-pressed=\"' + on + '\" aria-checked=\"' + on + '\">' +\n        '<span class=\"thz-tk__pic\">' + (img ? '<img src=\"' + esc(img) + '\" alt=\"\" loading=\"lazy\">' : '') + '</span>' +\n        '<span class=\"thz-tk__n\">' + esc(name) + '</span>' + (sub ? '<span class=\"thz-tk__d\">' + esc(sub) + '</span>' : '') +\n        '<span class=\"thz-tk__p\">' + (price ? '+\u00A3' + esc(price) : 'Included') + '</span></button>';\n    }).join('') + '</div>';\n    box.querySelector('.thz-tk__row').scrollLeft = sl;\n    box.onclick = function (e) {\n      var b = e.target.closest('button'); if (!b) return;\n      sel.value = b.getAttribute('data-v');\n      sel.dispatchEvent(new Event('input', { bubbles: true }));\n      sel.dispatchEvent(new Event('change', { bubbles: true }));\n      box.removeAttribute('data-sig'); setTimeout(run, 60);\n    };\n  }\n  var q = false;\n  function later() { if (!q) { q = true; requestAnimationFrame(function () { q = false; run(); }); } }\n  function start() {\n    run();\n    document.addEventListener('change', later, true);\n    if (window.MutationObserver) new MutationObserver(function (ms) {\n      for (var i = 0; i < ms.length; i++) { var t = ms[i].target; if (!(t.closest && t.closest('.thz-tk'))) { later(); return; } }\n    }).observe(document.body, { childList: true, subtree: true });\n    var n = 0, iv = setInterval(function () { run(); if (++n > 10) clearInterval(iv); }, 700);\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start); else start();\n})();\n\n/* THZ product pages: \"Complete the look\". The app's carousel of random plate holders (many without pictures) is\n   swapped for a car picker plus the four most popular sets, from sections/thz-holder-pick.liquid. */\n(function () {\n  'use strict';\n  if (window.__thzHp) return;\n  window.__thzHp = 1;\n  function esc(t) { var d = document.createElement('div'); d.textContent = t == null ? '' : String(t); return d.innerHTML; }\n  function bubble(sections) {\n    var b = document.getElementById('cart-icon-bubble'), h = sections && sections['cart-icon-bubble'];\n    if (!b || !h) return;\n    var t = document.createElement('div'); t.innerHTML = h;\n    var n = t.querySelector('.shopify-section') || t;\n    b.innerHTML = n.innerHTML;\n  }\n  function add(btn) {\n    var v = +btn.getAttribute('data-hp-add'); if (!v) return;\n    btn.disabled = true; btn.textContent = 'Adding\u2026';\n    fetch('/cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n      body: JSON.stringify({ items: [{ id: v, quantity: 1 }], sections: 'cart-icon-bubble' }) })\n      .then(function (r) { return r.ok ? r.json() : Promise.reject(r); })\n      .then(function (j) {\n        btn.textContent = 'Added \u2713'; bubble(j.sections);\n        // A holder is now in the cart, so stop offering holders: swap the picker for a short confirmation.\n        var sec = btn.closest('.thz-hp');\n        if (sec) setTimeout(function () { sec.innerHTML = '<p class=\"thz-hp__done\" style=\"margin:0 auto;max-width:560px;padding:14px;border-radius:12px;background:#eefaf1;color:#12733a;font-weight:700;text-align:center\">\u2713 Plate holder set added to your order.</p>'; }, 900);\n      })\n      .catch(function () { btn.disabled = false; btn.textContent = 'Try again'; });\n  }\n  function init(root) {\n    var data = {};\n    try { data = JSON.parse(root.querySelector('.thz-hp__data').textContent); } catch (e) {}\n    var sel = root.querySelector('.thz-hp__sel'), pick = root.querySelector('.thz-hp__pick');\n    sel.addEventListener('change', function () {\n      var d = data[sel.value];\n      if (!d) { pick.hidden = true; pick.innerHTML = ''; return; }\n      pick.innerHTML = '<a class=\"thz-hp__img\" href=\"' + esc(d.u) + '\">' + (d.i ? '<img src=\"' + esc(d.i) + '\" alt=\"' + esc(d.t) + '\" width=\"600\" height=\"375\">' : '') + '</a>' +\n        '<div class=\"thz-hp__body\"><a class=\"thz-hp__t\" href=\"' + esc(d.u) + '\">' + esc(d.t) + '</a>' +\n        '<span class=\"thz-hp__p\">' + esc(d.p) + (d.c ? '<s>' + esc(d.c) + '</s>' : '') + '</span>' +\n        '<button type=\"button\" class=\"thz-hp__add\" data-hp-add=\"' + d.v + '\">+ Add to order</button></div>';\n      pick.hidden = false;\n    });\n    root.addEventListener('click', function (e) {\n      var b = e.target.closest && e.target.closest('[data-hp-add]');\n      if (b && !b.disabled) { e.preventDefault(); add(b); }\n    });\n  }\n  function start() {\n    // The picker is now part of the product page itself (templates/product.json); just wire it up.\n    var here = document.querySelector('main .thz-hp');\n    if (here) { init(here); return; }\n    if (document.querySelector('main .thz-hp-none')) return;\n    var old = [].filter.call(document.querySelectorAll('main [id*=\"ss_featured_collection\"]'), function (s) { return /complete the look/i.test(s.textContent); })[0];\n    if (!old) return;\n    old.style.display = 'none';\n    fetch(location.pathname + '?sections=thz-holder-pick') // no JSON Accept header: product URLs answer that with the product's own JSON\n      .then(function (r) { return r.ok ? r.json() : Promise.reject(r); })\n      .then(function (j) {\n        var html = j && j['thz-holder-pick'];\n        if (html && html.indexOf('thz-hp-none') >= 0) { old.parentNode.removeChild(old); return; } // a holder is already in the cart\n        if (!html || html.indexOf('thz-hp') < 0) return Promise.reject();\n        var w = document.createElement('div'); w.innerHTML = html;\n        var sec = w.firstElementChild; sec.style.order = '2';\n        old.parentNode.insertBefore(sec, old);\n        var root = sec.querySelector('.thz-hp'); if (root) init(root);\n      })\n      .catch(function () { old.style.display = ''; });\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start); else start();\n})();\n\n/* THZ product pages: when Add to cart is pressed, save pictures of the plates from the 3D preview (the same way the\n   builder does), so the cart's \"Your design\" shows exactly what the customer saw: sizes, flags, borders and style.\n   Only possible once the 3D preview has been opened on the page; otherwise the cart draws the plates itself. */\n(function () {\n  'use strict';\n  if (window.__thzPdpSave) return;\n  window.__thzPdpSave = 1;\n  document.addEventListener('click', function (e) {\n    var b = e.target.closest && e.target.closest('.product-form__submit');\n    if (!b || document.querySelector('.thz-bld') || !window.THZ3D || typeof window.THZ3D.snap !== 'function') return;\n    var inp = document.querySelector('input[name=\"properties[Registration]\"]');\n    var reg = ((inp && inp.value) || '').toUpperCase().replace(/\\s+/g, ' ').trim();\n    if (!reg) return;\n    try {\n      var h = document.querySelector('.product__title h1') || document.querySelector('.product__title');\n      var title = h ? h.textContent.replace(/\\s+/g, ' ').trim() : '';\n      var pics = { front: window.THZ3D.snap('front'), rear: window.THZ3D.snap('rear') };\n      if (!pics.front && !pics.rear) return;\n      var all = JSON.parse(localStorage.getItem('thzDesigns') || '{}');\n      // A new entry every time (never overwrite): a picture already tied to a cart line must stay with that line.\n      var now = Date.now();\n      all[reg + '|' + title + '|' + now] = { reg: reg, title: title, front: pics.front, rear: pics.rear, t: now };\n      Object.keys(all).sort(function (a, c) { return all[c].t - all[a].t; }).slice(5).forEach(function (k) { delete all[k]; });\n      try { localStorage.setItem('thzDesigns', JSON.stringify(all)); } catch (full) { Object.keys(all).sort(function (a, c) { return all[c].t - all[a].t; }).slice(2).forEach(function (k) { delete all[k]; }); localStorage.setItem('thzDesigns', JSON.stringify(all)); }\n    } catch (err) {}\n  }, true);\n})();\n\n/* THZ product pages: get the 3D preview ready in the background (off screen) once a registration has been typed, so the\n   picture saved at Add to cart is the real 3D design even if the customer never opened \"See your plates in 3D\".\n   Tapping \"See your plates in 3D\" afterwards just brings the same preview on screen. */\n(function () {\n  'use strict';\n  if (window.__thzWarm3d) return;\n  window.__thzWarm3d = 1;\n  var st = document.createElement('style');\n  st.textContent = '.thz-pdp3d--bg{position:fixed!important;left:-10000px!important;top:0!important;width:380px!important;pointer-events:none!important}';\n  document.head.appendChild(st);\n  var warming = false, done = false, timer;\n  function label(a, open) {\n    a.setAttribute('aria-expanded', open ? 'true' : 'false');\n    var sp = a.querySelector('span'); if (sp) sp.textContent = open ? 'Hide 3D preview' : 'See your plates in 3D';\n  }\n  function warm() {\n    if (done || document.querySelector('.thz-bld')) return;\n    var a = document.querySelector('.thz-3dlink');\n    if (!a) return;\n    if (document.querySelector('.thz-pdp3d') || a.getAttribute('aria-expanded') === 'true') { done = true; return; }\n    done = true; warming = true;\n    try { a.click(); } catch (e) {}\n    warming = false;\n    var p = document.querySelector('.thz-pdp3d');\n    if (!p) return;\n    p.classList.add('thz-pdp3d--bg');\n    label(a, false);\n  }\n  // The customer's own tap on the link: show the background preview instead of the link's own open/close.\n  document.addEventListener('click', function (e) {\n    if (warming) return;\n    var a = e.target.closest && e.target.closest('.thz-3dlink');\n    var p = document.querySelector('.thz-pdp3d.thz-pdp3d--bg');\n    if (!a || !p) return;\n    e.preventDefault(); e.stopImmediatePropagation();\n    p.classList.remove('thz-pdp3d--bg');\n    p.hidden = false;\n    label(a, true);\n  }, true);\n  function soon() {\n    var inp = document.querySelector('input[name=\"properties[Registration]\"]');\n    if (!inp || (inp.value || '').replace(/\\s+/g, '').length < 2) return;\n    clearTimeout(timer); timer = setTimeout(warm, 1200);\n  }\n  document.addEventListener('input', function (e) { if (e.target && e.target.name === 'properties[Registration]') soon(); }, true);\n  document.addEventListener('change', function (e) { if (e.target && e.target.name === 'properties[Registration]') soon(); }, true);\n  function start() { setTimeout(soon, 1500); }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start); else start();\n})();\n"],
  "mappings": "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",
  "names": []
}
