1import{prefersReducedMotion}from"@theme/utilities";const OPEN_DELAY=150,CLOSE_DELAY=250,finePointer=window.matchMedia("(hover: hover) and (pointer: fine)"),allGroups=[];function initMegaMenuGroup(group){allGroups.push(group);const summary=group.querySelector(":scope > summary");if(!(summary instanceof HTMLElement))return;let openTimer=null,closeTimer=null,openedByHover=!1;const clearTimers=()=>{openTimer&&clearTimeout(openTimer),closeTimer&&clearTimeout(closeTimer),openTimer=null,closeTimer=null},syncExpanded=()=>{summary.setAttribute("aria-expanded",group.open?"true":"false")};if(group.addEventListener("toggle",()=>{if(syncExpanded(),!group.open){clearTimers(),openedByHover=!1;return}for(const other of allGroups)other!==group&&other.open&&(other.open=!1)}),syncExpanded(),!finePointer.matches)return;group.addEventListener("pointerenter",event=>{event.pointerType==="mouse"&&(clearTimers(),!group.open&&(openTimer=setTimeout(()=>{group.open=!0,openedByHover=!0},OPEN_DELAY)))}),summary.addEventListener("click",event=>{openedByHover&&group.open&&event.detail!==0&&(event.preventDefault(),openedByHover=!1)});const closeUnlessFocused=()=>{group.contains(document.activeElement)||(group.open=!1)};group.addEventListener("pointerleave",event=>{event.pointerType==="mouse"&&(clearTimers(),group.open&&(closeTimer=setTimeout(closeUnlessFocused,prefersReducedMotion()?0:CLOSE_DELAY)))}),group.addEventListener("focusout",event=>{if(!group.open)return;const next=event.relatedTarget;next instanceof Node&&group.contains(next)||(group.open=!1)})}function initMegaMenu(root){for(const group of root.querySelectorAll(".header__nav-group"))group instanceof HTMLDetailsElement&&!allGroups.includes(group)&&initMegaMenuGroup(group)}initMegaMenu(document),document.addEventListener("keydown",event=>{if(event.key!=="Escape")return;const openGroup=allGroups.find(group=>group.open);if(!openGroup)return;const summary=openGroup.querySelector(":scope > summary"),focusWasInside=openGroup.contains(document.activeElement);event.preventDefault(),openGroup.open=!1,focusWasInside&&summary instanceof HTMLElement&&summary.focus()}),document.addEventListener("shopify:section:load",event=>{event.target instanceof Element&&initMegaMenu(event.target)}),document.addEventListener("shopify:section:unload",event=>{const removed=event.target instanceof Element?[...event.target.querySelectorAll(".header__nav-group")]:[];for(const group of removed){const index=allGroups.indexOf(group);index!==-1&&allGroups.splice(index,1)}}); 2//# sourceMappingURL=/cdn/shop/t/4/assets/header-mega-menu.js.map?v=135710056382425811661790150673
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.