{
  "version": 3,
  "sources": ["/cdn/shop/t/27/assets/header.js?glv=1792798980"],
  "sourcesContent": ["if (typeof debounce === 'undefined') {\n  function debounce(fn, wait) {\n    let t;\n    return (...args) => {\n      clearTimeout(t);\n      t = setTimeout(() => fn.apply(this, args), wait);\n    };\n  }\n}\n/**\n *  @class\n *  @function ThemeHeader\n */\n\nif (!customElements.get('theme-header')) {\n  class ThemeHeader extends HTMLElement {\n    constructor() {\n      super();\n\n    }\n    connectedCallback() {\n      this.header_section = document.querySelector('.header-section');\n      this.menu = this.querySelector('#mobile-menu');\n      this.toggle = this.querySelector('.mobile-toggle-wrapper');\n\n      document.addEventListener('keyup', (e) => {\n        if (e.code) {\n          if (e.code.toUpperCase() === 'ESCAPE') {\n            this.toggle.removeAttribute('open');\n            this.toggle.classList.remove('active');\n          }\n        }\n      });\n      if (this.classList.contains('header-sticky--active')) {\n        document.body.classList.add('header-sticky--active');\n      }\n      this.toggle.querySelector('.mobile-toggle').addEventListener('click', (e) => {\n        if (this.toggle.classList.contains('active')) {\n          e.preventDefault();\n          document.body.classList.remove('overflow-hidden');\n          this.toggle.classList.remove('active');\n          this.closeAnimation(this.toggle);\n        } else {\n          document.body.classList.add('overflow-hidden');\n          setTimeout(() => {\n            this.toggle.classList.add('active');\n          });\n        }\n      });\n\n      // Sticky Header Class\n      window.addEventListener('scroll', this.setStickyClass.bind(this), {\n        passive: true\n      });\n\n      // Mobile Menu offset\n      window.addEventListener('scroll', this.setHeaderOffset.bind(this), {\n        passive: true\n      });\n      window.addEventListener('scroll', this.setHeaderHeight.bind(this), {\n        passive: true\n      });\n\n      window.dispatchEvent(new Event('scroll'));\n\n      if (document.querySelector('.announcement-bar-section')) {\n\n        window.addEventListener('scroll', this.setAnnouncementHeight(), {\n          passive: true\n        });\n        window.dispatchEvent(new Event('resize'));\n      }\n\n      // Mobile Navigation transparent header support.\n      setTimeout(() => {\n\n        this.mobile_nav = document.querySelector('.header-mobile-navigation');\n\n        if (this.mobile_nav && this.classList.contains('transparent--true')) {\n          this.mobile_nav.classList.add('is-fixed');\n        }\n      }, 100);\n      // Buttons.\n      this.menu.querySelectorAll('summary').forEach(summary => summary.addEventListener('click', this.onSummaryClick.bind(this)));\n      this.menu.querySelectorAll('.parent-link-back--button').forEach(button => button.addEventListener('click', this.onCloseButtonClick.bind(this)));\n    }\n    setStickyClass() {\n      if (this.classList.contains('header-sticky--active')) {\n        let offset = parseInt(this.getBoundingClientRect().top, 10) + document.documentElement.scrollTop;\n        this.classList.toggle('is-sticky', window.scrollY >= offset && window.scrollY > 0);\n      }\n    }\n    setAnnouncementHeight() {\n      const a_bar = document.querySelector('.announcement-bar-section');\n      let h = a_bar.clientHeight;\n      document.documentElement.style.setProperty('--announcement-height', h + 'px');\n    }\n    setHeaderOffset() {\n      let h = this.header_section.getBoundingClientRect().top;\n      document.documentElement.style.setProperty('--header-offset', h + 'px');\n    }\n    setHeaderHeight() {\n      let h = this.clientHeight;\n      document.documentElement.style.setProperty('--header-height', h + 'px');\n    }\n    onSummaryClick(event) {\n      const summaryElement = event.currentTarget;\n      const detailsElement = summaryElement.parentNode;\n      const parentMenuElement = detailsElement.closest('.link-container');\n      const isOpen = detailsElement.hasAttribute('open');\n      if (this.querySelector('.parent-link-back--button')) {\n        this.menu.scrollTop = 0;\n      }\n      setTimeout(() => {\n        detailsElement.classList.add('menu-opening');\n        parentMenuElement && parentMenuElement.classList.add('submenu-open');\n      }, 100);\n    }\n    onCloseButtonClick(event) {\n      event.preventDefault();\n      const detailsElement = event.currentTarget.closest('details');\n      this.closeSubmenu(detailsElement);\n    }\n    closeSubmenu(detailsElement) {\n      detailsElement.classList.remove('menu-opening');\n      this.closeAnimation(detailsElement);\n    }\n    closeAnimation(detailsElement) {\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 {\n          detailsElement.removeAttribute('open');\n        }\n      };\n\n      window.requestAnimationFrame(handleAnimation);\n    }\n  }\n  customElements.define('theme-header', ThemeHeader);\n}\n\n/**\n *  @class\n *  @function FullMenu\n */\nif (!customElements.get('full-menu')) {\n  class FullMenu extends HTMLElement {\n    constructor() {\n      super();\n\n      this.submenus = this.querySelectorAll('.thb-full-menu>.menu-item-has-children:not(.menu-item-has-megamenu)>.sub-menu');\n    }\n    connectedCallback() {\n      if (!this.submenus.length) {\n        return;\n      }\n      const _this = this;\n      // resize on initial load\n      document.fonts.ready.then(function() {\n        window.addEventListener('resize', debounce(function() {\n          _this.resizeSubMenus();\n        }, 100));\n      });\n\n    }\n    resizeSubMenus() {\n      this.submenus.forEach((submenu) => {\n        let sub_submenus = submenu.querySelectorAll(':scope >.menu-item-has-children>.sub-menu');\n\n        sub_submenus.forEach((sub_submenu) => {\n          let w = sub_submenu.offsetWidth,\n            l = sub_submenu.parentElement.getBoundingClientRect().left + sub_submenu.parentElement.offsetWidth,\n            total = w + l;\n\n          if (total > window.innerWidth) {\n            sub_submenu.parentElement.classList.add('left-submenu');\n          } else if (sub_submenu.parentElement.classList.contains('left-submenu')) {\n            sub_submenu.parentElement.classList.remove('left-submenu');\n          }\n        });\n      });\n    }\n  }\n  customElements.define('full-menu', FullMenu);\n}"],
  "mappings": "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",
  "names": []
}
