{
  "version": 3,
  "sources": ["/cdn/shop/t/13/assets/cart-net-bridge.js?cb=1"],
  "sourcesContent": ["// File: assets/cart-net-bridge.js\r\n// Purpose: Totally different approach with ZERO template/markup changes.\r\n//          Intercepts fetch/XHR calls to /cart/change.js or /cart/update.js on the\r\n//          *cart page only*. When any such call finishes (success or error), we\r\n//          force a single page reload so line items + totals are in sync and any\r\n//          theme spinner resets. This keeps ALL your existing HTML/CSS/JS.\r\n\r\n(() => {\r\n  const CART_API_RE = /\\/cart\\/(?:change|update)\\.js(?:[?#]|$)/i;\r\n  const IS_CART = location.pathname.replace(/\\/+$/, '') === '/cart';\r\n  if (!IS_CART) return; // only on the cart page\r\n\r\n  let reloaded = false;\r\n  const reloadOnce = () => {\r\n    if (reloaded) return;\r\n    reloaded = true;\r\n    try { sessionStorage.setItem('cart-net-bridge-reload', String(Date.now())); } catch {}\r\n    // Clear common loading states immediately so UI doesn't look stuck while navigating\r\n    document.querySelectorAll('.btn--loading, .is-loading, .loading, [aria-busy=\"true\"]').forEach((el) => {\r\n      el.classList.remove('btn--loading', 'is-loading', 'loading');\r\n      el.removeAttribute('aria-busy');\r\n      try { el.disabled = false; } catch {}\r\n    });\r\n    // Small delay lets any theme promises resolve without racing the navigation\r\n    setTimeout(() => { window.location.reload(); }, 50);\r\n  };\r\n\r\n  // Clear the guard on real page show (bfcache etc.)\r\n  window.addEventListener('pageshow', () => { reloaded = false; }, { passive: true });\r\n\r\n  // ---- fetch() bridge -----------------------------------------------------\r\n  if (typeof window.fetch === 'function') {\r\n    const _fetch = window.fetch.bind(window);\r\n    window.fetch = function(input, init) {\r\n      const url = typeof input === 'string' ? input : (input && input.url) || '';\r\n      const shouldWatch = CART_API_RE.test(url);\r\n      const p = _fetch(input, init);\r\n      if (!shouldWatch) return p;\r\n      return p.then((res) => { reloadOnce(); return res; })\r\n              .catch((err) => { reloadOnce(); throw err; });\r\n    };\r\n  }\r\n\r\n  // ---- XMLHttpRequest bridge ---------------------------------------------\r\n  if (typeof window.XMLHttpRequest === 'function') {\r\n    const _open = XMLHttpRequest.prototype.open;\r\n    const _send = XMLHttpRequest.prototype.send;\r\n    XMLHttpRequest.prototype.open = function(method, url, async, user, password) {\r\n      this.__cart_net_bridge_watch = CART_API_RE.test(String(url));\r\n      return _open.apply(this, arguments);\r\n    };\r\n    XMLHttpRequest.prototype.send = function(body) {\r\n      if (this.__cart_net_bridge_watch) {\r\n        this.addEventListener('loadend', () => reloadOnce(), { once: true });\r\n        // also guard on error/abort just in case\r\n        this.addEventListener('error', () => reloadOnce(), { once: true });\r\n        this.addEventListener('abort', () => reloadOnce(), { once: true });\r\n      }\r\n      return _send.apply(this, arguments);\r\n    };\r\n  }\r\n})();\r\n"],
  "mappings": "CAOC,IAAM,CACL,MAAM,YAAc,2CAEpB,GAAI,EADY,SAAS,SAAS,QAAQ,OAAQ,EAAE,IAAM,SAC5C,OAEd,IAAI,SAAW,GACf,MAAM,WAAa,IAAM,CACvB,GAAI,UACJ,UAAW,GACX,GAAI,CAAE,eAAe,QAAQ,yBAA0B,OAAO,KAAK,IAAI,CAAC,CAAC,CAAG,MAAQ,CAAC,CAErF,SAAS,iBAAiB,0DAA0D,EAAE,QAAS,IAAO,CACpG,GAAG,UAAU,OAAO,eAAgB,aAAc,SAAS,EAC3D,GAAG,gBAAgB,WAAW,EAC9B,GAAI,CAAE,GAAG,SAAW,EAAO,MAAQ,CAAC,CACtC,CAAC,EAED,WAAW,IAAM,CAAE,OAAO,SAAS,OAAO,CAAG,EAAG,EAAE,EACpD,EAMA,GAHA,OAAO,iBAAiB,WAAY,IAAM,CAAE,SAAW,EAAO,EAAG,CAAE,QAAS,EAAK,CAAC,EAG9E,OAAO,OAAO,OAAU,WAAY,CACtC,MAAM,OAAS,OAAO,MAAM,KAAK,MAAM,EACvC,OAAO,MAAQ,SAAS,MAAO,KAAM,CACnC,MAAM,IAAM,OAAO,OAAU,SAAW,MAAS,OAAS,MAAM,KAAQ,GAClE,YAAc,YAAY,KAAK,GAAG,EAClC,EAAI,OAAO,MAAO,IAAI,EAC5B,OAAK,YACE,EAAE,KAAM,MAAU,WAAW,EAAU,IAAM,EAC3C,MAAO,KAAQ,CAAE,iBAAW,EAAS,GAAK,CAAC,EAF3B,CAG3B,CACF,CAGA,GAAI,OAAO,OAAO,gBAAmB,WAAY,CAC/C,MAAM,MAAQ,eAAe,UAAU,KACjC,MAAQ,eAAe,UAAU,KACvC,eAAe,UAAU,KAAO,SAAS,OAAQ,IAAK,MAAO,KAAM,SAAU,CAC3E,YAAK,wBAA0B,YAAY,KAAK,OAAO,GAAG,CAAC,EACpD,MAAM,MAAM,KAAM,SAAS,CACpC,EACA,eAAe,UAAU,KAAO,SAAS,KAAM,CAC7C,OAAI,KAAK,0BACP,KAAK,iBAAiB,UAAW,IAAM,WAAW,EAAG,CAAE,KAAM,EAAK,CAAC,EAEnE,KAAK,iBAAiB,QAAS,IAAM,WAAW,EAAG,CAAE,KAAM,EAAK,CAAC,EACjE,KAAK,iBAAiB,QAAS,IAAM,WAAW,EAAG,CAAE,KAAM,EAAK,CAAC,GAE5D,MAAM,MAAM,KAAM,SAAS,CACpC,CACF,CACF,GAAG",
  "names": []
}
