{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/tb-m-drop.js?x=1794560345078"],
  "sourcesContent": ["/* Phone Upcoming drop (sections/tb-m-drop): share, \"Remind me\" (adds the drop to the phone's calendar,\n   hidden once the drop is live), and the pre-book sheet, which puts the \u20B999 deposit in the cart with the piece's\n   name and expected price, then offers checkout. The brand name comes from window.TB_BRAND (snippets/tb-brand.liquid). */\n(function () {\n  var root = document.querySelector('[data-vdp]');\n  if (!root) return;\n  var BRAND = window.TB_BRAND || 'Toybox';\n  var SLUG = BRAND.toLowerCase().replace(/[^a-z0-9]+/g, '-') || 'store';\n  var toastEl = root.querySelector('[data-toast]'), toastT = 0;\n  var toast = function (t) { if (!toastEl) return; toastEl.textContent = t; toastEl.hidden = false; clearTimeout(toastT); toastT = setTimeout(function () { toastEl.hidden = true; }, 1500); };\n\n  /* Share */\n  var share = root.querySelector('[data-share]');\n  share && share.addEventListener('click', function () {\n    var data = { title: document.title, url: location.href };\n    if (navigator.share) { navigator.share(data).catch(function () {}); return; }\n    (navigator.clipboard ? navigator.clipboard.writeText(location.href) : Promise.reject()).then(function () { toast('Link copied. Share it with a fellow collector'); }, function () { toast(location.href); });\n  });\n\n  /* Remind me */\n  var btn = root.querySelector('[data-remind]'), when = new Date(root.dataset.drop);\n  if (btn && !isNaN(when) && when > new Date()) {\n    var key = 'tb-remind-' + root.dataset.drop, label = btn.querySelector('[data-remind-label]');\n    var set = function (on, ring) {\n      btn.setAttribute('aria-pressed', on ? 'true' : 'false'); btn.classList.toggle('is-on', on); label.textContent = on ? 'Reminder set' : 'Remind me';\n      if (ring) { btn.classList.remove('is-ring'); void btn.offsetWidth; btn.classList.add('is-ring'); }\n    };\n    try { if (localStorage.getItem(key)) set(true); } catch (e) {}\n    btn.hidden = false;\n    btn.addEventListener('click', function () {\n      var z = function (d) { return d.toISOString().replace(/[-:]/g, '').replace(/\\.\\d+/, ''); };\n      var ics = ['BEGIN:VCALENDAR', 'VERSION:2.0', 'PRODID:-//' + BRAND + '//Vault drop//EN', 'BEGIN:VEVENT', 'UID:' + key.replace(/[^\\w-]/g, '') + '@' + SLUG, 'DTSTAMP:' + z(new Date()), 'DTSTART:' + z(when), 'DURATION:PT1H',\n        'SUMMARY:' + BRAND + ' vault drop: ' + (root.dataset.dropTitle || '').replace(/[,;]/g, ' '), 'URL:' + location.href, 'DESCRIPTION:' + location.href,\n        'BEGIN:VALARM', 'TRIGGER:-PT30M', 'ACTION:DISPLAY', 'DESCRIPTION:The ' + BRAND + ' drop starts in 30 minutes', 'END:VALARM', 'END:VEVENT', 'END:VCALENDAR'].join('\\r\\n');\n      var a = document.createElement('a');\n      a.href = URL.createObjectURL(new Blob([ics], { type: 'text/calendar' }));\n      a.download = SLUG + '-drop.ics';\n      document.body.appendChild(a); a.click(); a.remove();\n      setTimeout(function () { URL.revokeObjectURL(a.href); }, 4000);\n      try { localStorage.setItem(key, '1'); } catch (e) {}\n      set(true, true);\n    });\n  }\n\n  /* Pre-book sheet */\n  var sheet = root.querySelector('[data-sheet]');\n  if (!sheet) return;\n  var cur = null;\n  var $ = function (s) { return sheet.querySelector(s); };\n  var step = function (n) { $('[data-step=\"1\"]').hidden = n !== 1; $('[data-step=\"2\"]').hidden = n !== 2; $('[data-eyebrow]').textContent = n === 1 ? 'Pre-book' : 'Almost held'; };\n  var close = function () { if (sheet.open) sheet.close(); };\n  root.addEventListener('click', function (e) {\n    var b = e.target.closest('[data-book]');\n    if (!b) return;\n    cur = b;\n    $('[data-sel]').textContent = b.dataset.piece;\n    $('[data-expected]').textContent = b.dataset.expected;\n    $('[data-balance]').textContent = b.dataset.balance;\n    $('[data-err]').hidden = true;\n    step(1);\n    if (sheet.showModal) sheet.showModal(); else sheet.setAttribute('open', '');\n  });\n  $('[data-close]').addEventListener('click', close);\n  sheet.addEventListener('click', function (e) { if (e.target === sheet) close(); });\n  $('[data-another]').addEventListener('click', function () { close(); var g = root.querySelector('#prebook'); g && g.scrollIntoView({ behavior: 'smooth', block: 'start' }); });\n  var pay = $('[data-pay]');\n  pay.addEventListener('click', function () {\n    if (!cur || !root.dataset.deposit) return;\n    pay.disabled = true; pay.classList.add('is-loading');\n    var props = { 'Pre-booked piece': cur.dataset.piece };\n    if (cur.dataset.expected) props['Expected price'] = cur.dataset.expected;\n    fetch('/cart/add.js', { method: 'POST', credentials: 'same-origin', headers: { 'Content-Type': 'application/json', Accept: 'application/json' }, body: JSON.stringify({ items: [{ id: Number(root.dataset.deposit), quantity: 1, properties: props }] }) })\n      .then(function (r) { return r.json().then(function (j) { if (!r.ok) throw new Error(j.description || j.message || 'Could not pre-book'); return j; }); })\n      .then(function () {\n        step(2);\n        cur.textContent = 'In your cart'; cur.classList.add('is-done');\n        return fetch('/cart.js', { credentials: 'same-origin' }).then(function (r) { return r.json(); }).then(function (cart) {\n          document.querySelectorAll('[data-tb-mnav-count]').forEach(function (el) { el.textContent = cart.item_count; el.hidden = !cart.item_count; });\n          document.dispatchEvent(new CustomEvent('cart:update', { bubbles: true, detail: { resource: cart, data: { source: 'prebook' } } }));\n        });\n      })\n      .catch(function (err) { var el = $('[data-err]'); el.textContent = err.message || 'Something went wrong. Please try again.'; el.hidden = false; })\n      .finally(function () { pay.disabled = false; pay.classList.remove('is-loading'); });\n  });\n})();"],
  "mappings": "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",
  "names": []
}
