1import{prepareTransition,debounce}from"util.misc";import{EVENTS}from"util.events";let selectors={wrapper:"#HeaderWrapper",siteHeader:"#SiteHeader",megamenu:".megamenu",triggerCollapsedMenu:".site-nav__compress-menu",collapsedMenu:'[data-type="nav"]',bottomSearch:'[data-type="search"]',navDetails:".site-nav__details"},classes={headerCompressed:"header-wrapper--compressed",overlay:"header-wrapper--overlay",noLightStyle:"not-light-style"},config={wrapperOverlayed:!1,stickyEnabled:!1,stickyActive:!1,subarPositionInit:!1,threshold:0},wrapper,siteHeader,bottomNav,bottomSearch;class HeaderNav extends HTMLElement{connectedCallback(){this.abortController=new AbortController,wrapper=document.querySelector(selectors.wrapper),siteHeader=document.querySelector(selectors.siteHeader),bottomNav=wrapper.querySelector(selectors.collapsedMenu),bottomSearch=wrapper.querySelector(selectors.bottomSearch),this.isStickyHeader=!1,this.hasActiveDrawers=!1,config.threshold=wrapper.getBoundingClientRect().bottom,config.subarPositionInit=!1,config.stickyEnabled=siteHeader.dataset.sticky==="true",config.stickyEnabled?(config.wrapperOverlayed=wrapper.classList.contains(classes.overlay),this.stickyHeaderCheck()):this.disableSticky(),this.overlayHeader=siteHeader.dataset.overlay==="true",this.overlayHeader&&Shopify&&Shopify.designMode&&document.body.classList.contains("template-collection")&&!document.querySelector(".collection-hero")&&this.disableOverlayHeader(),this.setAbsoluteBottom(),window.addEventListener("resize",debounce(250,this.setAbsoluteBottom),{signal:this.abortController.signal});let collapsedNavTrigger=wrapper.querySelector(selectors.triggerCollapsedMenu);collapsedNavTrigger&&!collapsedNavTrigger.classList.contains("nav-trigger--initialized")&&(collapsedNavTrigger.classList.add("nav-trigger--initialized"),collapsedNavTrigger.addEventListener("click",function(e){collapsedNavTrigger.classList.toggle("is-active"),prepareTransition(bottomNav,function(){bottomNav.classList.toggle("is-active")})},{signal:this.abortController.signal})),document.addEventListener(EVENTS.headerStickyCheck,this.stickyHeaderCheck.bind(this),{signal:this.abortController.signal}),document.addEventListener(EVENTS.headerOverlayDisable,this.disableOverlayHeader,{signal:this.abortController.signal}),document.addEventListener(EVENTS.headerOverlayRemoveClass,this.removeOverlayClass,{signal:this.abortController.signal}),document.addEventListener(EVENTS.sizeDrawer,this.sizeDrawer.bind(this),{signal:this.abortController.signal}),document.addEventListener(EVENTS.headerDrawerOpened,evt=>this.hasActiveDrawers=!0,{signal:this.abortController.signal}),document.addEventListener(EVENTS.headerDrawerClosed,evt=>this.hasActiveDrawers=!1,{signal:this.abortController.signal})}disconnectedCallback(){this.abortController.abort()}setAbsoluteBottom(){this.overlayHeader&&document.querySelector(".header-section").classList.add("header-section--overlay");let activeSubBar=matchMedia("(max-width: 768px)").matches?document.querySelector('.site-header__element--sub[data-type="search"]'):document.querySelector('.site-header__element--sub[data-type="nav"]');if(activeSubBar){let h=activeSubBar.offsetHeight;h!==0&&document.documentElement.style.setProperty("--header-padding-bottom",h+"px"),config.subarPositionInit||(wrapper.classList.add("header-wrapper--init"),config.subarPositionInit=!0)}}disableOverlayHeader(){wrapper.classList.add(classes.noLightStyle),config.wrapperOverlayed=!1,document.dispatchEvent(new CustomEvent(EVENTS.overlayHeaderChange,{detail:{overlayHeader:!1}}))}stickyHeaderCheck(){this.isStickyHeader=this.doesMegaMenuFit(),this.isStickyHeader?(config.forceStopSticky=!1,this.stickyHeader(),document.dispatchEvent(new CustomEvent(EVENTS.stickyHeaderChange,{detail:{isSticky:!0}}))):(config.forceStopSticky=!0,this.disableSticky(),document.dispatchEvent(new CustomEvent(EVENTS.stickyHeaderChange,{detail:{isSticky:!1}})))}disableSticky(){document.querySelector(".header-section").style.position="relative"}removeOverlayClass(){config.wrapperOverlayed&&wrapper.classList.add(classes.noLightStyle)}doesMegaMenuFit(){let largestMegaNav=0;return(siteHeader||document.querySelector(selectors.siteHeader)).querySelectorAll(selectors.megamenu).forEach(nav=>{let h=nav.offsetHeight;h>largestMegaNav&&(largestMegaNav=h)}),!(window.innerHeight<largestMegaNav+120)}stickyHeader(){window.scrollY>config.threshold&&this.stickyHeaderScroll(),window.addEventListener("scroll",this.stickyHeaderScroll.bind(this),{signal:this.abortController.signal})}stickyHeaderScroll(){config.stickyEnabled&&(config.forceStopSticky||requestAnimationFrame(this.scrollHandler.bind(this)))}scrollHandler(){if(window.scrollY>config.threshold){if(config.stickyActive)return;bottomNav&&prepareTransition(bottomNav),bottomSearch&&prepareTransition(bottomSearch),wrapper&&prepareTransition(wrapper),config.stickyActive=!0,wrapper.classList.add(classes.headerCompressed),config.wrapperOverlayed&&wrapper.classList.add(classes.noLightStyle),document.dispatchEvent(new CustomEvent("headerStickyChange"))}else{if(!config.stickyActive)return;bottomNav&&prepareTransition(bottomNav),bottomSearch&&prepareTransition(bottomSearch),wrapper&&prepareTransition(wrapper),config.stickyActive=!1,config.threshold=wrapper.getBoundingClientRect().bottom,wrapper.classList.remove(classes.headerCompressed),config.wrapperOverlayed&&(this.hasActiveDrawers||wrapper.classList.remove(classes.noLightStyle)),document.dispatchEvent(new CustomEvent("headerStickyChange"))}}sizeDrawer(evt){let header=wrapper.offsetHeight,heights=evt.detail?.heights?.reduce((a,b)=>a+b,0)??0,max=window.innerHeight-header-heights;this.style.setProperty("--max-drawer-height",`${max}px`),this.style.setProperty("--header-nav-height",`${header-heights}px`)}}customElements.define("header-nav",HeaderNav); 2//# sourceMappingURL=/cdn/shop/t/18/assets/header.nav.js.map?v=60474361350033080031788906318
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.