{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/core.js?cv=573c0a5"],
  "sourcesContent": ["import { t as throttle } from \"./lodash-utils.js\";\nimport { p as pubsub } from \"./shared-utilities.js\";\nimport { i as iosAppHeight } from \"./utilities.js\";\nimport { c as createMatchHeight } from \"./match-height.js\";\nimport { g as getFieldValue, f as formatPhoneForKlaviyo, s as subscribeToKlaviyo } from \"./klaviyoSubscription.js\";\nfunction InitViewTransitions() {\n  if (window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches) {\n    const viewTransitionRenderBlocker = document.getElementById(\n      \"view-transition-render-blocker\"\n    );\n    if (viewTransitionRenderBlocker) viewTransitionRenderBlocker.remove();\n  }\n  const idleCallback = typeof requestIdleCallback === \"function\" ? requestIdleCallback : setTimeout;\n  window.addEventListener(\"pageswap\", async (event) => {\n    if (!hasViewTransition(event)) return;\n    const { viewTransition } = event;\n    document.querySelectorAll(\n      \"[data-view-transition-type]:not([data-view-transition-triggered])\"\n    ).forEach((element) => {\n      element.removeAttribute(\"data-view-transition-type\");\n    });\n    const transitionTriggered = document.querySelector(\n      \"[data-view-transition-triggered]\"\n    );\n    const transitionType = transitionTriggered == null ? void 0 : transitionTriggered.getAttribute(\n      \"data-view-transition-type\"\n    );\n    if (transitionType) {\n      viewTransition.types.clear();\n      viewTransition.types.add(transitionType);\n      sessionStorage.setItem(\"custom-transition-type\", transitionType);\n    } else {\n      viewTransition.types.clear();\n      viewTransition.types.add(\"page-navigation\");\n      sessionStorage.removeItem(\"custom-transition-type\");\n    }\n  });\n  window.addEventListener(\"pagereveal\", async (event) => {\n    if (!hasViewTransition(event)) return;\n    const { viewTransition } = event;\n    const customTransitionType = sessionStorage.getItem(\n      \"custom-transition-type\"\n    );\n    if (customTransitionType) {\n      viewTransition.types.clear();\n      viewTransition.types.add(customTransitionType);\n      await viewTransition.finished;\n      viewTransition.types.clear();\n      viewTransition.types.add(\"page-navigation\");\n      idleCallback(() => {\n        sessionStorage.removeItem(\"custom-transition-type\");\n        document.querySelectorAll(\"[data-view-transition-type]\").forEach((element) => {\n          element.removeAttribute(\"data-view-transition-type\");\n        });\n      });\n    } else {\n      viewTransition.types.clear();\n      viewTransition.types.add(\"page-navigation\");\n    }\n  });\n  function hasViewTransition(event) {\n    return \"viewTransition\" in event && event.viewTransition instanceof ViewTransition;\n  }\n}\nfunction externalLinkNewTab() {\n  document.querySelectorAll(\n    'a:not([data-no-swup]):not([target=\"_blank\"]):not([class*=\"glightbox\"]:not([class^=\"#\"])'\n  ).forEach((link) => {\n    const href = link.getAttribute(\"href\");\n    if (href) {\n      const containsHost = href.includes(`${window.location.hostname}`);\n      const NotLocal = href.charAt(0) !== \"/\" && href.charAt(0) !== \"#\";\n      if (!containsHost && NotLocal) {\n        link.setAttribute(\"target\", \"_blank\");\n      }\n    }\n  });\n}\nfunction updateGoogleDataLayer(data) {\n  if (!data) {\n    console.error(\"No data provided to updateGoogleDataLayer\");\n    return;\n  }\n  window.dataLayer = window.dataLayer || [];\n  window.dataLayer.push(data);\n}\nasync function handleFormCarrySubmission({\n  form\n}) {\n  const formCarryId = form.dataset.formcarry;\n  const submitButton = form.querySelector(\"[type='submit']\");\n  submitButton.classList.add(\"loading\");\n  const formData = new FormData(form);\n  const sectionId = form.id.substring(form.id.indexOf(\"-\") + 1);\n  const successMessage = document.getElementById(`success-${sectionId}`);\n  let formObject = {};\n  formData.forEach(function(value, key) {\n    formObject[key] = value;\n  });\n  const phoneValue = getFieldValue(\n    formObject,\n    \"phoneNumber\"\n  );\n  if (phoneValue) {\n    const phoneValidation = formatPhoneForKlaviyo(phoneValue);\n    if (!phoneValidation.isValid) {\n      alert(`Phone number error: ${phoneValidation.error}`);\n      submitButton.classList.remove(\"loading\");\n      return { error: \"Phone validation failed\" };\n    }\n  }\n  const newsletterCheckbox = form.querySelector(\n    '[name=\"newsletter-signup\"]'\n  );\n  const formObj = formObject;\n  if (newsletterCheckbox && newsletterCheckbox.checked) {\n    const klaviyoListId = form.getAttribute(\"data-klaviyo-list-id\");\n    const klaviyoCompanyId = form.getAttribute(\"data-klaviyo-company-id\");\n    if (klaviyoListId && klaviyoCompanyId) {\n      try {\n        await subscribeToKlaviyo({\n          email: getFieldValue(formObj, \"email\"),\n          formData: formObj,\n          companyId: klaviyoCompanyId,\n          listIds: klaviyoListId\n        });\n      } catch (err) {\n        console.warn(\"Klaviyo signup failed\", err);\n        if (err.message && err.message.includes(\"Phone validation failed\")) {\n          alert(err.message.replace(\"Phone validation failed: \", \"\"));\n        } else if (err.message && err.message.includes(\"phone number\")) {\n          alert(`Phone number issue: ${err.message}`);\n        } else {\n          alert(`Newsletter signup failed: ${err.message || \"Unknown error\"}`);\n        }\n        submitButton.classList.remove(\"loading\");\n        return { error: \"Klaviyo subscription failed\" };\n      }\n    }\n  }\n  const newsletterLists = formData.getAll(\"newsletter-lists[]\");\n  if (newsletterLists.length > 0) {\n    const klaviyoCompanyId = form.getAttribute(\"data-klaviyo-company-id\");\n    if (klaviyoCompanyId) {\n      try {\n        await subscribeToKlaviyo({\n          email: getFieldValue(formObj, \"email\"),\n          formData: formObj,\n          companyId: klaviyoCompanyId,\n          listIds: newsletterLists\n        });\n      } catch (err) {\n        console.warn(\"Multi-newsletter signup failed\", err);\n        if (err.message && err.message.includes(\"Phone validation failed\")) {\n          alert(err.message.replace(\"Phone validation failed: \", \"\"));\n        } else if (err.message && err.message.includes(\"phone number\")) {\n          alert(`Phone number issue: ${err.message}`);\n        } else {\n          alert(`Newsletter signup failed: ${err.message || \"Unknown error\"}`);\n        }\n        submitButton.classList.remove(\"loading\");\n        return { error: \"Klaviyo subscription failed\" };\n      }\n    }\n  }\n  return await fetch(`https://formcarry.com/s/${formCarryId}`, {\n    method: \"POST\",\n    headers: {\n      Accept: \"application/json\"\n    },\n    body: formData\n  }).then((response) => {\n    if (response.ok && form.dataset.redirect) {\n      window.location.href = form.dataset.redirect;\n    } else {\n      return response.json();\n    }\n  }).then((data) => {\n    updateGoogleDataLayer({\n      event: form.dataset.event ? form.dataset.event : \"form_submit\",\n      eventAction: form.dataset.action ? form.dataset.action : \"Submit\",\n      eventCategory: form.dataset.category ? form.dataset.category : \"Form\",\n      eventLabel: form.dataset.label ? form.dataset.label : \"\"\n    });\n    if (successMessage) {\n      form.classList.add(\"hidden\");\n      successMessage.classList.remove(\"hidden\");\n    }\n    submitButton.classList.remove(\"loading\");\n    return data;\n  });\n}\nInitViewTransitions();\nwindow.addEventListener(\n  \"resize\",\n  throttle(() => {\n    pubsub.emit(\"window-resize\");\n  }, 100)\n);\nwindow.addEventListener(\n  \"scroll\",\n  throttle(() => {\n    pubsub.emit(\"window-scroll\");\n  }, 50)\n);\niosAppHeight();\nexternalLinkNewTab();\nif (document.querySelector(\".card--product .card__heading\")) {\n  createMatchHeight(\".card--product .card__heading\");\n  createMatchHeight(\".card--product .card__description \");\n}\nconst main = document.querySelector(\"main\");\nif (main) {\n  const firstChild = main.firstElementChild;\n  if (firstChild && firstChild.classList.contains(\"section--hero\")) {\n    document.body.classList.add(\"white-nav\");\n  } else {\n    document.body.classList.remove(\"white-nav\");\n  }\n}\nconst scrollToLinks = document.querySelectorAll(\".tw-scroll-to-link\");\nif (scrollToLinks) {\n  scrollToLinks.forEach((link) => {\n    link.addEventListener(\"click\", (e) => {\n      e.preventDefault();\n      const target = document.querySelector(link.getAttribute(\"href\"));\n      if (target) {\n        target.scrollIntoView({\n          behavior: \"smooth\",\n          block: \"start\"\n        });\n      }\n    });\n  });\n}\nconst formCarryForms = document.querySelectorAll(\".formcarry-form\");\nif (formCarryForms) {\n  formCarryForms.forEach((form) => {\n    form.addEventListener(\"submit\", (e) => {\n      e.preventDefault();\n      handleFormCarrySubmission({ form });\n    });\n  });\n}\n"],
  "mappings": "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",
  "names": []
}
