{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/product-form.js?aifufand_v=20260628_atc"],
  "sourcesContent": ["customElements.get(\"product-form\") ||\n  customElements.define(\n    \"product-form\",\n    class extends HTMLElement {\n      constructor() {\n        (super(),\n          (this.originalButtonText = \"\"),\n          (this.persistentTextActive = !1),\n          (this.boundSubmitHandler = this.onSubmitHandler.bind(this)),\n          (this.boundVariantChangeHandler = this.handleVariantChange.bind(this)));\n      }\n      connectedCallback() {\n        this.connectTimer && clearTimeout(this.connectTimer);\n        this.connectTimer = setTimeout(() => {\n          this.connectTimer = null;\n          if (!this.isConnected) return;\n          if (((this.form = this.querySelector(\"form\")), !this.form)) return;\n          const t = this.variantIdInput;\n          if (\n            (t && (t.disabled = !1),\n            this.form.addEventListener(\"submit\", this.boundSubmitHandler),\n            (this.cart = document.querySelector(\"cart-notification\") || document.querySelector(\"cart-drawer\")),\n            (this.submitButton = this.querySelector('[type=\"submit\"]')),\n            this.submitButton)\n          ) {\n            if (\n              ((this.submitButtonText = this.submitButton.querySelector(\".button-text\")),\n              this.submitButtonText &&\n                ((this.originalButtonText = this.submitButtonText.textContent),\n                (this.submitButton.dataset.originalText = this.originalButtonText)),\n              \"true\" === this.submitButton.dataset.textOverride && this.submitButtonText)\n            ) {\n              // Use persistent text when text override is active\n              this.persistentTextActive = !0;\n              const showPrice = \"true\" === this.submitButton.dataset.showPrice;\n              const t = this.submitButton.dataset.persistentText;\n              if (t) {\n                if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\n                  this.submitButtonText.textContent = t;\n                }\n                localStorage.setItem(\"addToCartButtonText\", t);\n              } else {\n                const t = localStorage.getItem(\"addToCartButtonText\");\n                if (t) {\n                  if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\n                    this.submitButtonText.textContent = t;\n                  }\n                  this.submitButton.dataset.persistentText = t;\n                }\n              }\n            }\n            else if (this.submitButton.classList.contains(\"has-persistent-text\") && this.submitButtonText) {\n              this.persistentTextActive = !0;\n              const showPrice = \"true\" === this.submitButton.dataset.showPrice;\n              const t = this.submitButton.dataset.persistentText;\n              if (t) {\n                if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\n                  this.submitButtonText.textContent = t;\n                }\n                localStorage.setItem(\"addToCartButtonText\", t);\n              } else {\n                const t = localStorage.getItem(\"addToCartButtonText\");\n                if (t) {\n                  if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\n                    this.submitButtonText.textContent = t;\n                  }\n                  this.submitButton.dataset.persistentText = t;\n                }\n              }\n            }\n            ((this.persistentTextActive || \"true\" === this.submitButton.dataset.textOverride) &&\n              this.submitButtonText &&\n              this.setupButtonTextObserver(),\n              document.querySelector(\"cart-drawer\") && this.submitButton.setAttribute(\"aria-haspopup\", \"dialog\"),\n              (this.hideErrors = \"true\" === this.dataset.hideErrors),\n              document.addEventListener(\"variant:change\", this.boundVariantChangeHandler));\n          }\n        }, 100);\n      }\n      setupButtonTextObserver() {\n        if (!this.submitButtonText) return;\n        const t = { characterData: !0, childList: !0, subtree: !0 };\n        if (this.persistentTextActive) {\n          const e = this.submitButton.dataset.persistentText || localStorage.getItem(\"addToCartButtonText\");\n          if (!e) return;\n          const showPrice = \"true\" === this.submitButton.dataset.showPrice;\n          ((this.buttonTextObserver = new MutationObserver((t) => {\n            const currentText = this.submitButtonText.textContent.trim();\n            const persistentText = e.trim();\n            if (showPrice) {\n              if (!currentText.startsWith(persistentText)) {\n                this.submitButtonText.textContent = e;\n              }\n            } else {\n              if (currentText !== persistentText) {\n                this.submitButtonText.textContent = e;\n              }\n            }\n          })),\n            this.buttonTextObserver.observe(this.submitButtonText, t));\n        }\n      }\n      handleVariantChange(t) {\n        this.submitButtonText &&\n          setTimeout(() => {\n            if (this.persistentTextActive) {\n              const showPrice = \"true\" === this.submitButton.dataset.showPrice;\n              if (!showPrice) {\n                const t = this.submitButton.dataset.persistentText || localStorage.getItem(\"addToCartButtonText\");\n                t && (this.submitButtonText.textContent = t);\n              }\n            }\n          }, 50);\n      }\n      onSubmitHandler(t) {\n        t.preventDefault();\n        if (\"true\" === this.submitButton.getAttribute(\"aria-disabled\")) return;\n        this.submitCartForm(t);\n      }\n      submitCartForm(t) {\n        if (\"true\" === this.submitButton.getAttribute(\"aria-disabled\")) return;\n        this.error = false;\n        (this.handleErrorMessage(),\n          this.submitButton.setAttribute(\"aria-disabled\", !0),\n          this.submitButton.classList.add(\"loading\"),\n          this.querySelector(\".loading__spinner\").classList.remove(\"hidden\"));\n\n        const e = fetchConfig(\"javascript\");\n        ((e.headers[\"X-Requested-With\"] = \"XMLHttpRequest\"), delete e.headers[\"Content-Type\"]);\n      \n        const s = new FormData(this.form);\n        let added = false;\n        let rejected = false;\n        if (this.cart) {\n          s.append(\"sections\", this.cart.getSectionsToRender().map((section) => section.id));\n          s.append(\"sections_url\", window.location.pathname);\n          this.cart.setActiveElement(document.activeElement);\n        }\n        e.body = s;\n        // FormData preserves both standard product fields and any items[] bundle fields.\n        fetch(`${routes.cart_add_url}`, e)\n          .then((response) => {\n            rejected = response.status >= 400 && response.status < 500;\n            return this.parseCartAddResponse(response);\n          })\n          .then((responseData) => {\n            if (responseData.status && !rejected) throw new Error(\"Unconfirmed cart add response\");\n            added = !responseData.status && Boolean(responseData.id || responseData.items?.length);\n            if (!added && !responseData.status) throw new Error(\"Incomplete cart add response\");\n            return this.handleCartResponse(s, t, responseData);\n          })\n          .catch((error) => {\n            if (added) {\n              window.location.assign(window.routes.cart_url);\n              return;\n            }\n            this.error = true;\n            this.submitButton.removeAttribute(\"aria-disabled\");\n            this.handleErrorMessage(rejected\n              ? error.message || window.cartStrings?.error\n              : (window.olvaxinStrings?.cartUnconfirmed || \"We couldn't confirm the cart update. Check your cart before adding this item again.\"));\n            if (!rejected && this.errorMessage) {\n              const link = document.createElement(\"a\");\n              link.href = window.routes.cart_url;\n              link.textContent = (window.olvaxinStrings?.viewCart || \"View cart\");\n              this.errorMessage.append(\" \", link);\n            }\n          })\n          .finally(this.handleSubmitFinally.bind(this, t));\n      }\n      parseCartAddResponse(response) {\n        return response.text().then((text) => {\n          let data = {};\n          try {\n            data = text ? JSON.parse(text) : {};\n          } catch (error) {\n            throw new Error(`Invalid cart add response: ${error.message}`);\n          }\n          if (!response.ok && !data.status) {\n            data.status = response.status;\n            data.description = data.description || data.message || window.cartStrings?.error || \"There was an error adding this item to your cart.\";\n          }\n          return data;\n        });\n      }\n\n      getTrackedLineItem(responseData) {\n        if (!responseData) return null;\n        if (Array.isArray(responseData.items)) {\n          return responseData.items.find((item) => Number(item.final_price ?? item.price ?? 0) > 0) || responseData.items[0] || null;\n        }\n        return responseData;\n      }\n      getTrackedLineValue(lineItem) {\n        const presentmentPrice = Number(lineItem?.presentment_price);\n        if (Number.isFinite(presentmentPrice) && presentmentPrice > 0) return presentmentPrice;\n\n        const cents = Number(lineItem?.final_price ?? lineItem?.discounted_price ?? lineItem?.price ?? 0);\n        return Number.isFinite(cents) ? cents / 100 : 0;\n      }\n      getTikTokPixelId() {\n        return window.aifufandTikTokPixelId || \"D92D073C77U8UFHDD500\";\n      }\n      ensureTikTokBrowserPixel(pixelId) {\n        if (!pixelId) return null;\n        if (typeof window.ttq?.track === \"function\") {\n          if (typeof window.ttq.load === \"function\" && !window.ttq._i?.[pixelId]) window.ttq.load(pixelId);\n          return window.ttq;\n        }\n\n        const objectName = \"ttq\";\n        const ttq = (window[objectName] = window[objectName] || []);\n        window.TiktokAnalyticsObject = objectName;\n        ttq.methods = ttq.methods || [\n          \"page\",\n          \"track\",\n          \"identify\",\n          \"instances\",\n          \"debug\",\n          \"on\",\n          \"off\",\n          \"once\",\n          \"ready\",\n          \"alias\",\n          \"group\",\n          \"enableCookie\",\n          \"disableCookie\",\n          \"holdConsent\",\n          \"revokeConsent\",\n          \"grantConsent\",\n        ];\n        ttq.setAndDefer =\n          ttq.setAndDefer ||\n          ((target, method) => {\n            target[method] = function () {\n              target.push([method].concat(Array.prototype.slice.call(arguments, 0)));\n            };\n          });\n        for (let index = 0; index < ttq.methods.length; index += 1) {\n          if (!ttq[ttq.methods[index]]) ttq.setAndDefer(ttq, ttq.methods[index]);\n        }\n        ttq.load =\n          ttq.load ||\n          function (id, options) {\n            const scriptUrl = \"https://analytics.tiktok.com/i18n/pixel/events.js\";\n            ttq._i = ttq._i || {};\n            ttq._i[id] = ttq._i[id] || [];\n            ttq._i[id]._u = scriptUrl;\n            ttq._t = ttq._t || {};\n            ttq._t[id] = +new Date();\n            ttq._o = ttq._o || {};\n            ttq._o[id] = options || {};\n            if (document.querySelector(`script[src*=\"${id}\"][src*=\"analytics.tiktok.com/i18n/pixel/events.js\"]`)) return;\n            const script = document.createElement(\"script\");\n            script.type = \"text/javascript\";\n            script.async = true;\n            script.src = `${scriptUrl}?sdkid=${id}&lib=${objectName}`;\n            const firstScript = document.getElementsByTagName(\"script\")[0];\n            firstScript.parentNode.insertBefore(script, firstScript);\n          };\n        ttq.load(pixelId);\n        return ttq;\n      }\n      trackTikTokAddToCartEvent(formData, responseData) {\n        try {\n          const lineItem = this.getTrackedLineItem(responseData);\n          if (!lineItem) return;\n\n          const quantity = Number(lineItem.quantity || formData.get(\"quantity\") || 1);\n          const variantId = String(lineItem.variant_id || formData.get(\"id\") || lineItem.id || \"\");\n          const productId = String(lineItem.product_id || lineItem.product?.id || \"\");\n          const contentId = variantId || productId;\n          if (!contentId) return;\n\n          const productTitle = lineItem.product_title || lineItem.title || document.querySelector(\"h1\")?.textContent?.trim() || \"\";\n          const currencyCode = window.Shopify?.currency?.active || window.Shopify?.currency?.currentCurrency || \"USD\";\n          const itemPrice = this.getTrackedLineValue(lineItem);\n          const value = Number((itemPrice * (Number.isFinite(quantity) && quantity > 0 ? quantity : 1)).toFixed(2));\n          const eventKey = `${lineItem.key || variantId}:${quantity}:${value}`;\n          const now = Date.now();\n          if (this.aifufandLastTikTokAddToCart?.key === eventKey && now - this.aifufandLastTikTokAddToCart.time < 3000) return;\n          this.aifufandLastTikTokAddToCart = { key: eventKey, time: now };\n\n          const payload = {\n            content_id: contentId,\n            content_type: \"product\",\n            content_name: productTitle,\n            currency: currencyCode,\n            value,\n            quantity,\n            contents: [\n              {\n                content_id: contentId,\n                content_type: \"product\",\n                content_name: productTitle,\n                quantity,\n                price: itemPrice,\n              },\n            ],\n          };\n          const ttq = this.ensureTikTokBrowserPixel(this.getTikTokPixelId());\n          if (ttq && typeof ttq.track === \"function\") ttq.track(\"AddToCart\", payload);\n        } catch (error) {\n          window.aifufandDebug && window.aifufandDebug(\"TikTok AddToCart tracking failed:\", error);\n        }\n      }\n      handleCartResponse(formData, event, responseData) {\n        if (responseData.status) {\n          (publish(PUB_SUB_EVENTS.cartError, {\n            source: \"product-form\",\n            productVariantId: formData.get(\"id\"),\n            errors: responseData.errors || responseData.description,\n            message: responseData.message,\n          }),\n            this.handleErrorMessage(responseData.description));\n          const e = this.submitButton.querySelector(\".sold-out-message\");\n          if (!e) return;\n          return (\n            this.submitButton.setAttribute(\"aria-disabled\", !0),\n            this.submitButtonText.classList.add(\"hidden\"),\n            e.classList.remove(\"hidden\"),\n            void (this.error = !0)\n          );\n        }\n        this.trackTikTokAddToCartEvent(formData, responseData);\n        if (!this.cart) return void (window.location = window.routes.cart_url);\n        const e = CartPerformance.createStartingMarker(\"add:wait-for-subscribers\");\n        (this.error ||\n          publish(PUB_SUB_EVENTS.cartUpdate, {\n            source: \"product-form\",\n            productVariantId: formData.get(\"id\"),\n            cartData: responseData,\n          }).then(() => {\n            CartPerformance.measureFromMarker(\"add:wait-for-subscribers\", e);\n          }),\n          (this.error = !1));\n        const i = this.closest(\"quick-add-modal\");\n        i\n          ? (document.body.addEventListener(\n              \"modalClosed\",\n              () => {\n                setTimeout(() => {\n                  CartPerformance.measure(\"add:paint-updated-sections\", () => {\n                    this.cart.renderContents(responseData);\n                  });\n                });\n              },\n              { once: !0 },\n            ),\n            i.hide(!0))\n          : CartPerformance.measure(\"add:paint-updated-sections\", () => {\n              this.cart.renderContents(responseData);\n            });\n      }\n      handleSubmitFinally(event) {\n        if (\n          (this.submitButton.classList.remove(\"loading\"),\n          this.cart && this.cart.classList.contains(\"is-empty\") && this.cart.classList.remove(\"is-empty\"),\n          this.error || this.submitButton.removeAttribute(\"aria-disabled\"),\n          this.querySelector(\".loading__spinner\").classList.add(\"hidden\"),\n          this.error || \"true\" !== this.submitButton.dataset.textOverride)\n        ) {\n          if (!this.error && this.persistentTextActive) {\n            const showPrice = \"true\" === this.submitButton.dataset.showPrice;\n            const t = this.submitButton.dataset.persistentText || localStorage.getItem(\"addToCartButtonText\");\n            if (t && this.submitButtonText) {\n              if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\n                this.submitButtonText.textContent = t;\n              }\n            }\n          }\n        } else;\n        CartPerformance.measureFromEvent(\"add:user-action\", event);\n      }\n      handleErrorMessage(t = !1) {\n        this.hideErrors ||\n          ((this.errorMessageWrapper =\n            this.errorMessageWrapper || this.querySelector(\".product-form__error-message-wrapper\")),\n          this.errorMessageWrapper &&\n            ((this.errorMessage =\n              this.errorMessage || this.errorMessageWrapper.querySelector(\".product-form__error-message\")),\n            this.errorMessageWrapper.toggleAttribute(\"hidden\", !t),\n            t && (this.errorMessage.textContent = t)));\n      }\n      toggleSubmitButton(t = !0, e) {\n        if (t) (this.submitButton.setAttribute(\"disabled\", \"disabled\"), e && (this.submitButtonText.textContent = e));\n        else {\n          if ((this.submitButton.removeAttribute(\"disabled\"), \"true\" === this.submitButton.dataset.textOverride));\n          else if (this.persistentTextActive) {\n            const t = this.submitButton.dataset.persistentText || localStorage.getItem(\"addToCartButtonText\");\n            if (t) return void (this.submitButtonText.textContent = t);\n          }\n          this.originalButtonText\n            ? (this.submitButtonText.textContent = this.originalButtonText)\n            : this.submitButton.dataset.originalText\n              ? (this.submitButtonText.textContent = this.submitButton.dataset.originalText)\n              : (this.submitButtonText.textContent = window.variantStrings.addToCart);\n        }\n      }\n      disconnectedCallback() {\n        (this.connectTimer && clearTimeout(this.connectTimer),\n          (this.connectTimer = null),\n          this.buttonTextObserver && this.buttonTextObserver.disconnect(),\n          this.form && this.form.removeEventListener(\"submit\", this.boundSubmitHandler),\n          document.removeEventListener(\"variant:change\", this.boundVariantChangeHandler));\n      }\n      get variantIdInput() {\n        return this.form.querySelector(\"[name=id]\");\n      }\n    },\n  );\n"],
  "mappings": "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",
  "names": ["t", "e"]
}
