{
  "version": 3,
  "sources": ["/cdn/shop/t/732/assets/product-form.js?enable_js_minification=1"],
  "sourcesContent": ["if (!customElements.get('product-form')) {\n  customElements.define('product-form', class ProductForm extends HTMLElement {\n    constructor() {\n      super();\n\n      this.form = this.querySelector('form');\n      this.form.querySelector('[name=id]').disabled = false;\n      this.form.addEventListener('submit', this.onSubmitHandler.bind(this));\n      this.cart = document.querySelector('cart-notification') || document.querySelector('cart-drawer');\n      this.submitButton = this.querySelector('[type=\"submit\"]');\n      if (document.querySelector('cart-drawer')) this.submitButton.setAttribute('aria-haspopup', 'dialog');\n    }\n\n    onSubmitHandler(evt) {\n      evt.preventDefault();\n      if (this.submitButton.getAttribute('aria-disabled') === 'true') return;\n\n      this.handleErrorMessage();\n\n      this.submitButton.setAttribute('aria-disabled', true);\n      this.submitButton.classList.add('loading');\n      this.querySelector('.loading-overlay__spinner').classList.remove('hidden');\n\n      const config = fetchConfig('javascript');\n      config.headers['X-Requested-With'] = 'XMLHttpRequest';\n      delete config.headers['Content-Type'];\n\n      const formData = new FormData(this.form);\n      if (this.cart) {\n        formData.append('sections', this.cart.getSectionsToRender().map((section) => section.id));\n        formData.append('sections_url', window.location.pathname);\n        this.cart.setActiveElement(document.activeElement);\n      }\n      config.body = formData;\n\n      fetch(`${routes.cart_add_url}`, config)\n        .then((response) => response.json())\n        .then((response) => {\n          if (response.status) {\n            this.handleErrorMessage(response.description);\n\n            const soldOutMessage = this.submitButton.querySelector('.sold-out-message');\n            if (!soldOutMessage) return;\n            this.submitButton.setAttribute('aria-disabled', true);\n            this.submitButton.querySelector('span').classList.add('hidden');\n            soldOutMessage.classList.remove('hidden');\n            this.error = true;\n            return;\n          } else if (!this.cart) {\n            window.location = window.routes.cart_url;\n            return;\n          }\n\n          this.error = false;\n          const quickAddModal = this.closest('quick-add-modal');\n          if (quickAddModal) {\n            document.body.addEventListener('modalClosed', () => {\n              setTimeout(() => { this.cart.renderContents(response) });\n            }, { once: true });\n            quickAddModal.hide(true);\n          } else {\n            this.cart.renderContents(response);\n          }\n        })\n        .catch((e) => {\n          console.error(e);\n        })\n        .finally(() => {\n          this.submitButton.classList.remove('loading');\n          if (this.cart && this.cart.classList.contains('is-empty')) this.cart.classList.remove('is-empty');\n          if (!this.error) this.submitButton.removeAttribute('aria-disabled');\n          this.querySelector('.loading-overlay__spinner').classList.add('hidden');\n        });\n    }\n\n    handleErrorMessage(errorMessage = false) {\n      this.errorMessageWrapper = this.errorMessageWrapper || this.querySelector('.product-form__error-message-wrapper');\n      if (!this.errorMessageWrapper) return;\n      this.errorMessage = this.errorMessage || this.errorMessageWrapper.querySelector('.product-form__error-message');\n\n      this.errorMessageWrapper.toggleAttribute('hidden', !errorMessage);\n\n      if (errorMessage) {\n        this.errorMessage.textContent = errorMessage;\n      }\n    }\n  });\n}\n"],
  "mappings": "AAAK,eAAe,IAAI,cAAc,GACpC,eAAe,OAAO,eAAgB,cAA0B,WAAY,CAC1E,aAAc,CACZ,MAAM,EAEN,KAAK,KAAO,KAAK,cAAc,MAAM,EACrC,KAAK,KAAK,cAAc,WAAW,EAAE,SAAW,GAChD,KAAK,KAAK,iBAAiB,SAAU,KAAK,gBAAgB,KAAK,IAAI,CAAC,EACpE,KAAK,KAAO,SAAS,cAAc,mBAAmB,GAAK,SAAS,cAAc,aAAa,EAC/F,KAAK,aAAe,KAAK,cAAc,iBAAiB,EACpD,SAAS,cAAc,aAAa,GAAG,KAAK,aAAa,aAAa,gBAAiB,QAAQ,CACrG,CAEA,gBAAgB,IAAK,CAEnB,GADA,IAAI,eAAe,EACf,KAAK,aAAa,aAAa,eAAe,IAAM,OAAQ,OAEhE,KAAK,mBAAmB,EAExB,KAAK,aAAa,aAAa,gBAAiB,EAAI,EACpD,KAAK,aAAa,UAAU,IAAI,SAAS,EACzC,KAAK,cAAc,2BAA2B,EAAE,UAAU,OAAO,QAAQ,EAEzE,MAAM,OAAS,YAAY,YAAY,EACvC,OAAO,QAAQ,kBAAkB,EAAI,iBACrC,OAAO,OAAO,QAAQ,cAAc,EAEpC,MAAM,SAAW,IAAI,SAAS,KAAK,IAAI,EACnC,KAAK,OACP,SAAS,OAAO,WAAY,KAAK,KAAK,oBAAoB,EAAE,IAAK,SAAY,QAAQ,EAAE,CAAC,EACxF,SAAS,OAAO,eAAgB,OAAO,SAAS,QAAQ,EACxD,KAAK,KAAK,iBAAiB,SAAS,aAAa,GAEnD,OAAO,KAAO,SAEd,MAAM,GAAG,OAAO,YAAY,GAAI,MAAM,EACnC,KAAM,UAAa,SAAS,KAAK,CAAC,EAClC,KAAM,UAAa,CAClB,GAAI,SAAS,OAAQ,CACnB,KAAK,mBAAmB,SAAS,WAAW,EAE5C,MAAM,eAAiB,KAAK,aAAa,cAAc,mBAAmB,EAC1E,GAAI,CAAC,eAAgB,OACrB,KAAK,aAAa,aAAa,gBAAiB,EAAI,EACpD,KAAK,aAAa,cAAc,MAAM,EAAE,UAAU,IAAI,QAAQ,EAC9D,eAAe,UAAU,OAAO,QAAQ,EACxC,KAAK,MAAQ,GACb,MACF,SAAW,CAAC,KAAK,KAAM,CACrB,OAAO,SAAW,OAAO,OAAO,SAChC,MACF,CAEA,KAAK,MAAQ,GACb,MAAM,cAAgB,KAAK,QAAQ,iBAAiB,EAChD,eACF,SAAS,KAAK,iBAAiB,cAAe,IAAM,CAClD,WAAW,IAAM,CAAE,KAAK,KAAK,eAAe,QAAQ,CAAE,CAAC,CACzD,EAAG,CAAE,KAAM,EAAK,CAAC,EACjB,cAAc,KAAK,EAAI,GAEvB,KAAK,KAAK,eAAe,QAAQ,CAErC,CAAC,EACA,MAAO,GAAM,CACZ,QAAQ,MAAM,CAAC,CACjB,CAAC,EACA,QAAQ,IAAM,CACb,KAAK,aAAa,UAAU,OAAO,SAAS,EACxC,KAAK,MAAQ,KAAK,KAAK,UAAU,SAAS,UAAU,GAAG,KAAK,KAAK,UAAU,OAAO,UAAU,EAC3F,KAAK,OAAO,KAAK,aAAa,gBAAgB,eAAe,EAClE,KAAK,cAAc,2BAA2B,EAAE,UAAU,IAAI,QAAQ,CACxE,CAAC,CACL,CAEA,mBAAmB,aAAe,GAAO,CACvC,KAAK,oBAAsB,KAAK,qBAAuB,KAAK,cAAc,sCAAsC,EAC3G,KAAK,sBACV,KAAK,aAAe,KAAK,cAAgB,KAAK,oBAAoB,cAAc,8BAA8B,EAE9G,KAAK,oBAAoB,gBAAgB,SAAU,CAAC,YAAY,EAE5D,eACF,KAAK,aAAa,YAAc,cAEpC,CACF,CAAC",
  "names": []
}
