{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/tb-pages.js?x=1794560350383"],
  "sourcesContent": ["/* Toybox content pages: contact topic chips, copy link, track-order lookup. */\n(() => {\n  // Contact form: the chosen topic shows the matching extra field and message hint.\n  class TbContactForm extends HTMLElement {\n    connectedCallback() {\n      this.form = this.closest('form');\n      this.msg = this.querySelector('textarea');\n      this.addEventListener('change', (e) => {\n        if (e.target.name === 'contact[Topic]') this.sync();\n      });\n      this.sync();\n    }\n    sync() {\n      const on = this.querySelector('input[name=\"contact[Topic]\"]:checked');\n      if (!on || !this.form) return;\n      this.form.dataset.topic = on.value;\n      if (this.msg && on.dataset.hint) this.msg.placeholder = on.dataset.hint;\n      this.querySelectorAll('[data-topic-only] input').forEach((i) => {\n        i.disabled = i.closest('[data-topic-only]').dataset.topicOnly !== on.value;\n      });\n    }\n  }\n  if (!customElements.get('tb-contact-form')) customElements.define('tb-contact-form', TbContactForm);\n\n  // Copy the page link.\n  class TbCopyLink extends HTMLElement {\n    connectedCallback() {\n      const btn = this.querySelector('button');\n      if (!btn) return;\n      btn.addEventListener('click', async () => {\n        const label = btn.textContent;\n        try { await navigator.clipboard.writeText(this.dataset.url || location.href); btn.textContent = 'Link copied'; }\n        catch (e) { btn.textContent = 'Copy failed'; }\n        setTimeout(() => { btn.textContent = label; }, 2000);\n      });\n    }\n  }\n  if (!customElements.get('tb-copy-link')) customElements.define('tb-copy-link', TbCopyLink);\n\n  // Track your order: signed-in customers see their orders on the page.\n  // Guests are sent to the courier tracking page, or asked to sign in.\n  class TbTrack extends HTMLElement {\n    connectedCallback() {\n      this.form = this.querySelector('form');\n      this.msg = this.querySelector('[data-msg]');\n      if (this.form) this.form.addEventListener('submit', (e) => this.submit(e));\n    }\n    say(text, kind) {\n      if (!this.msg) return;\n      this.msg.hidden = false;\n      this.msg.dataset.kind = kind || 'info';\n      this.msg.innerHTML = text;\n    }\n    submit(e) {\n      e.preventDefault();\n      const order = (this.form.order.value || '').trim().replace(/^#/, '').toUpperCase();\n      const contact = (this.form.contact.value || '').trim();\n      if (!order || !contact) {\n        this.say('Please enter both your order number and the phone or email you ordered with.', 'error');\n        return;\n      }\n      const card = this.querySelector('[data-order=\"' + order.replace(/[^A-Z0-9-]/g, '') + '\"]');\n      if (card) {\n        card.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        this.say('Here\u2019s order #' + order + '.', 'info');\n        return;\n      }\n      const tpl = this.dataset.trackingUrl;\n      if (tpl) {\n        window.location.href = tpl.replace('{order}', encodeURIComponent(order)).replace('{contact}', encodeURIComponent(contact));\n        return;\n      }\n      this.say(this.dataset.guestText, 'info');\n    }\n  }\n  if (!customElements.get('tb-track')) customElements.define('tb-track', TbTrack);\n})();\n"],
  "mappings": "CACC,IAAM,CAEL,MAAM,sBAAsB,WAAY,CACtC,mBAAoB,CAClB,KAAK,KAAO,KAAK,QAAQ,MAAM,EAC/B,KAAK,IAAM,KAAK,cAAc,UAAU,EACxC,KAAK,iBAAiB,SAAW,GAAM,CACjC,EAAE,OAAO,OAAS,kBAAkB,KAAK,KAAK,CACpD,CAAC,EACD,KAAK,KAAK,CACZ,CACA,MAAO,CACL,MAAM,GAAK,KAAK,cAAc,sCAAsC,EAChE,CAAC,IAAM,CAAC,KAAK,OACjB,KAAK,KAAK,QAAQ,MAAQ,GAAG,MACzB,KAAK,KAAO,GAAG,QAAQ,OAAM,KAAK,IAAI,YAAc,GAAG,QAAQ,MACnE,KAAK,iBAAiB,yBAAyB,EAAE,QAAS,GAAM,CAC9D,EAAE,SAAW,EAAE,QAAQ,mBAAmB,EAAE,QAAQ,YAAc,GAAG,KACvE,CAAC,EACH,CACF,CACK,eAAe,IAAI,iBAAiB,GAAG,eAAe,OAAO,kBAAmB,aAAa,EAGlG,MAAM,mBAAmB,WAAY,CACnC,mBAAoB,CAClB,MAAM,IAAM,KAAK,cAAc,QAAQ,EAClC,KACL,IAAI,iBAAiB,QAAS,SAAY,CACxC,MAAM,MAAQ,IAAI,YAClB,GAAI,CAAE,MAAM,UAAU,UAAU,UAAU,KAAK,QAAQ,KAAO,SAAS,IAAI,EAAG,IAAI,YAAc,aAAe,MACrG,CAAE,IAAI,YAAc,aAAe,CAC7C,WAAW,IAAM,CAAE,IAAI,YAAc,KAAO,EAAG,GAAI,CACrD,CAAC,CACH,CACF,CACK,eAAe,IAAI,cAAc,GAAG,eAAe,OAAO,eAAgB,UAAU,EAIzF,MAAM,gBAAgB,WAAY,CAChC,mBAAoB,CAClB,KAAK,KAAO,KAAK,cAAc,MAAM,EACrC,KAAK,IAAM,KAAK,cAAc,YAAY,EACtC,KAAK,MAAM,KAAK,KAAK,iBAAiB,SAAW,GAAM,KAAK,OAAO,CAAC,CAAC,CAC3E,CACA,IAAI,KAAM,KAAM,CACT,KAAK,MACV,KAAK,IAAI,OAAS,GAClB,KAAK,IAAI,QAAQ,KAAO,MAAQ,OAChC,KAAK,IAAI,UAAY,KACvB,CACA,OAAO,EAAG,CACR,EAAE,eAAe,EACjB,MAAM,OAAS,KAAK,KAAK,MAAM,OAAS,IAAI,KAAK,EAAE,QAAQ,KAAM,EAAE,EAAE,YAAY,EAC3E,SAAW,KAAK,KAAK,QAAQ,OAAS,IAAI,KAAK,EACrD,GAAI,CAAC,OAAS,CAAC,QAAS,CACtB,KAAK,IAAI,+EAAgF,OAAO,EAChG,MACF,CACA,MAAM,KAAO,KAAK,cAAc,gBAAkB,MAAM,QAAQ,cAAe,EAAE,EAAI,IAAI,EACzF,GAAI,KAAM,CACR,KAAK,eAAe,CAAE,SAAU,SAAU,MAAO,OAAQ,CAAC,EAC1D,KAAK,IAAI,sBAAmB,MAAQ,IAAK,MAAM,EAC/C,MACF,CACA,MAAM,IAAM,KAAK,QAAQ,YACzB,GAAI,IAAK,CACP,OAAO,SAAS,KAAO,IAAI,QAAQ,UAAW,mBAAmB,KAAK,CAAC,EAAE,QAAQ,YAAa,mBAAmB,OAAO,CAAC,EACzH,MACF,CACA,KAAK,IAAI,KAAK,QAAQ,UAAW,MAAM,CACzC,CACF,CACK,eAAe,IAAI,UAAU,GAAG,eAAe,OAAO,WAAY,OAAO,CAChF,GAAG",
  "names": []
}
