{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/pt.js"],
  "sourcesContent": ["/* No third-party scripts, tracking cookies, or payment code. Shopify owns checkout. */\n(() => {\n  'use strict';\n  const getDialogs = () => [...document.querySelectorAll('[data-piece-dialog]')];\n\n  function updateTags(form) {\n    const tags = form.querySelector('[data-signup-tags]');\n    if (!tags) return;\n    const values = ['newsletter', 'plate-theory', 'drop-001'];\n    const piece = form.querySelector('[data-piece-select]')?.value;\n    const size = form.querySelector('[data-size-select]')?.value;\n    if (piece) values.push(`pt-design:${piece}`);\n    if (size) values.push(`pt-size:${size}`);\n    tags.value = values.join(',');\n  }\n\n  function selectPiece(code) {\n    document.querySelectorAll('[data-piece-select]').forEach(select => {\n      if ([...select.options].some(option => option.value === code)) select.value = code;\n      if (select.form) updateTags(select.form);\n    });\n  }\n\n  function closeDialog(dialog) {\n    if (!dialog || !dialog.open) return;\n    dialog.close();\n  }\n\n  function openPiece(code, trigger, updateUrl = true) {\n    const dialog = getDialogs().find(item => item.dataset.pieceDialog === code);\n    selectPiece(code);\n    if (!dialog || typeof dialog.showModal !== 'function') return false;\n    getDialogs().forEach(item => closeDialog(item));\n    dialog.showModal();\n    if (updateUrl) {\n      const url = new URL(window.location.href);\n      url.searchParams.set('piece', code);\n      url.hash = 'the-drop';\n      history.replaceState(null, '', url);\n    }\n    return true;\n  }\n\n  function setup(root = document) {\n    root.querySelectorAll('[data-preference-fields]').forEach(element => { element.hidden = false; });\n    root.querySelectorAll('.early-form').forEach(form => {\n      updateTags(form);\n      if (form.dataset.ptReady) return;\n      form.dataset.ptReady = 'true';\n      form.addEventListener('change', () => updateTags(form));\n      // Native POST to Shopify: no localStorage or simulated success state.\n      form.addEventListener('submit', () => updateTags(form));\n    });\n    root.querySelectorAll('[data-piece-dialog]').forEach(dialog => {\n      if (dialog.dataset.ptReady) return;\n      dialog.dataset.ptReady = 'true';\n      dialog.addEventListener('click', event => { if (event.target === dialog) closeDialog(dialog); });\n    });\n    root.querySelectorAll('[data-variant-select]').forEach(select => {\n      if (select.dataset.ptReady) return;\n      select.dataset.ptReady = 'true';\n      select.addEventListener('change', () => {\n        const option = select.selectedOptions[0];\n        const summary = select.closest('.product-summary');\n        const price = summary?.querySelector('[data-variant-price]');\n        const button = select.form?.querySelector('[data-add-to-cart]');\n        if (price && option?.dataset.price) price.textContent = option.dataset.price;\n        if (button) {\n          button.disabled = !option || option.disabled;\n          button.textContent = button.disabled ? 'Sold out' : 'Add to bag';\n        }\n      });\n    });\n  }\n\n  document.addEventListener('click', event => {\n    if (!(event.target instanceof Element)) return;\n    const preview = event.target.closest('[data-open-piece]');\n    if (preview && !event.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey && event.button === 0) {\n      if (openPiece(preview.dataset.openPiece, preview)) event.preventDefault();\n    }\n    const close = event.target.closest('[data-close-dialog]');\n    if (close) closeDialog(close.closest('dialog'));\n    const waitlist = event.target.closest('[data-waitlist-piece]');\n    if (waitlist) {\n      selectPiece(waitlist.dataset.waitlistPiece);\n      getDialogs().forEach(dialog => closeDialog(dialog));\n      const url = new URL(window.location.href);\n      url.searchParams.set('piece', waitlist.dataset.waitlistPiece);\n      url.hash = 'early-access';\n      history.replaceState(null, '', url);\n      document.querySelector('#early-access')?.scrollIntoView({ behavior: matchMedia('(prefers-reduced-motion: reduce)').matches ? 'instant' : 'smooth' });\n      document.querySelector('.early-form input[type=email]')?.focus({ preventScroll: true });\n    }\n    if (event.target.closest('.mobile-nav nav a')) document.querySelector('.mobile-nav')?.removeAttribute('open');\n  });\n\n  document.addEventListener('keydown', event => {\n    if (event.key === 'Escape') document.querySelector('.mobile-nav')?.removeAttribute('open');\n  });\n  document.addEventListener('shopify:section:load', event => setup(event.target));\n  setup();\n  const code = new URL(window.location.href).searchParams.get('piece');\n  if (code) {\n    selectPiece(code);\n    if (window.location.hash !== '#early-access') openPiece(code, null, false);\n  }\n  document.querySelector('[data-form-result]')?.focus({ preventScroll: false });\n})();\n"],
  "mappings": "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",
  "names": ["code"]
}
