{
  "version": 3,
  "sources": ["/cdn/shop/t/172/assets/variant-boxes-v2-7-7-7.js?fs_theme=20260730-34"],
  "sourcesContent": ["(() => {\n  const initialise = (form) => {\n    if (form.dataset.variantBoxesInitialised === 'true') return;\n\n    const groups = [...form.querySelectorAll('[data-variant-boxes]')];\n    if (!groups.length) return;\n    form.dataset.variantBoxesInitialised = 'true';\n\n    const selects = [...form.querySelectorAll('[data-product-option]')];\n    const variantsNode = form.querySelector('[data-variants-json]');\n    let variants = [];\n\n    try {\n      variants = JSON.parse(variantsNode?.textContent || '[]');\n    } catch (error) {\n      variants = [];\n    }\n\n    const render = () => {\n      groups.forEach((group) => {\n        const position = Number(group.dataset.optionPosition || 0);\n        const select = selects[position];\n        if (!select) return;\n\n        group.querySelectorAll('[data-variant-box]').forEach((button) => {\n          const value = button.dataset.optionValue;\n          const selected = select.value === value;\n          const availableForValue = variants.some((variant) =>\n            variant.options?.[position] === value && variant.available\n          );\n          const unavailable = !availableForValue;\n          const status = button.querySelector('[data-variant-box-status]');\n\n          button.classList.toggle('is-selected', selected);\n          button.classList.toggle('is-unavailable', unavailable);\n          button.disabled = unavailable;\n          button.setAttribute('aria-pressed', selected ? 'true' : 'false');\n          button.setAttribute('aria-disabled', unavailable ? 'true' : 'false');\n          if (status) status.textContent = unavailable ? 'Sold out' : '';\n        });\n      });\n    };\n\n    groups.forEach((group) => {\n      const position = Number(group.dataset.optionPosition || 0);\n      const select = selects[position];\n\n      group.addEventListener('click', (event) => {\n        const button = event.target.closest('[data-variant-box]');\n        if (!button || button.disabled || !select) return;\n        select.value = button.dataset.optionValue;\n        select.dispatchEvent(new Event('change', { bubbles: true }));\n        render();\n      });\n    });\n\n    selects.forEach((select) => select.addEventListener('change', render));\n    form.addEventListener('variant:change', render);\n    render();\n  };\n\n  const boot = () =>\n    document.querySelectorAll('[data-product-form]').forEach(initialise);\n\n  document.addEventListener('DOMContentLoaded', boot);\n  document.addEventListener('shopify:section:load', boot);\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,MAAM,WAAc,MAAS,CAC3B,GAAI,KAAK,QAAQ,0BAA4B,OAAQ,OAErD,MAAM,OAAS,CAAC,GAAG,KAAK,iBAAiB,sBAAsB,CAAC,EAChE,GAAI,CAAC,OAAO,OAAQ,OACpB,KAAK,QAAQ,wBAA0B,OAEvC,MAAM,QAAU,CAAC,GAAG,KAAK,iBAAiB,uBAAuB,CAAC,EAC5D,aAAe,KAAK,cAAc,sBAAsB,EAC9D,IAAI,SAAW,CAAC,EAEhB,GAAI,CACF,SAAW,KAAK,MAAM,cAAc,aAAe,IAAI,CACzD,MAAgB,CACd,SAAW,CAAC,CACd,CAEA,MAAM,OAAS,IAAM,CACnB,OAAO,QAAS,OAAU,CACxB,MAAM,SAAW,OAAO,MAAM,QAAQ,gBAAkB,CAAC,EACnD,OAAS,QAAQ,QAAQ,EAC1B,QAEL,MAAM,iBAAiB,oBAAoB,EAAE,QAAS,QAAW,CAC/D,MAAM,MAAQ,OAAO,QAAQ,YACvB,SAAW,OAAO,QAAU,MAI5B,YAAc,CAHM,SAAS,KAAM,SACvC,QAAQ,UAAU,QAAQ,IAAM,OAAS,QAAQ,SACnD,EAEM,OAAS,OAAO,cAAc,2BAA2B,EAE/D,OAAO,UAAU,OAAO,cAAe,QAAQ,EAC/C,OAAO,UAAU,OAAO,iBAAkB,WAAW,EACrD,OAAO,SAAW,YAClB,OAAO,aAAa,eAAgB,SAAW,OAAS,OAAO,EAC/D,OAAO,aAAa,gBAAiB,YAAc,OAAS,OAAO,EAC/D,SAAQ,OAAO,YAAc,YAAc,WAAa,GAC9D,CAAC,CACH,CAAC,CACH,EAEA,OAAO,QAAS,OAAU,CACxB,MAAM,SAAW,OAAO,MAAM,QAAQ,gBAAkB,CAAC,EACnD,OAAS,QAAQ,QAAQ,EAE/B,MAAM,iBAAiB,QAAU,OAAU,CACzC,MAAM,OAAS,MAAM,OAAO,QAAQ,oBAAoB,EACpD,CAAC,QAAU,OAAO,UAAY,CAAC,SACnC,OAAO,MAAQ,OAAO,QAAQ,YAC9B,OAAO,cAAc,IAAI,MAAM,SAAU,CAAE,QAAS,EAAK,CAAC,CAAC,EAC3D,OAAO,EACT,CAAC,CACH,CAAC,EAED,QAAQ,QAAS,QAAW,OAAO,iBAAiB,SAAU,MAAM,CAAC,EACrE,KAAK,iBAAiB,iBAAkB,MAAM,EAC9C,OAAO,CACT,EAEM,KAAO,IACX,SAAS,iBAAiB,qBAAqB,EAAE,QAAQ,UAAU,EAErE,SAAS,iBAAiB,mBAAoB,IAAI,EAClD,SAAS,iBAAiB,uBAAwB,IAAI,CACxD,GAAG",
  "names": []
}
