PageSourceSearch

https://www.acolad.com/hubfs/hub_generated/template_assets/1/19730…/1790155732669/template_hd-mega-menu.min.js

js acolad.com collected 2026-09-24 15:17:30 UTC 14,412 bytes, 2 lines download raw bytes

1(()=>{"use strict";if(window.__hdMegaMenuInit)return;window.__hdMegaMenuInit=!0;const header=document.querySelector(".hd-mega-menu");if(!header)return;const mqDesktop=window.matchMedia("(min-width:1050px)"),mqMobile=window.matchMedia("(max-width:1049px)"),nav=header.querySelector(".nav-links"),hamburger=header.querySelector(".hamburger"),searchBtn=header.querySelector(".search-btn"),searchBar=header.querySelector(".search-bar-wrapper"),langSwitcher=header.querySelector(".lang-switcher"),items=[...header.querySelectorAll(".nav-item[data-menu]")],panels=[...header.querySelectorAll(".mega-menu")],anchors=new Map;panels.forEach(p=>{const c=document.createComment(`anchor:${p.id||"panel"}`);p.parentNode.insertBefore(c,p),anchors.set(p,c)});let lastScroll=0,lockScrollY=0;function unlockScroll(){document.documentElement.hasAttribute("data-mm-locked")&&(document.documentElement.removeAttribute("data-mm-locked"),document.documentElement.style.removeProperty("--mm-lock-y"),window.scrollTo(0,lockScrollY||0))}function anyPanelOpen(){return panels.some(p=>p.classList.contains("active"))}function mobileOpen(){return header.classList.contains("mobile-open")}function langOpen(){return!!header.querySelector(".lang-switcher .lang_switcher_class.is-open")}function setHeaderState(){const scrolled=window.scrollY>60,active=anyPanelOpen()||searchBar&&searchBar.classList.contains("active")||mobileOpen();if(header.classList.toggle("scrolled",scrolled||active),header.classList.toggle("transparent",!(scrolled||active)),header.classList.toggle("active",active),mqMobile.matches)return header.classList.remove("header-hidden"),void(lastScroll=window.scrollY);const current=window.scrollY;current>lastScroll&&current>57.6?header.classList.add("header-hidden"):header.classList.remove("header-hidden"),lastScroll=current}function closePanels(){panels.forEach(p=>{p.classList.remove("active"),p.setAttribute("inert","")}),items.forEach(li=>li.classList.remove("is-open","open","active")),header.querySelectorAll(".nav-trigger[aria-expanded]").forEach(b=>b.setAttribute("aria-expanded","false")),hamburger&&!header.classList.contains("mobile-open")&&hamburger.setAttribute("aria-expanded","false")}function closeSearch(){searchBar&&searchBar.classList.remove("active"),searchBtn&&searchBtn.setAttribute("aria-expanded","false")}function closeLang(){langSwitcher&&langSwitcher.classList.remove("active");const wrap=header.querySelector(".lang-switcher .lang_switcher_class");if(wrap){wrap.classList.remove("is-open");const btn=wrap.querySelector(".globe_class");btn&&btn.setAttribute("aria-expanded","false")}}function closeMobileDrawer(){header.classList.contains("mobile-open")&&(header.classList.remove("mobile-open"),unlockScroll())}function restorePanels(){panels.forEach(p=>{const anchor=anchors.get(p);anchor&&anchor.parentNode&&p.previousSibling!==anchor&&anchor.parentNode.insertBefore(p,anchor.nextSibling)})}const isIOS=/iPad|iPhone|iPod/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1;function setIconsHidden(hidden){if(!isIOS)return;header.querySelectorAll(".mega-col.left .icon").forEach(el=>{hidden?(el.setAttribute("data-icon-hidden","1"),el.style.display="none"):"1"===el.getAttribute("data-icon-hidden")&&(el.style.display="",el.removeAttribute("data-icon-hidden"))})}function openMenu(id){if(!mqDesktop.matches)return;header.querySelectorAll(".mega-menu.active").forEach(p=>{p.classList.remove("active"),p.setAttribute("inert","")});const panel=header.querySelector(`#menu-${CSS.escape(id)}`);panel&&(panel.classList.add("active"),panel.removeAttribute("inert")),items.forEach(li=>li.classList.toggle("is-open",li.dataset.menu===id)),header.querySelectorAll(".nav-trigger[aria-expanded]").forEach(b=>b.setAttribute("aria-expanded","false"));const btn=header.querySelector(`.nav-item[data-menu="${CSS.escape(id)}"] .nav-trigger`);btn&&btn.setAttribute("aria-expanded","true"),setHeaderState()}let bindAbort=null;function freshBindSignal(){return bindAbort?.abort(),bindAbort=new AbortController,bindAbort.signal}function bindDesktop(){const signal=freshBindSignal();
1restorePanels(),setIconsHidden(!1),items.forEach(li=>{const id=li.dataset.menu;li.addEventListener("mouseenter",()=>openMenu(id),{signal:signal})}),header.addEventListener("mouseleave",()=>{closePanels(),setHeaderState()},{signal:signal})}function bindMobile(){const signal=freshBindSignal();header.querySelectorAll(".mega-menu").forEach(p=>{const parent=p.parentElement;parent&&"UL"===parent.tagName&&parent.insertAdjacentElement("afterend",p)}),setIconsHidden(!0),closePanels(),items.forEach(li=>{const btn=li.querySelector(".nav-trigger");btn&&btn.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),function(li){const id=li.dataset.menu,panel=header.querySelector(`#menu-${CSS.escape(id)}`);if(!panel)return;const willOpen=!panel.classList.contains("active"),btn=li.querySelector(".nav-trigger");closePanels(),willOpen?(li.insertAdjacentElement("afterend",panel),li.classList.add("open","is-open","active"),btn?.setAttribute("aria-expanded","true"),panel.classList.add("active"),panel.removeAttribute("inert")):(btn?.setAttribute("aria-expanded","false"),setTimeout(()=>{btn?.focus(),btn?.blur(),btn?.focus()},50)),setHeaderState()}(li)},{signal:signal})}),hamburger&&nav&&hamburger.addEventListener("click",()=>{header.classList.toggle("mobile-open");const isOpen=header.classList.contains("mobile-open");if(hamburger.setAttribute("aria-expanded",isOpen?"true":"false"),hamburger.setAttribute("aria-label",isOpen?"Close menu":"Menu"),isOpen){const firstTrigger=nav.querySelector(".nav-trigger, .nav-simple");firstTrigger?.focus({preventScroll:!0}),mqMobile.matches&&(document.documentElement.hasAttribute("data-mm-locked")||(lockScrollY=window.scrollY||0,document.documentElement.style.setProperty("--mm-lock-y",`-${lockScrollY}px`),document.documentElement.setAttribute("data-mm-locked","")))}else hamburger.focus({preventScroll:!0}),closePanels(),restorePanels(),unlockScroll();setHeaderState()},{signal:signal})}header.addEventListener("keydown",e=>{if(!mqDesktop.matches)return;const trigger=e.target.closest(".nav-trigger"),li=trigger?.closest(".
1nav-item[data-menu]");if(trigger&&li){const id=li.dataset.menu;if("Enter"===e.key||" "===e.key||"ArrowDown"===e.key){e.preventDefault();const isOpen=li.classList.contains("is-open");if(closePanels(),!isOpen){openMenu(id);const panel=header.querySelector(`#menu-${CSS.escape(id)}`),firstLink=panel?.querySelector("a[href], button");setTimeout(()=>firstLink?.focus(),50)}return}if("Escape"===e.key)return closePanels(),trigger.focus(),void setHeaderState()}if(!["ArrowDown","ArrowUp","Escape","Tab"].includes(e.key))return;const activePanel=header.querySelector(".mega-menu.active");if(!activePanel||!activePanel.contains(document.activeElement))return;const panelId=activePanel.id?.replace(/^menu-/,""),triggerBtn=panelId&&header.querySelector(`.nav-item[data-menu="${CSS.escape(panelId)}"] .nav-trigger`),links=[...activePanel.querySelectorAll("a[href], button")],active=document.activeElement.closest("a[href], button"),idx=links.indexOf(active);if("ArrowDown"===e.key)e.preventDefault(),links[Math.min(idx+1,links.length-1)]?.focus();else if("ArrowUp"===e.key)e.preventDefault(),idx<=0?(closePanels(),triggerBtn?.focus(),setHeaderState()):links[idx-1]?.focus();else if("Escape"===e.key)closePanels(),triggerBtn?.focus(),setHeaderState();else if("Tab"===e.key){const last=links[links.length-1],first=links[0];e.shiftKey||document.activeElement!==last?e.shiftKey&&document.activeElement===first&&(closePanels(),setHeaderState()):(closePanels(),setHeaderState())}}),searchBtn&&searchBar&&(searchBtn.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();const open=!searchBar.classList.contains("active");closePanels(),closeLang(),closeMobileDrawer(),searchBar.classList.toggle("active",open),searchBtn.setAttribute("aria-expanded",open?"true":"false"),open&&searchBar.querySelector(".input")?.focus(),setHeaderState()}),header.querySelector(".search-form .clear")?.addEventListener("click",()=>{const input=header.querySelector(".search-form .input");input&&(input.value=""),closeSearch(),setHeaderState()})),(()=>{const wrap=header.querySelector(".lang-switcher .lang_switcher_class"),btn=wrap?.querySelector(".globe_class"),menu=wrap?.querySelector(".lang_list_class");if(!wrap||!btn||!menu)return;btn.setAttribute("tabindex","0"),btn.setAttribute("role","button"),btn.setAttribute("aria-label","Select language"),btn.setAttribute("aria-haspopup","listbox"),btn.setAttribute("aria-expanded","false"),btn.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),btn.click())}),btn.addEventListener("click",e=>{if(e.target.closest("a"))return;e.stopPropagation();const willOpen=!wrap.classList.contains("is-open");closePanels(),closeSearch(),closeMobileDrawer(),wrap.classList.toggle("is-open",willOpen),btn.setAttribute("aria-expanded",willOpen?"true":"false"),langSwitcher?.classList.toggle("active",willOpen),setHeaderState()});if(window.matchMedia("(hover: hover) and (pointer: fine)").matches){let hideT;wrap.addEventListener("mouseenter",()=>{clearTimeout(hideT),wrap.classList.add("is-open"),btn.setAttribute("aria-expanded","true"),langSwitcher?.classList.add("active")}),wrap.addEventListener("mouseleave",()=>{hideT=setTimeout(()=>closeLang(),120)}),menu.addEventListener("mouseenter",()=>clearTimeout(hideT))}})(),document.addEventListener("click",e=>{const t=e.target;if(!header.contains(t))return anyPanelOpen()&&closePanels(),searchBar?.classList.contains("active")&&closeSearch(),langOpen()&&closeLang(),closeMobileDrawer(),restorePanels(),mqDesktop.matches&&setIconsHidden(!1),void setHeaderState();t.closest("a[href]")||(!searchBar?.classList.contains("active")||t.closest(".search-bar-wrapper")||t.closest(".search-btn")||closeSearch(),langOpen()&&!t.closest(".lang-switcher")&&closeLang(),setHeaderState())}),document.addEventListener("keydown",e=>{if("Escape"===e.key)return searchBar?.classList.contains("active")?(closeSearch(),searchBtn?.focus(),void setHeaderState()):langOpen()?(closeLang(),void setHeaderState()):mobileOpen()?(header.classList.remove("mobile-open"),hamburger&&(hamburger.setAttribute("aria-expanded","false"),hamburger.setAttribute("aria-label","Menu")),closePanels(),restorePanels(),unlockScroll(),setTimeout(()=>hamburger?.focus(),50),void setHeaderState()):void(anyPanelOpen()&&(closePanels(),setHeaderState()))}),window.addEventListener("scroll",()=>{mqDesktop.matches&&setHeaderState()},{passive:!0}),mqDesktop.addEventListener("change",function(e){closePanels(),closeSearch(),closeLang(),closeMobileDrawer(),e.matches?(bindDesktop(),restorePanels()):bindMobile(),setHeaderState()}),mqDesktop.matches?(bindDesktop(),restorePanels()):bindMobile(),setHeaderState();const loginBtn=document.getElementById("loginModalTrigger"),loginModal=document.getElementById("loginModal");if(loginBtn&&loginModal){const modalOverlay=loginModal.querySelector(".login-modal__overlay"),modalClose=loginModal.querySelector(".login-modal__close"),modalContent=loginModal.querySelector(".login-modal__content"),focusableElements="a[href], button:not([disabled]), .login-modal__close";let previouslyFocusedElement=null;function getFocusableElements(){return Array.from(modalContent.querySelectorAll(focusableElements))}function trapFocus(e){if(!loginModal.classList.contains("active"))return;const focusables=getFocusableElements(),firstFocusable=focusables[0],lastFocusable=focusables[focusables.length-1];"Tab"===e.key&&(e.shiftKey?document.activeElement===firstFocusable&&(e.preventDefault(),lastFocusable.focus()):document.activeElement===lastFocusable&&(e.preventDefault(),firstFocusable.focus()))}function closeModal(){loginModal.classList.remove("active"),document.body.style.overflow="",document.removeEventListener("keydown",trapFocus),previouslyFocusedElement&&previouslyFocusedElement.focus()}loginBtn.setAttribute("aria-haspopup","dialog"),loginBtn.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),previouslyFocusedElement=document.activeElement,loginModal.classList.add("active"),document.body.style.overflow="hidden",setTimeout(()=>{getFocusableElements().length>0&&modalClose.focus()},100),void 0!==window._hsq&&window._hsq.push(["trackCustomBehavioralEvent",{name:"pe2802689_login_interaction",properties:{action:"modal_opened",language:document.documentElement.lang||"en",product:null}}]),document.addEventListener("keydown",trapFocus)}),loginModal.addEventListener("click",e=>{e.target!==loginModal&&e.target!==modalOverlay||closeModal()}),modalClose.addEventListener("click",closeModal),document.addEventListener("keydown",e=>{"Escape"===e.key&&loginModal.classList.contains("active")&&closeModal()}),loginModal.querySelectorAll(".login-modal__button").forEach(btn=>{btn.addEventListener("click",()=>{const isServices=btn.closest(".login-modal__column:first-child");void 0!==window._hsq&&window._hsq.push(["trackCustomBehavioralEvent",{name:"pe2802689_login_interaction",properties:{action:"login_clicked",language:document.documentElement.lang||"en",product:isServices?"lia_services":"lia_go"}}])})}),loginModal.querySelectorAll(".login-modal__signup a").forEach(link=>{link.addEventListener("click",()=>{const isServices=link.closest(".login-modal__column:first-child");void 0!==window._hsq&&window._hsq.push(["trackCustomBehavioralEvent",{name:"pe2802689_login_interaction",properties:{action:"signup_clicked",language:document.documentElement.lang||"en",product:isServices?"lia_services":"lia_go"}}])})})}header.querySelectorAll(".mega-col.left li").forEach(li=>{const a=li.querySelector("a[href]");a&&li.addEventListener("click",e=>{e.target.closest("a")||a.click()})})})(),(()=>{"use strict";if(window.__hdMegaMenuScrollupInit)return;window.__hdMegaMenuScrollupInit=!0;if(!document.querySelector(".hd-mega-menu"))return;if(!window.matchMedia("(min-width:1050px)").matches)return;let last=window.scrollY;function onScroll(){const y=window.scrollY,goingUp=y<last;y<=10?document.documentElement.classList.remove("scroll-up"):goingUp&&document.documentElement.classList.add("scroll-up"),last=y}window.addEventListener("scroll",onScroll,{passive:!0}),onScroll()})();
2//# sourceURL=https://2802689.fs1.hubspotusercontent-eu1.net/hubfs/2802689/hub_generated/template_assets/1/197300619666/1790155732669/template_hd-mega-menu.js

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.