{
  "version": 3,
  "sources": ["/cdn/shop/t/226/assets/details-disclosure.js?enable_js_minification=0"],
  "sourcesContent": ["class DetailsDisclosure extends HTMLElement {\n  constructor() {\n    super();\n    this.mainDetailsToggle = this.querySelector('details');\n\n    if (!this.dataset.disableOut) {\n      this.mainDetailsToggle.addEventListener('focusout', this.onFocusOut.bind(this));\n    }\n    \n    if (!this.dataset.disableLabelClose) {\n      this.querySelectorAll('label')\n        .forEach(element => element.addEventListener('click', this.close.bind(this)));\n    }\n\n    document.addEventListener('click', this.onClickOutSide.bind(this));\n  }\n\n  onClickOutSide(event) {\n    setTimeout(() => {\n      if (this.dataset.disableMobile && window.innerWidth <= 990) {\n        return;\n      }\n\n      // If user click on the overlay, close it!\n      if (event.target == this.querySelector('.overlay')) this.close();\n\n      // If user clicks inside the element, do nothing\n      if (this.mainDetailsToggle.contains(event.target)) return;\n\n      // If user clicks outside the element, hide it!\n      this.close();\n    })\n  }\n\n  onFocusOut() {\n    setTimeout(() => {\n      if (!this.contains(document.activeElement)) this.close();\n    })\n  }\n\n  close() {\n    this.mainDetailsToggle.removeAttribute('open');\n    this.mainDetailsToggle.querySelector('summary').setAttribute('aria-expanded', false);\n  }\n}\n\ncustomElements.define('details-disclosure', DetailsDisclosure);\n\nclass DetailsDisclosureBase extends HTMLElement {\n  constructor(focusOut = true) {\n    super();\n    this.name = this.dataset.name ?? 'disclosure';\n    this.toggleColor = this.dataset.toggleColor ?? null;\n    this.containerClasses = [`has-open-${this.name}`];\n    this.focusOut = focusOut;\n    this.onSummaryClick = this.handleSummaryClick.bind(this);\n    this.onFocusOut = this.handleFocusOut.bind(this);\n    this.onKeyUp = this.handleKeyup.bind(this);\n\n    if (this.toggleColor) {\n      this.containerClasses.push(`color-${this.toggleColor}`);\n    }\n\n    this.disclosureContainer = this.closest('[data-disclosure-container]');\n    this.disclosureWrapper = this.closest('[data-disclosure-wrapper]');\n    this.detailsElement = this.querySelector('details');\n    this.summaryElement = this.querySelector('summary');\n  }\n\n  connectedCallback() {\n    this.bindEvents();\n  }\n\n  disconnectedCallback() {\n    this.unbindEvents();\n  }\n\n  bindEvents() {\n    this.summaryElement.addEventListener('click', this.onSummaryClick);\n\n    if (this.focusOut) {\n      this.detailsElement.addEventListener('focusout', this.onFocusOut);\n    }\n\n    this.detailsElement.addEventListener('keyup', this.onKeyUp);\n  }\n\n  unbindEvents() {\n    this.summaryElement.removeEventListener('click', this.onSummaryClick);\n\n    if (this.focusOut) {\n      this.detailsElement.removeEventListener('focusout', this.onFocusOut);\n    }\n\n    this.detailsElement.removeEventListener('keyup', this.onKeyUp);\n  }\n\n  isOpen() {\n    return this.detailsElement.hasAttribute('open');\n  }\n\n  handleSummaryClick(event) {\n    event.preventDefault();\n    this.isOpen() ? this.close() : this.open();\n  }\n\n  handleFocusOut() {\n    setTimeout(() => {\n      if (!this.contains(document.activeElement)) this.close();\n    })\n  }\n\n  handleKeyup(event) {\n    event.code.toUpperCase() === 'ESCAPE' && this.close();\n  }\n\n  open() {\n    this.detailsElement.setAttribute('open', true);\n    this.disclosureContainer.classList.add(...this.containerClasses);\n  }\n\n  close() {\n    this.detailsElement.removeAttribute('open');\n    this.summaryElement.setAttribute('aria-expanded', false);\n    this.disclosureContainer.classList.remove(...this.containerClasses);\n  }\n}\n\n// customElements.define('details-disclosure', DetailsDisclosureBase);\n\nclass MenuDisclosure extends DetailsDisclosureBase {\n  constructor() {\n    super();\n    \n    this.item = this.closest('li');\n    this.child = this.querySelector('[data-disclosure-child]');\n    this.siblings = Array.from(this.disclosureWrapper.querySelectorAll('menu-disclosure')).filter(sibling => sibling !== this);\n    this.allChildren = Array.from(this.disclosureWrapper.querySelectorAll('[data-disclosure-child]'));\n    this.menuItems = this.querySelectorAll('[data-submenu-item]');\n    this.background = this.disclosureContainer.querySelector('[data-menu-background]');\n\n    this.header = document.querySelector('.shopify-section-header');\n    this.rootLinks = this.disclosureContainer.querySelectorAll('.header__menu-item--link, .header__icon, .header__search');\n\n    this.timeline = gsap.timeline({ paused: true });\n    this.openTimeline = gsap.timeline({ paused: true });\n    this.switchTimeline = gsap.timeline({ paused: true });\n    this.onMouseOver = this.handleMouseOver.bind(this);\n    this.onClose = this.handleClose.bind(this);\n    this.onRootLinkHover = this.handleRootLinkHover.bind(this);\n    this.hoverIntentListeners = null;\n\n    this.buildTimelines();\n  }\n\n  bindEvents() {\n    super.bindEvents();\n    this.summaryElement.removeEventListener('click', this.onSummaryClick);\n    \n    if (typeof window.hoverintent !== 'undefined') {\n      const main = hoverintent(this, this.onMouseOver, () => {});\n      main.options({ interval: 50 });\n\n      const rootLinks = [];\n      this.rootLinks.forEach(link => {\n        const rootLinkListener = hoverintent(link, this.onRootLinkHover, () => {});\n        rootLinkListener.options({ interval: 50 });\n        rootLinks.push(rootLinkListener);\n      });\n\n      this.hoverIntentListeners = { main, rootLinks };\n    } else {\n      this.addEventListener('mouseenter', this.onMouseOver);\n      this.rootLinks.forEach(link => link.addEventListener('mouseenter', this.onRootLinkHover));\n    }\n\n    this.header.addEventListener('mouseleave', this.onClose);\n    this.isSwitching = false;\n  }\n\n  unbindEvents() {\n    super.unbindEvents();\n\n    if (this.hoverIntentListeners) {\n      this.hoverIntentListeners.main.remove();\n      this.hoverIntentListeners.rootLinks.forEach(listener => listener.remove());\n      this.hoverIntentListeners = null;\n    } else {\n      this.removeEventListener('mouseenter', this.onMouseOver);\n      this.rootLinks.forEach(link => link.removeEventListener('mouseenter', this.onRootLinkHover));\n    }\n\n    this.header.removeEventListener('mouseleave', this.onClose);\n  }\n\n  isBackgroundHidden() {\n    const isSticky = this.header.classList.contains('shopify-section-header-sticky');\n    const isIndex = document.body.classList.contains('index');\n    const isAboutLayout = document.body.classList.contains('about-page-layout');\n\n    return (isIndex || isAboutLayout) && !isSticky;\n  }\n\n  getSubnavHeight() {\n    return this.child.offsetHeight + (this.isBackgroundHidden() ? this.header.offsetHeight : 0);\n  }\n\n  buildTimeline(timeline, switching) {\n    timeline.to(this.allChildren, {\n      y: 32,\n      opacity: 0,\n      duration: 0.3,\n      ease: 'power1.in',\n    }).to(this.background, {\n      y: this.getSubnavHeight.bind(this),\n      duration: switching ? 0.5 : 0.6,\n      ease: 'power1.inOut',\n    }, '-=0.2').fromTo(this.child, {\n      opacity: 0,\n      y: -32,\n    }, {\n      opacity: 1,\n      y: 0,\n      duration: 0.3,\n      ease: 'power1.out',\n      onComplete: this.hideSiblings.bind(this),\n    }, `-=${switching ? 0.225 : 0.2}`);\n  }\n\n  hideSiblings() {\n    this.allChildren.filter(child => child !== this.child).forEach(child => gsap.set(child, { y: -32, opacity: 0 }));\n  }\n\n  buildTimelines() {\n    this.buildTimeline(this.openTimeline, false);\n    this.buildTimeline(this.switchTimeline, true);\n  }\n\n  isOpen() {\n    return this.item.classList.contains('is-open');\n  }\n\n  handleMouseOver() {\n    this.open();\n  }\n\n  handleClose() {\n    this.cancelClose();\n\n    this.closingTime = setTimeout(() => {\n      this.close();\n    }, 150);\n  }\n\n  handleRootLinkHover() {\n    if (this.isOpen()) {\n      this.handleClose();\n    }\n  }\n  \n  open() {\n    this.isSwitching = this.hasOpenSibling();\n\n    this.cancelClose();\n    this.closeSiblings();\n\n    if (this.isOpen()) return;\n\n    super.open();\n    this.item.classList.add('is-open');\n    \n    setTimeout(() => {\n      this.disclosureContainer.classList.add('has-menu-buffer');\n\n      if (this.isSwitching) {\n        this.switchTimeline.invalidate().play(0);\n      } else {\n        this.openTimeline.invalidate().play(0);\n      }\n    });\n  }\n\n  hasOpenSibling() {\n    return this.siblings.some(sibling => sibling.isOpen());\n  }\n\n  cancelClose() {\n    clearTimeout(this.closingTime);\n    this.closingTime = undefined;\n  }\n\n  closeSiblings() {\n    this.siblings.forEach(sibling => sibling.close());\n  }\n\n  close() {\n    this.cancelClose();\n\n    if (!this.isOpen()) return;\n    \n    this.item.classList.remove('is-open');\n    this.summaryElement.setAttribute('aria-expanded', false);\n\n    setTimeout(() => {\n      if (!this.hasOpenSibling()) {\n        this.disclosureContainer.classList.remove(...this.containerClasses);\n        this.timeline.pause();\n        gsap.to(this.child, {\n          opacity: 0,\n          y: -32,\n          duration: 0.3,\n          ease: 'power1.inOut'\n        });\n\n        gsap.to(this.background, {\n          y: 0,\n          duration: 0.5,\n          ease: 'power1.inOut',\n        });\n      }\n    });\n\n    this.closeAnimation();\n  }\n\n  closeAnimation() {\n    let animationStart;\n\n    const handleAnimation = time => {\n      if (animationStart === undefined) {\n        animationStart = time;\n      }\n\n      const elapsedTime = time - animationStart;\n\n      if (elapsedTime < 400) {\n        window.requestAnimationFrame(handleAnimation);\n      } else if (!this.isOpen()) {\n        this.detailsElement.removeAttribute('open');\n        \n        if (!this.hasOpenSibling()) {\n          this.disclosureContainer.classList.remove('has-menu-buffer');\n        }\n      }\n    }\n\n    window.requestAnimationFrame(handleAnimation);\n  }\n}\n\ncustomElements.define('menu-disclosure', MenuDisclosure);"],
  "mappings": "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",
  "names": []
}
