{
  "version": 3,
  "sources": ["/cdn/shop/t/15/assets/product-form.js"],
  "sourcesContent": ["customElements.get(\"product-form\") ||\r\n  customElements.define(\r\n    \"product-form\",\r\n    class extends HTMLElement {\r\n      constructor() {\r\n        (super(), (this.originalButtonText = \"\"), (this.persistentTextActive = !1));\r\n      }\r\n      connectedCallback() {\r\n        setTimeout(() => {\r\n          if (((this.form = this.querySelector(\"form\")), !this.form)) return;\r\n          const t = this.variantIdInput;\r\n          if (\r\n            (t && (t.disabled = !1),\r\n            this.form.addEventListener(\"submit\", this.onSubmitHandler.bind(this)),\r\n            (this.cart = document.querySelector(\"cart-notification\") || document.querySelector(\"cart-drawer\")),\r\n            (this.submitButton = this.querySelector('[type=\"submit\"]')),\r\n            this.submitButton)\r\n          ) {\r\n            if (\r\n              ((this.submitButtonText = this.submitButton.querySelector(\".button-text\")),\r\n              this.submitButtonText &&\r\n                ((this.originalButtonText = this.submitButtonText.textContent),\r\n                (this.submitButton.dataset.originalText = this.originalButtonText)),\r\n              \"true\" === this.submitButton.dataset.textOverride && this.submitButtonText)\r\n            ) {\r\n              // Use persistent text when text override is active\r\n              this.persistentTextActive = !0;\r\n              const showPrice = \"true\" === this.submitButton.dataset.showPrice;\r\n              const t = this.submitButton.dataset.persistentText;\r\n              if (t) {\r\n                if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\r\n                  this.submitButtonText.textContent = t;\r\n                }\r\n                localStorage.setItem(\"addToCartButtonText\", t);\r\n              } else {\r\n                const t = localStorage.getItem(\"addToCartButtonText\");\r\n                if (t) {\r\n                  if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\r\n                    this.submitButtonText.textContent = t;\r\n                  }\r\n                  this.submitButton.dataset.persistentText = t;\r\n                }\r\n              }\r\n            }\r\n            else if (this.submitButton.classList.contains(\"has-persistent-text\") && this.submitButtonText) {\r\n              this.persistentTextActive = !0;\r\n              const showPrice = \"true\" === this.submitButton.dataset.showPrice;\r\n              const t = this.submitButton.dataset.persistentText;\r\n              if (t) {\r\n                if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\r\n                  this.submitButtonText.textContent = t;\r\n                }\r\n                localStorage.setItem(\"addToCartButtonText\", t);\r\n              } else {\r\n                const t = localStorage.getItem(\"addToCartButtonText\");\r\n                if (t) {\r\n                  if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\r\n                    this.submitButtonText.textContent = t;\r\n                  }\r\n                  this.submitButton.dataset.persistentText = t;\r\n                }\r\n              }\r\n            }\r\n            ((this.persistentTextActive || \"true\" === this.submitButton.dataset.textOverride) &&\r\n              this.submitButtonText &&\r\n              this.setupButtonTextObserver(),\r\n              document.querySelector(\"cart-drawer\") && this.submitButton.setAttribute(\"aria-haspopup\", \"dialog\"),\r\n              (this.hideErrors = \"true\" === this.dataset.hideErrors),\r\n              document.addEventListener(\"variant:change\", this.handleVariantChange.bind(this)));\r\n          }\r\n        }, 100);\r\n      }\r\n      setupButtonTextObserver() {\r\n        if (!this.submitButtonText) return;\r\n        const t = { characterData: !0, childList: !0, subtree: !0 };\r\n        if (this.persistentTextActive) {\r\n          const e = this.submitButton.dataset.persistentText || localStorage.getItem(\"addToCartButtonText\");\r\n          if (!e) return;\r\n          const showPrice = \"true\" === this.submitButton.dataset.showPrice;\r\n          ((this.buttonTextObserver = new MutationObserver((t) => {\r\n            const currentText = this.submitButtonText.textContent.trim();\r\n            const persistentText = e.trim();\r\n            if (showPrice) {\r\n              if (!currentText.startsWith(persistentText)) {\r\n                this.submitButtonText.textContent = e;\r\n              }\r\n            } else {\r\n              if (currentText !== persistentText) {\r\n                this.submitButtonText.textContent = e;\r\n              }\r\n            }\r\n          })),\r\n            this.buttonTextObserver.observe(this.submitButtonText, t));\r\n        }\r\n      }\r\n      handleVariantChange(t) {\r\n        this.submitButtonText &&\r\n          setTimeout(() => {\r\n            if (this.persistentTextActive) {\r\n              const showPrice = \"true\" === this.submitButton.dataset.showPrice;\r\n              if (!showPrice) {\r\n                const t = this.submitButton.dataset.persistentText || localStorage.getItem(\"addToCartButtonText\");\r\n                t && (this.submitButtonText.textContent = t);\r\n              }\r\n            }\r\n          }, 50);\r\n      }\r\n      getSubscribeSaveSelection() {\r\n        const activeToggle = document.querySelector(\".subscribe-save-wrapper-dynamic .subscribe-toggle-dynamic:checked, .subscribe-save-wrapper input[type='checkbox']:checked\");\r\n        const wrapper =\r\n          activeToggle?.closest(\".subscribe-save-wrapper-dynamic, .subscribe-save-wrapper\") ||\r\n          document.querySelector(\".subscribe-save-wrapper-dynamic, .subscribe-save-wrapper\");\r\n        if (!wrapper) return null;\r\n\r\n        const toggle = wrapper.querySelector(\".subscribe-toggle-dynamic, input[type='checkbox']\");\r\n        const dropdown = wrapper.querySelector(\".subscribe-frequency-dropdown\");\r\n        const planId =\r\n          wrapper.dataset.sellingPlanId ||\r\n          toggle?.dataset?.planId ||\r\n          (dropdown && dropdown.value ? dropdown.value.trim() : \"\");\r\n\r\n        return planId ? { wrapper, toggle, dropdown, planId } : null;\r\n      }\r\n      isSubscribeSaveActive() {\r\n        const sellingPlanInput = this.form?.querySelector('input[name=\"selling_plan\"]');\r\n        if (sellingPlanInput?.value?.trim()) return true;\r\n        return Boolean(\r\n          document.querySelector(\".subscribe-save-wrapper-dynamic .subscribe-toggle-dynamic:checked, .subscribe-save-wrapper input[type='checkbox']:checked\"),\r\n        );\r\n      }\r\n      shouldShowSubscribeSavePrompt() {\r\n        if (!this.form || this.closest(\"quick-add-modal\")) return false;\r\n        if (this.isSubscribeSaveActive()) return false;\r\n        return Boolean(this.getSubscribeSaveSelection());\r\n      }\r\n      ensureSubscribeSavePromptStyles() {\r\n        if (document.getElementById(\"aifufand-subscribe-prompt-style\")) return;\r\n        const style = document.createElement(\"style\");\r\n        style.id = \"aifufand-subscribe-prompt-style\";\r\n        style.textContent = `\r\n          .aifufand-subscribe-prompt {\r\n            position: fixed;\r\n            inset: 0;\r\n            z-index: 2147483000;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            padding: 20px;\r\n            background: rgba(18, 24, 33, 0.58);\r\n          }\r\n          body.aifufand-subscribe-prompt-open {\r\n            overflow: hidden;\r\n          }\r\n          .aifufand-subscribe-prompt__dialog {\r\n            width: min(100%, 338px);\r\n            border-radius: 16px;\r\n            background: #ffffff;\r\n            color: #132235;\r\n            padding: 34px 24px 30px;\r\n            text-align: center;\r\n            box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);\r\n          }\r\n          .aifufand-subscribe-prompt__badge {\r\n            display: block;\r\n            width: 72px;\r\n            height: 72px;\r\n            margin: -4px auto 18px;\r\n            border-radius: 50%;\r\n            object-fit: contain;\r\n          }\r\n          .aifufand-subscribe-prompt__title {\r\n            margin: 0 0 14px;\r\n            color: #132235;\r\n            font-size: 24px;\r\n            font-weight: 800;\r\n            line-height: 1.12;\r\n            letter-spacing: 0;\r\n          }\r\n          .aifufand-subscribe-prompt__body {\r\n            margin: 0 0 26px;\r\n            color: #555d68;\r\n            font-size: 15px;\r\n            line-height: 1.45;\r\n            letter-spacing: 0;\r\n          }\r\n          .aifufand-subscribe-prompt__highlight {\r\n            color: #005bd3;\r\n            font-weight: 800;\r\n          }\r\n          .aifufand-subscribe-prompt__confirm {\r\n            width: 100%;\r\n            min-height: 52px;\r\n            border: 0;\r\n            border-radius: 8px;\r\n            background: #005bd3;\r\n            color: #ffffff;\r\n            font: inherit;\r\n            font-size: 16px;\r\n            font-weight: 800;\r\n            line-height: 1.2;\r\n            letter-spacing: 0;\r\n            cursor: pointer;\r\n            box-shadow: 0 7px 14px rgba(0, 91, 211, 0.25);\r\n          }\r\n          .aifufand-subscribe-prompt__confirm:hover {\r\n            background: #004fbd;\r\n          }\r\n          .aifufand-subscribe-prompt__decline {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin-top: 22px;\r\n            padding: 0;\r\n            border: 0;\r\n            background: transparent;\r\n            color: #858585;\r\n            font: inherit;\r\n            font-size: 14px;\r\n            font-weight: 700;\r\n            letter-spacing: 0;\r\n            cursor: pointer;\r\n          }\r\n          .aifufand-subscribe-prompt__decline:hover {\r\n            color: #555d68;\r\n          }\r\n          @media (max-width: 480px) {\r\n            .aifufand-subscribe-prompt {\r\n              padding: 18px;\r\n            }\r\n            .aifufand-subscribe-prompt__dialog {\r\n              width: min(100%, 336px);\r\n              padding: 32px 24px 28px;\r\n            }\r\n            .aifufand-subscribe-prompt__title {\r\n              font-size: 23px;\r\n            }\r\n          }\r\n        `;\r\n        document.head.appendChild(style);\r\n      }\r\n      getSubscribePromptIconUrl() {\r\n        const script =\r\n          document.currentScript ||\r\n          document.querySelector('script[src*=\"product-form.js\"]') ||\r\n          document.querySelector('script[src*=\"/assets/product-form\"]');\r\n        const sourceUrl = script?.src || \"\";\r\n        if (sourceUrl) {\r\n          return sourceUrl.replace(/product-form\\.js(\\?[^#]*)?(#.*)?$/, \"subscribe-save-prompt-icon.webp$1$2\");\r\n        }\r\n        return \"subscribe-save-prompt-icon.webp\";\r\n      }\r\n      setSubscribeSavePlan(planId) {\r\n        let sellingPlanInput = this.form.querySelector('input[name=\"selling_plan\"]');\r\n        if (!sellingPlanInput) {\r\n          sellingPlanInput = document.createElement(\"input\");\r\n          sellingPlanInput.type = \"hidden\";\r\n          sellingPlanInput.name = \"selling_plan\";\r\n          this.form.appendChild(sellingPlanInput);\r\n        }\r\n        sellingPlanInput.value = planId || \"\";\r\n        sellingPlanInput.setAttribute(\"value\", planId || \"\");\r\n      }\r\n      clearSubscribeSavePlan() {\r\n        const sellingPlanInput = this.form?.querySelector('input[name=\"selling_plan\"]');\r\n        if (!sellingPlanInput) return;\r\n        sellingPlanInput.value = \"\";\r\n        sellingPlanInput.setAttribute(\"value\", \"\");\r\n      }\r\n      activateSubscribeSaveFromPrompt() {\r\n        const selection = this.getSubscribeSaveSelection();\r\n        if (!selection) return false;\r\n\r\n        if (selection.dropdown && selection.dropdown.value !== selection.planId) {\r\n          selection.dropdown.value = selection.planId;\r\n        }\r\n        if (selection.toggle && !selection.toggle.checked) {\r\n          selection.toggle.checked = true;\r\n          selection.toggle.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n        } else if (selection.dropdown) {\r\n          selection.dropdown.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n        }\r\n        this.setSubscribeSavePlan(selection.planId);\r\n        return true;\r\n      }\r\n      closeSubscribeSavePrompt(prompt, previousActiveElement) {\r\n        if (!prompt) return;\r\n        document.removeEventListener(\"keydown\", prompt.aifufandKeyHandler);\r\n        prompt.remove();\r\n        document.body.classList.remove(\"aifufand-subscribe-prompt-open\");\r\n        if (previousActiveElement && typeof previousActiveElement.focus === \"function\") previousActiveElement.focus();\r\n      }\r\n      showSubscribeSavePrompt(event) {\r\n        if (document.querySelector(\".aifufand-subscribe-prompt\")) return;\r\n\r\n        this.ensureSubscribeSavePromptStyles();\r\n        const iconUrl = this.getSubscribePromptIconUrl();\r\n        const previousActiveElement = document.activeElement;\r\n        const prompt = document.createElement(\"div\");\r\n        prompt.className = \"aifufand-subscribe-prompt\";\r\n        prompt.setAttribute(\"role\", \"presentation\");\r\n        prompt.innerHTML = `\r\n          <div class=\"aifufand-subscribe-prompt__dialog\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"aifufand-subscribe-prompt-title\">\r\n            <img class=\"aifufand-subscribe-prompt__badge\" src=\"${iconUrl}\" alt=\"\" width=\"72\" height=\"72\" loading=\"eager\" aria-hidden=\"true\">\r\n            <h2 class=\"aifufand-subscribe-prompt__title\" id=\"aifufand-subscribe-prompt-title\">Wait! Don't lose your savings</h2>\r\n            <p class=\"aifufand-subscribe-prompt__body\">\r\n              Subscribe now to save <span class=\"aifufand-subscribe-prompt__highlight\">15%</span> on this order and keep refills easy.\r\n            </p>\r\n            <button type=\"button\" class=\"aifufand-subscribe-prompt__confirm\">Yes, Subscribe &amp; Save 15%</button>\r\n            <button type=\"button\" class=\"aifufand-subscribe-prompt__decline\">No thanks, add to cart</button>\r\n          </div>\r\n        `;\r\n\r\n        const continueWithCartAdd = () => {\r\n          this.closeSubscribeSavePrompt(prompt, previousActiveElement);\r\n          this.submitCartForm(event);\r\n        };\r\n\r\n        prompt.querySelector(\".aifufand-subscribe-prompt__confirm\")?.addEventListener(\"click\", () => {\r\n          this.activateSubscribeSaveFromPrompt();\r\n          window.setTimeout(continueWithCartAdd, 25);\r\n        });\r\n        prompt.querySelector(\".aifufand-subscribe-prompt__decline\")?.addEventListener(\"click\", () => {\r\n          this.clearSubscribeSavePlan();\r\n          continueWithCartAdd();\r\n        });\r\n        prompt.aifufandKeyHandler = (keyEvent) => {\r\n          if (keyEvent.key === \"Escape\") {\r\n            keyEvent.preventDefault();\r\n            this.closeSubscribeSavePrompt(prompt, previousActiveElement);\r\n          }\r\n        };\r\n        document.addEventListener(\"keydown\", prompt.aifufandKeyHandler);\r\n\r\n        document.body.appendChild(prompt);\r\n        document.body.classList.add(\"aifufand-subscribe-prompt-open\");\r\n        prompt.querySelector(\".aifufand-subscribe-prompt__confirm\")?.focus();\r\n      }\r\n      ensureSellingPlanValue() {\r\n        let planIdToUse = null;\r\n        try {\r\n          const sellingPlanInput = this.form.querySelector('input[name=\"selling_plan\"]');\r\n          if (sellingPlanInput) {\r\n            if (sellingPlanInput.value) {\r\n              planIdToUse = sellingPlanInput.value;\r\n            } else {\r\n              const subscribeToggle = document.querySelector('.subscribe-save-wrapper input[type=\"checkbox\"]:checked, .subscribe-save-wrapper-dynamic input[type=\"checkbox\"]:checked');\r\n              if (subscribeToggle) {\r\n                const wrapper = subscribeToggle.closest('.subscribe-save-wrapper, .subscribe-save-wrapper-dynamic');\r\n                if (wrapper) {\r\n                  const frequencyDropdown = wrapper.querySelector('.subscribe-frequency-dropdown');\r\n                  planIdToUse = wrapper.dataset.sellingPlanId || subscribeToggle.dataset.planId || (frequencyDropdown && frequencyDropdown.value ? frequencyDropdown.value.trim() : '');\r\n                }\r\n                \r\n                if (planIdToUse) {\r\n                  sellingPlanInput.value = planIdToUse;\r\n                  sellingPlanInput.setAttribute('value', planIdToUse);\r\n                }\r\n              }\r\n            }\r\n          }\r\n        } catch (error) {\r\n          console.warn('\u26A0\uFE0F product-form.js: Error setting selling_plan:', error);\r\n        }\r\n        return planIdToUse;\r\n      }\r\n      onSubmitHandler(t) {\r\n        t.preventDefault();\r\n        if (\"true\" === this.submitButton.getAttribute(\"aria-disabled\")) return;\r\n        if (this.shouldShowSubscribeSavePrompt()) {\r\n          this.showSubscribeSavePrompt(t);\r\n          return;\r\n        }\r\n        this.submitCartForm(t);\r\n      }\r\n      submitCartForm(t) {\r\n        if (\"true\" === this.submitButton.getAttribute(\"aria-disabled\")) return;\r\n\r\n        // Keep standard PDP, Sticky Add and Quick Add in the same cart-write\r\n        // lane as the drawer. This wraps transport only; the successful\r\n        // TikTok -> cartUpdate -> render sequence below is unchanged.\n        const cartMutation = window.AifufandCartMutation;\r\n        const mutation = cartMutation?.reserve({ type: \"product-add\" });\r\n        if (cartMutation && !mutation) {\r\n          this.handleErrorMessage(cartMutation.getBusyMessage());\r\n          return;\r\n        }\r\n\r\n        let responseStatus;\r\n        let retryAfter;\r\n        try {\r\n          const loadingSpinner = this.querySelector(\".loading__spinner\");\r\n          (this.handleErrorMessage(),\r\n            this.submitButton.setAttribute(\"aria-disabled\", !0),\r\n            this.submitButton.classList.add(\"loading\"),\r\n            loadingSpinner?.classList.remove(\"hidden\"));\r\n\r\n          const e = fetchConfig(\"javascript\");\r\n          ((e.headers[\"X-Requested-With\"] = \"XMLHttpRequest\"), delete e.headers[\"Content-Type\"]);\r\n\r\n          this.ensureSellingPlanValue();\r\n\r\n          const s = new FormData(this.form);\r\n          (this.cart &&\r\n            (s.append(\r\n              \"sections\",\r\n              this.cart.getSectionsToRender().map((t) => t.id),\r\n            ),\r\n            s.append(\"sections_url\", window.location.pathname),\r\n            this.cart.setActiveElement(document.activeElement)),\r\n            (e.body = s));\r\n\r\n          if (mutation && !cartMutation.start(mutation)) {\r\n            cartMutation.cancel(mutation);\r\n            throw new Error(\"Cart mutation could not start\");\r\n          }\r\n\r\n          fetch(`${routes.cart_add_url}`, e)\r\n            .then((response) => {\r\n              responseStatus = response.status;\r\n              retryAfter = response.headers.get(\"Retry-After\");\r\n              return this.parseCartAddResponse(response);\r\n            })\r\n            .then(this.handleCartResponse.bind(this, s, t))\r\n            .catch((error) => {\r\n              console.error(error);\r\n              this.error = true;\r\n              if (this.submitButton) this.submitButton.removeAttribute(\"aria-disabled\");\r\n              this.handleErrorMessage(error.message || window.cartStrings?.error || \"There was an error adding this item to your cart.\");\r\n            })\r\n            .finally(() => {\r\n              if (mutation) cartMutation.release(mutation, { status: responseStatus, retryAfter });\r\n              this.handleSubmitFinally(t);\r\n            });\r\n        } catch (error) {\r\n          if (mutation && cartMutation?.isCurrent(mutation)) {\r\n            if (cartMutation.isReserved(mutation)) cartMutation.cancel(mutation);\r\n            else cartMutation.release(mutation, { status: responseStatus, retryAfter });\r\n          }\r\n          this.error = true;\r\n          if (this.submitButton) this.submitButton.removeAttribute(\"aria-disabled\");\r\n          this.handleErrorMessage(error.message || window.cartStrings?.error || \"There was an error adding this item to your cart.\");\r\n          this.handleSubmitFinally(t);\r\n        }\r\n      }\r\n      parseCartAddResponse(response) {\r\n        return response.text().then((text) => {\r\n          let data = {};\r\n          try {\r\n            data = text ? JSON.parse(text) : {};\r\n          } catch (error) {\r\n            const cartError = new Error(\r\n              response.status === 429\r\n                ? \"Your cart is updating. Please wait a moment and try again.\"\r\n                : `Invalid cart add response: ${error.message}`,\r\n            );\r\n            cartError.status = response.status;\r\n            cartError.retryAfter = response.headers.get(\"Retry-After\");\r\n            throw cartError;\r\n          }\r\n          if (!response.ok && !data.status) {\r\n            data.status = response.status;\r\n            data.description = data.description || data.message || window.cartStrings?.error || \"There was an error adding this item to your cart.\";\r\n          }\r\n          return data;\r\n        });\r\n      }\r\n\r\n      getTrackedLineItem(responseData) {\r\n        if (!responseData) return null;\r\n        if (Array.isArray(responseData.items)) {\r\n          return responseData.items.find((item) => Number(item.final_price ?? item.price ?? 0) > 0) || responseData.items[0] || null;\r\n        }\r\n        return responseData;\r\n      }\r\n      getTrackedLineValue(lineItem) {\r\n        const presentmentPrice = Number(lineItem?.presentment_price);\r\n        if (Number.isFinite(presentmentPrice) && presentmentPrice > 0) return presentmentPrice;\r\n\r\n        const cents = Number(lineItem?.final_price ?? lineItem?.discounted_price ?? lineItem?.price ?? 0);\r\n        return Number.isFinite(cents) ? cents / 100 : 0;\r\n      }\r\n      getTikTokPixelId() {\r\n        return window.aifufandTikTokPixelId || \"D92D073C77U8UFHDD500\";\r\n      }\r\n      ensureTikTokBrowserPixel(pixelId) {\r\n        if (!pixelId) return null;\r\n        if (typeof window.ttq?.track === \"function\") {\r\n          if (typeof window.ttq.load === \"function\" && !window.ttq._i?.[pixelId]) window.ttq.load(pixelId);\r\n          return window.ttq;\r\n        }\r\n\r\n        const objectName = \"ttq\";\r\n        const ttq = (window[objectName] = window[objectName] || []);\r\n        window.TiktokAnalyticsObject = objectName;\r\n        ttq.methods = ttq.methods || [\r\n          \"page\",\r\n          \"track\",\r\n          \"identify\",\r\n          \"instances\",\r\n          \"debug\",\r\n          \"on\",\r\n          \"off\",\r\n          \"once\",\r\n          \"ready\",\r\n          \"alias\",\r\n          \"group\",\r\n          \"enableCookie\",\r\n          \"disableCookie\",\r\n          \"holdConsent\",\r\n          \"revokeConsent\",\r\n          \"grantConsent\",\r\n        ];\r\n        ttq.setAndDefer =\r\n          ttq.setAndDefer ||\r\n          ((target, method) => {\r\n            target[method] = function () {\r\n              target.push([method].concat(Array.prototype.slice.call(arguments, 0)));\r\n            };\r\n          });\r\n        for (let index = 0; index < ttq.methods.length; index += 1) {\r\n          if (!ttq[ttq.methods[index]]) ttq.setAndDefer(ttq, ttq.methods[index]);\r\n        }\r\n        ttq.load =\r\n          ttq.load ||\r\n          function (id, options) {\r\n            const scriptUrl = \"https://analytics.tiktok.com/i18n/pixel/events.js\";\r\n            ttq._i = ttq._i || {};\r\n            ttq._i[id] = ttq._i[id] || [];\r\n            ttq._i[id]._u = scriptUrl;\r\n            ttq._t = ttq._t || {};\r\n            ttq._t[id] = +new Date();\r\n            ttq._o = ttq._o || {};\r\n            ttq._o[id] = options || {};\r\n            if (document.querySelector(`script[src*=\"${id}\"][src*=\"analytics.tiktok.com/i18n/pixel/events.js\"]`)) return;\r\n            const script = document.createElement(\"script\");\r\n            script.type = \"text/javascript\";\r\n            script.async = true;\r\n            script.src = `${scriptUrl}?sdkid=${id}&lib=${objectName}`;\r\n            const firstScript = document.getElementsByTagName(\"script\")[0];\r\n            firstScript.parentNode.insertBefore(script, firstScript);\r\n          };\r\n        ttq.load(pixelId);\r\n        return ttq;\r\n      }\r\n      trackTikTokAddToCartEvent(formData, responseData) {\r\n        try {\r\n          const lineItem = this.getTrackedLineItem(responseData);\r\n          if (!lineItem) return;\r\n\r\n          const quantity = Number(lineItem.quantity || formData.get(\"quantity\") || 1);\r\n          const variantId = String(lineItem.variant_id || formData.get(\"id\") || lineItem.id || \"\");\r\n          const productId = String(lineItem.product_id || lineItem.product?.id || \"\");\r\n          const contentId = variantId || productId;\r\n          if (!contentId) return;\r\n\r\n          const productTitle = lineItem.product_title || lineItem.title || document.querySelector(\"h1\")?.textContent?.trim() || \"\";\r\n          const currencyCode = window.Shopify?.currency?.active || window.Shopify?.currency?.currentCurrency || \"USD\";\r\n          const itemPrice = this.getTrackedLineValue(lineItem);\r\n          const value = Number((itemPrice * (Number.isFinite(quantity) && quantity > 0 ? quantity : 1)).toFixed(2));\r\n          const eventKey = `${lineItem.key || variantId}:${quantity}:${value}`;\r\n          const now = Date.now();\r\n          if (this.aifufandLastTikTokAddToCart?.key === eventKey && now - this.aifufandLastTikTokAddToCart.time < 3000) return;\r\n          this.aifufandLastTikTokAddToCart = { key: eventKey, time: now };\r\n\r\n          const payload = {\r\n            content_id: contentId,\r\n            content_type: \"product\",\r\n            content_name: productTitle,\r\n            currency: currencyCode,\r\n            value,\r\n            quantity,\r\n            contents: [\r\n              {\r\n                content_id: contentId,\r\n                content_type: \"product\",\r\n                content_name: productTitle,\r\n                quantity,\r\n                price: itemPrice,\r\n              },\r\n            ],\r\n          };\r\n          const ttq = this.ensureTikTokBrowserPixel(this.getTikTokPixelId());\r\n          if (ttq && typeof ttq.track === \"function\") ttq.track(\"AddToCart\", payload);\r\n        } catch (error) {\r\n          window.aifufandDebug && window.aifufandDebug(\"TikTok AddToCart tracking failed:\", error);\r\n        }\r\n      }\r\n      handleCartResponse(formData, event, responseData) {\n        if (responseData.status) {\r\n          (publish(PUB_SUB_EVENTS.cartError, {\r\n            source: \"product-form\",\r\n            productVariantId: formData.get(\"id\"),\r\n            errors: responseData.errors || responseData.description,\r\n            message: responseData.message,\r\n          }),\r\n            this.handleErrorMessage(responseData.description));\r\n          const e = this.submitButton.querySelector(\".sold-out-message\");\r\n          if (!e) return;\r\n          return (\r\n            this.submitButton.setAttribute(\"aria-disabled\", !0),\r\n            this.submitButtonText.classList.add(\"hidden\"),\r\n            e.classList.remove(\"hidden\"),\r\n            void (this.error = !0)\r\n          );\r\n        }\r\n        this.trackTikTokAddToCartEvent(formData, responseData);\n        if (!this.cart) return void (window.location = window.routes.cart_url);\r\n        const e = CartPerformance.createStartingMarker(\"add:wait-for-subscribers\");\r\n        (this.error ||\r\n          publish(PUB_SUB_EVENTS.cartUpdate, {\r\n            source: \"product-form\",\r\n            productVariantId: formData.get(\"id\"),\r\n            cartData: responseData,\r\n          }).then(() => {\r\n            CartPerformance.measureFromMarker(\"add:wait-for-subscribers\", e);\r\n          }),\r\n          (this.error = !1));\r\n        const i = this.closest(\"quick-add-modal\");\r\n        i\r\n          ? (document.body.addEventListener(\r\n              \"modalClosed\",\r\n              () => {\r\n                setTimeout(() => {\r\n                  CartPerformance.measure(\"add:paint-updated-sections\", () => {\r\n                    this.cart.renderContents(responseData);\r\n                  });\r\n                });\r\n              },\r\n              { once: !0 },\r\n            ),\r\n            i.hide(!0))\r\n          : CartPerformance.measure(\"add:paint-updated-sections\", () => {\r\n              this.cart.renderContents(responseData);\r\n            });\r\n      }\r\n      handleSubmitFinally(event) {\r\n        if (\r\n          (this.submitButton.classList.remove(\"loading\"),\r\n          this.cart && this.cart.classList.contains(\"is-empty\") && this.cart.classList.remove(\"is-empty\"),\r\n          this.error || this.submitButton.removeAttribute(\"aria-disabled\"),\r\n          this.querySelector(\".loading__spinner\")?.classList.add(\"hidden\"),\r\n          this.error || \"true\" !== this.submitButton.dataset.textOverride)\r\n        ) {\r\n          if (!this.error && this.persistentTextActive) {\r\n            const showPrice = \"true\" === this.submitButton.dataset.showPrice;\r\n            const t = this.submitButton.dataset.persistentText || localStorage.getItem(\"addToCartButtonText\");\r\n            if (t && this.submitButtonText) {\r\n              if (!showPrice || !this.submitButtonText.textContent.trim().startsWith(t.trim())) {\r\n                this.submitButtonText.textContent = t;\r\n              }\r\n            }\r\n          }\r\n        } else;\r\n        CartPerformance.measureFromEvent(\"add:user-action\", event);\r\n      }\r\n      handleErrorMessage(t = !1) {\r\n        this.hideErrors ||\r\n          ((this.errorMessageWrapper =\r\n            this.errorMessageWrapper || this.querySelector(\".product-form__error-message-wrapper\")),\r\n          this.errorMessageWrapper &&\r\n            ((this.errorMessage =\r\n              this.errorMessage || this.errorMessageWrapper.querySelector(\".product-form__error-message\")),\r\n            this.errorMessageWrapper.toggleAttribute(\"hidden\", !t),\r\n            t && (this.errorMessage.textContent = t)));\r\n      }\r\n      toggleSubmitButton(t = !0, e) {\r\n        if (t) (this.submitButton.setAttribute(\"disabled\", \"disabled\"), e && (this.submitButtonText.textContent = e));\r\n        else {\r\n          if ((this.submitButton.removeAttribute(\"disabled\"), \"true\" === this.submitButton.dataset.textOverride));\r\n          else if (this.persistentTextActive) {\r\n            const t = this.submitButton.dataset.persistentText || localStorage.getItem(\"addToCartButtonText\");\r\n            if (t) return void (this.submitButtonText.textContent = t);\r\n          }\r\n          this.originalButtonText\r\n            ? (this.submitButtonText.textContent = this.originalButtonText)\r\n            : this.submitButton.dataset.originalText\r\n              ? (this.submitButtonText.textContent = this.submitButton.dataset.originalText)\r\n              : (this.submitButtonText.textContent = window.variantStrings.addToCart);\r\n        }\r\n      }\r\n      disconnectedCallback() {\r\n        (this.buttonTextObserver && this.buttonTextObserver.disconnect(),\r\n          document.removeEventListener(\"variant:change\", this.handleVariantChange));\r\n      }\r\n      get variantIdInput() {\r\n        return this.form.querySelector(\"[name=id]\");\r\n      }\r\n    },\r\n  );\r\n"],
  "mappings": "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",
  "names": ["t", "e"]
}
