1export class SiteHeader extends HTMLElement{constructor(){super(),this._selectors={shopifyHeader:".shopify-section-header",megaMenuTrigger:"[js-header-mega-menu-trigger]",megaMenuTriggerLink:"[js-header-mega-menu-trigger-link]",megaMenu:"[js-header-mega-menu]",megaMenuPlaceholder:"[js-header-mega-menu-placeholder]",mobileNavDrawer:"#MobileNavDrawer",mobileNavSearch:"[js-mobile-nav-search]",mobileNavBackBtn:"[js-moble-nav-back-btn]",mobileNavMainMenu:"[js-mobile-nav-main-menu]",mobileNavSubmenuTrigger:"[js-mobile-nav-submenu-trigger]",mobileNavSubmenu:"[js-mobile-nav-submenu]",predictiveSearchDrawer:"#PredictiveSearchDrawer",filterToobar:"[js-filter-toolbar]"}}connectedCallback(){this.shopifyHeader=document.querySelector(this._selectors.shopifyHeader),this.headerSolid="true"===this.dataset.headerSolid,"index"==this.dataset.currentTemplate?this.firstSection=document.querySelector("#MainContent .shopify-section"):"product"==this.dataset.currentTemplate?this.firstSection=document.querySelector("#ProductMainImages"):"collection"!=this.dataset.currentTemplate&&"search"!=this.dataset.currentTemplate||(this.filterToolbar=document.querySelector(this._selectors.filterToobar)),this.lastScrollY=window.scrollY,this.reopenMobileNav=!1,this._setVariables(),this._watchWindowResize(),this.headerSolid?this.shopifyHeader.classList.add("bg-filled-in"):window.addEventListener("scroll",this._onScroll),this._handleDesktopNav(),this._handleMobileNav()}_predictiveSearchDrawerOnClose=()=>{this.reopenMobileNav&&(this.mobileNavDrawer.open(),this.reopenMobileNav=!1)};_openPredictiveSearchDrawer=()=>{this.reopenMobileNav=!0,this.predictiveSearchDrawer.open()};_openPredictiveSearchDrawerFromClick=()=>{this.reopenMobileNav=!0,this.predictiveSearchDrawer.open()};_goBackToMainMenu=e=>{e.preventDefault();const t=this.mobileNavDrawer.querySelector(`${this._selectors.mobileNavSubmenu}[data-active="true"]`);this.mobileNavMainMenu.dataset.active="true",this.mobileNavSearch.dataset.active="true",this.mobileNavBackBtn.dataset.active="false",t.dataset.active="false"};_showSubmenu=e=>{e.preventDefault();const t=e.currentTarget.dataset.target,i=this.mobileNavDrawer.querySelector(`${this._selectors.mobileNavSubmenu}[id="${t}"]`);i&&(this.mobileNavMainMenu.dataset.active="false",this.mobileNavSearch.dataset.active="false",this.mobileNavBackBtn.dataset.active="true",i.dataset.active="true")};_handleMobileNav=()=>{this.mobileNavDrawer=document.querySelector(this._selectors.mobileNavDrawer),this.mobileNavSearch=this.mobileNavDrawer.querySelector(this._selectors.mobileNavSearch),this.mobileNavBackBtn=this.mobileNavDrawer.querySelector(this._selectors.mobileNavBackBtn),this.mobileNavMainMenu=this.mobileNavDrawer.querySelector(this._selectors.mobileNavMainMenu),this.mobileNavSubmenuTriggers=this.mobileNavDrawer.querySelectorAll(this._selectors.mobileNavSubmenuTrigger),this.predictiveSearchDrawer=document.querySelector(this._selectors.predictiveSearchDrawer),this.mobileNavSearchInput=this.mobileNavDrawer.querySelector(`${this._selectors.mobileNavSearch} input[type="search"]`),this.mobileNavSubmenuTriggers.forEach(e=>{e.addEventListener("click",this._showSubmenu)}),this.mobileNavBackBtn.addEventListener("click",this._goBackToMainMenu),this.mobileNavSearchInput.addEventListener("focus",this._openPredictiveSearchDrawer),this.mobileNavSearch.addEventListener("click",this._openPredictiveSearchDrawerFromClick),document.addEventListener("PredictiveSearchDrawer:close",this._predictiveSearchDrawerOnClose)};_handleDesktopNav=()=>{this.megaMenuTriggers=this.querySelectorAll(this._selectors.megaMenuTrigger),this.megaMenuPlaceholder=this.querySelector(this._selectors.megaMenuPlaceholder),this.megaMenuActive=!1,this.megaMenuTriggers.forEach(e=>{const t=e.querySelector(this._selectors.megaMenu),i=e.querySelector(this._selectors.megaMenuTriggerLink);let s=!1,r=null,a=null;const o=()=>{clearTimeout(a),r=setTimeout(()=>{this.megaMenuActive=!0,this.megaMenuPlaceholder.style.height=t.clientHeight+"px",this.megaMenuPlaceholder.classList.remove("hidden"),t.classList.add("active")},150)},l=()=>{this.megaMenuActive=!1,clearTimeout(r),a=setTimeout(()=>{s||(t.classList.remove("active"),this.megaMenuActive||this.megaMenuPlaceholder.classList.add("hidden"))},200)};e.addEventListener("mouseenter",()=>{s=!0,o()}),e.addEventListener("mouseleave",()=>{s=!1,l()}),e.addEventListener("focusin",()=>{s=!0,o()}),e.addEventListener("focusout",()=>{s=!1,l()}),i.addEventListener("keydown",e=>{"Enter"!=e.key&&" "!=e.key||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),s=!0,o())})})};_detectScrollDirection=()=>{const e=window.scrollY;0==e?document.body.classList.remove("scrolled-up","scrolled-down"):e>this.lastScrollY?(document.body.classList.remove("scrolled-up"),document.body.classList.add("scrolled-down"),this.filterToolbar&&(this.filterToolbar.getBoundingClientRect().top<8?this.filterToolbar.classList.add("is-sticky"):this.filterToolbar.classList.remove("is-sticky"))):e<this.lastScrollY&&(document.body.classList.add("scrolled-up"),document.body.classList.remove("scrolled-down"),this.filterToolbar&&(this.filterToolbar.getBoundingClientRect().top<100?this.filterToolbar.classList.add("is-sticky"):this.filterToolbar.classList.remove("is-sticky"))),this.lastScrollY=e};_updateHeaderStyle=()=>{if(!this.headerSolid)if(this.firstSection){const e=this.firstSection.getBoundingClientRect();this.shopifyHeader.classList.toggle("bg-filled-in",e.bottom<=this.clientHeight)}else this.shopifyHeader.classList.toggle("bg-filled-in",window.scrollY>0)};_onScroll=()=>{this._detectScrollDirection(),this._updateHeaderStyle()};_watchWindowResize=()=>{window.addEventListener("resize",this._setVariables)};_setVariables=()=>{document.documentElement.style.setProperty("--header-height",`${this.clientHeight}px`)}}customElements.get("s-header")||customElements.define("s-header",SiteHeader);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.