{
  "version": 3,
  "sources": ["/cdn/shop/t/4/assets/pickup-availability.js?mvary=mobile"],
  "sourcesContent": ["if (!customElements.get('pickup-availability')) {\n  customElements.define(\n    'pickup-availability',\n    class PickupAvailability extends HTMLElement {\n      constructor() {\n        super();\n\n        if (!this.hasAttribute('available')) return;\n\n        this.errorHtml = this.querySelector('template').content.firstElementChild.cloneNode(true);\n        this.onClickRefreshList = this.onClickRefreshList.bind(this);\n        this.fetchAvailability(this.dataset.variantId);\n      }\n\n      fetchAvailability(variantId) {\n        let rootUrl = this.dataset.rootUrl;\n        if (!rootUrl.endsWith('/')) {\n          rootUrl = rootUrl + '/';\n        }\n        const variantSectionUrl = `${rootUrl}variants/${variantId}/?section_id=pickup-availability`;\n\n        fetch(variantSectionUrl)\n          .then((response) => response.text())\n          .then((text) => {\n            const sectionInnerHTML = new DOMParser()\n              .parseFromString(text, 'text/html')\n              .querySelector('.shopify-section');\n            this.renderPreview(sectionInnerHTML);\n          })\n          .catch((e) => {\n            const button = this.querySelector('button');\n            if (button) button.removeEventListener('click', this.onClickRefreshList);\n            this.renderError();\n          });\n      }\n\n      onClickRefreshList(evt) {\n        this.fetchAvailability(this.dataset.variantId);\n      }\n\n      update(variant) {\n        if (variant?.available) {\n          this.fetchAvailability(variant.id);\n        } else {\n          this.removeAttribute('available');\n          this.innerHTML = '';\n        }\n      }\n\n      renderError() {\n        this.innerHTML = '';\n        this.appendChild(this.errorHtml);\n\n        this.querySelector('button').addEventListener('click', this.onClickRefreshList);\n      }\n\n      renderPreview(sectionInnerHTML) {\n        const drawer = document.querySelector('pickup-availability-drawer');\n        if (drawer) drawer.remove();\n        if (!sectionInnerHTML.querySelector('pickup-availability-preview')) {\n          this.innerHTML = '';\n          this.removeAttribute('available');\n          return;\n        }\n\n        this.innerHTML = sectionInnerHTML.querySelector('pickup-availability-preview').outerHTML;\n        this.setAttribute('available', '');\n\n        document.body.appendChild(sectionInnerHTML.querySelector('pickup-availability-drawer'));\n      }\n    }\n  );\n}\n\nif (!customElements.get('pickup-availability-drawer')) {\n  customElements.define(\n    'pickup-availability-drawer',\n    class PickupAvailabilityDrawer extends BasicModal {\n      constructor() {\n        super();\n      }\n    }\n  );\n}\n"],
  "mappings": "AAAK,eAAe,IAAI,qBAAqB,GAC3C,eAAe,OACb,sBACA,cAAiC,WAAY,CAC3C,aAAc,CACZ,MAAM,EAED,KAAK,aAAa,WAAW,IAElC,KAAK,UAAY,KAAK,cAAc,UAAU,EAAE,QAAQ,kBAAkB,UAAU,EAAI,EACxF,KAAK,mBAAqB,KAAK,mBAAmB,KAAK,IAAI,EAC3D,KAAK,kBAAkB,KAAK,QAAQ,SAAS,EAC/C,CAEA,kBAAkB,UAAW,CAC3B,IAAI,QAAU,KAAK,QAAQ,QACtB,QAAQ,SAAS,GAAG,IACvB,QAAU,QAAU,KAEtB,MAAM,kBAAoB,GAAG,OAAO,YAAY,SAAS,mCAEzD,MAAM,iBAAiB,EACpB,KAAM,UAAa,SAAS,KAAK,CAAC,EAClC,KAAM,MAAS,CACd,MAAM,iBAAmB,IAAI,UAAU,EACpC,gBAAgB,KAAM,WAAW,EACjC,cAAc,kBAAkB,EACnC,KAAK,cAAc,gBAAgB,CACrC,CAAC,EACA,MAAO,GAAM,CACZ,MAAM,OAAS,KAAK,cAAc,QAAQ,EACtC,QAAQ,OAAO,oBAAoB,QAAS,KAAK,kBAAkB,EACvE,KAAK,YAAY,CACnB,CAAC,CACL,CAEA,mBAAmB,IAAK,CACtB,KAAK,kBAAkB,KAAK,QAAQ,SAAS,CAC/C,CAEA,OAAO,QAAS,CACV,SAAS,UACX,KAAK,kBAAkB,QAAQ,EAAE,GAEjC,KAAK,gBAAgB,WAAW,EAChC,KAAK,UAAY,GAErB,CAEA,aAAc,CACZ,KAAK,UAAY,GACjB,KAAK,YAAY,KAAK,SAAS,EAE/B,KAAK,cAAc,QAAQ,EAAE,iBAAiB,QAAS,KAAK,kBAAkB,CAChF,CAEA,cAAc,iBAAkB,CAC9B,MAAM,OAAS,SAAS,cAAc,4BAA4B,EAElE,GADI,QAAQ,OAAO,OAAO,EACtB,CAAC,iBAAiB,cAAc,6BAA6B,EAAG,CAClE,KAAK,UAAY,GACjB,KAAK,gBAAgB,WAAW,EAChC,MACF,CAEA,KAAK,UAAY,iBAAiB,cAAc,6BAA6B,EAAE,UAC/E,KAAK,aAAa,YAAa,EAAE,EAEjC,SAAS,KAAK,YAAY,iBAAiB,cAAc,4BAA4B,CAAC,CACxF,CACF,CACF,EAGG,eAAe,IAAI,4BAA4B,GAClD,eAAe,OACb,6BACA,cAAuC,UAAW,CAChD,aAAc,CACZ,MAAM,CACR,CACF,CACF",
  "names": []
}
