PageSourceSearch

https://embercollective.com/cdn/shop/t/123/assets/mega-menu-custom.js?v=97050834654030312321778265889

js embercollective.com collected 2026-10-09 21:51:05 UTC 3,931 bytes, 2 lines download raw bytes

1function initMegaMenuClickImages(){document.querySelectorAll("[data-mega-menu-root]").forEach(menuRoot=>{console.log("menuRoot",menuRoot);const hoverPanels=menuRoot.querySelectorAll(".mega-menu__hover-panel");if(!hoverPanels.length)return;menuRoot.dataset.enableHoverSwap==="true"?initSwapMode(menuRoot,hoverPanels):initPanelMode(menuRoot,hoverPanels)})}function initSwapMode(menuRoot,hoverPanels){const swapContainer=menuRoot.querySelector("[data-swap-image]"),swapImg=swapContainer?swapContainer.querySelector("img"):null;if(!swapImg)return;const originalSrc=swapImg.src,originalSrcset=swapImg.srcset,ctaEl=menuRoot.querySelector(".mega-menu__promo-default .button-outlined"),imageLinkEl=menuRoot.querySelector(".mega-menu__promo-default .image-link"),ctaLabelEl=ctaEl?ctaEl.querySelector(".button-outlined__label"):null,originalCtaHref=ctaEl?ctaEl.getAttribute("href"):null,originalCtaLabel=ctaLabelEl?ctaLabelEl.textContent:null;function swapTo(targetKey){const panel=[...hoverPanels].find(p=>p.dataset.hoverTarget===targetKey);if(!panel)return;const panelImg=panel.querySelector("img");panelImg&&(swapImg.src=panelImg.src,swapImg.srcset=panelImg.srcset||""),ctaEl&&panel.dataset.ctaUrl&&(ctaEl.setAttribute("href",panel.dataset.ctaUrl),imageLinkEl.setAttribute("href",panel.dataset.ctaUrl)),ctaLabelEl&&panel.dataset.ctaLabel&&(ctaLabelEl.textContent=panel.dataset.ctaLabel),imageLinkEl&&panel.dataset.ctaUrl&&imageLinkEl.setAttribute("href",panel.dataset.ctaUrl)}function restoreOriginal(){swapImg.src=originalSrc,swapImg.srcset=originalSrcset,ctaEl&&originalCtaHref!==null&&ctaEl.setAttribute("href",originalCtaHref),ctaLabelEl&&originalCtaLabel!==null&&(ctaLabelEl.textContent=originalCtaLabel)}[...menuRoot.querySelectorAll("[data-hover-id]")].forEach(link=>{[...hoverPanels].some(p=>p.dataset.hoverTarget===link.dataset.hoverId)&&link.addEventListener("mouseenter",()=>{swapTo(link.dataset.hoverId)})}),menuRoot.querySelector(".mega-menu__linklist")?.addEventListener("mouseleave",()=>{});const detailsEl=menuRoot.closest("details");detailsEl&&detailsEl.addEventListener("toggle",()=>{detailsEl.open||restoreOriginal()})}function initPanelMode(menuRoot,hoverPanels){const defaultPanel=menuRoot.querySelector(".mega-menu__promo-default");let activeLink=null;function showPanel(targetKey){let matched=!1;hoverPanels.forEach(panel=>{panel.dataset.hoverTarget===targetKey?(panel.hidden=!1,matched=!0):panel.hidden=!0}),defaultPanel&&(defaultPanel.hidden=matched)}function resetPanels(){hoverPanels.forEach(panel=>{panel.hidden=!0}),defaultPanel&&(defaultPanel.hidden=!1),activeLink&&(activeLink.classList.remove("mega-menu__link--active"),activeLink=null);const firstLink2=[...menuRoot.querySelectorAll("[data-hover-id]")].find(link=>[...hoverPanels].some(p=>p.dataset.hoverTarget===link.dataset.hoverId));firstLink2&&(activeLink=firstLink2,firstLink2.classList.add("mega-menu__link--active"),showPanel(firstLink2.dataset.hoverId))}const links=[...menuRoot.querySelectorAll("[data-hover-id]")];links.forEach(link=>{link.addEventListener("click",e=>{const targetKey=link.dataset.hoverId;[...hoverPanels].some(p=>p.dataset.hoverTarget===targetKey)&&(e.preventDefault(),activeLink&&activeLink!==link&&activeLink.classList.remove("mega-menu__link--active"),activeLink=link,link.classList.add("mega-menu__link--active"),showPanel(targetKey))})});const firstLink=links.find(link=>[...hoverPanels].some(p=>p.dataset.hoverTarget===link.dataset.hoverId));firstLink&&(activeLink=firstLink,firstLink.classList.add("mega-menu__link--active"),showPanel(firstLink.dataset.hoverId));const detailsEl=menuRoot.closest("details");detailsEl&&detailsEl.addEventListener("toggle",()=>{detailsEl.open||resetPanels()})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initMegaMenuClickImages):initMegaMenuClickImages();
2//# sourceMappingURL=/cdn/shop/t/123/assets/mega-menu-custom.js.map?v=97050834654030312321778265889

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.