1import{EVENTS}from"@archetype-themes/utils/events";let selectors={nav:".slide-nav",childList:".slide-nav__dropdown",allLinks:"a.slide-nav__link",subNavToggleBtn:".js-toggle-submenu"},classes={isActive:"is-active"},defaults={menuLevel:1,inHeader:!1};class MobileNav extends HTMLElement{constructor(){super(),this.config=Object.assign({},defaults),this.config.inHeader=this.getAttribute("inHeader")==="true"}connectedCallback(){this.abortController=new AbortController,this.nav=this.querySelector(selectors.nav),this.init()}init(){this.nav.querySelectorAll(selectors.subNavToggleBtn).forEach(btn=>{btn.addEventListener("click",this.toggleSubNav.bind(this),{signal:this.abortController.signal})}),this.nav.querySelectorAll(selectors.allLinks).forEach(link=>{this.dispatchEvent(new CustomEvent(EVENTS.mobileNavClose,{bubbles:!0}))})}toggleSubNav(evt){let btn=evt.currentTarget;this.goToSubnav(btn.dataset.target)}goToSubnav(target){let targetMenu=this.nav.querySelector(selectors.childList+'[data-parent="'+target+'"]');targetMenu?(this.config.menuLevel=targetMenu.dataset.level,this.config.menuLevel==2&&this.nav.querySelectorAll(selectors.childList+'[data-level="3"]').forEach(list=>{list.classList.remove(classes.isActive)}),targetMenu.classList.add(classes.isActive),this.setWrapperHeight(targetMenu.offsetHeight)):(this.config.menuLevel=1,this.removeAttribute("style"),this.nav.querySelectorAll(selectors.childList).forEach(list=>{list.classList.remove(classes.isActive)})),this.dataset.level=this.config.menuLevel}setWrapperHeight(h){this.style.height=h+"px"}}customElements.define("mobile-nav",MobileNav); 2//# sourceMappingURL=/cdn/shop/t/3/assets/header-mobile-nav.js.map?v=77324086688366174111744275110
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.