PageSourceSearch

https://equestrianstockholm.com/cdn/shop/t/104/assets/component-drawer-menu.js?v=569098690478219031789996713

js equestrianstockholm.com collected 2026-09-24 10:34:05 UTC 4,619 bytes, 2 lines download raw bytes

1class DrawerMenu extends HTMLElement{constructor(){"use strict";super(),this.el=this,this.mainLevel=this.el.querySelector(".drawer-menu__contents"),this.init()}init(){this._mqDesktop=window.matchMedia("(min-width: 1024px)");const onBpChange=()=>this.autoCloseForMegaDesktop();this._mqDesktop.addEventListener&&this._mqDesktop.addEventListener("change",onBpChange),this.autoCloseForMegaDesktop(),this.firstLevelItemsWithChildren=this.el.querySelectorAll(".drawer-menu__item__input"),this.firstLevelItemsWithChildren.forEach(input=>{input.addEventListener("change",this.toggleMenuItem.bind(this))}),this.submenuItemsWithChildren=this.el.querySelectorAll(".drawer-submenu__item__input"),this.submenuItemsWithChildren.forEach(input=>{input.addEventListener("change",this.toggleSubmenuItem.bind(this))}),this.closeButtons=this.el.querySelectorAll("[data-close]"),this.closeButtons.forEach(btn=>{btn.addEventListener("click",this.closeAllItems.bind(this))}),this.overlay=this.el.querySelector("[data-overlay]"),this.overlay.addEventListener("click",this.closeAllItems.bind(this)),this.secondLevelBackButtons=this.el.querySelectorAll("[data-drawer-submenu-close], [data-drawer-subsubmenu-close]"),this.secondLevelBackButtons.forEach(button=>{button.addEventListener("click",this.toggleSubPanel.bind(this))}),this.subitemOpeners=document.querySelectorAll("[data-drawer-submenu-open]"),this.subitemOpeners.forEach(button=>{button.addEventListener("click",this.toggleMenuItemFromTheme.bind(this))})}autoCloseForMegaDesktop(){if(!this.el.classList.contains("menu-mega")||!this._mqDesktop?.matches||!this._isDrawerOpen())return;let closeBtn=this.el.querySelector("[data-close]");closeBtn&&closeBtn.click()}_isDrawerOpen(){return this.el.classList.contains("is-open")||this.el.getAttribute("aria-hidden")==="false"?!0:!!this.mainLevel?.querySelector("input:checked")}closeAllItems(event,skipEl){this.mainLevel.querySelectorAll("input:checked").forEach(checkbox=>{if(skipEl&&checkbox===skipEl)return;checkbox.checked=!1;const accordion=checkbox.closest("[data-accordion-item]");accordion&&(accordion.classList.remove("is-open"),screen.width<=820&&accordion.closest(".drawer-menu__contents").classList.remove("pull-left"))}),skipEl||this.mainLevel.classList.remove("has-open-submenu")}toggleMenuItem(scope){const input=scope.currentTarget||scope;if(!input)return;this.closeAllItems(scope,input);const accordion=input.closest("[data-accordion-item]");accordion&&(screen.width<=820&&accordion.closest(".drawer-menu__contents").classList.toggle("pull-left"),accordion.classList.toggle("is-open"),accordion.classList.contains("is-open")?this.mainLevel.classList.add("has-open-submenu"):this.mainLevel.classList.remove("has-open-submenu"))}toggleMenuItemFromTheme(scope){let target=!1;const url=(scope.currentTarget||scope).getAttribute("data-drawer-submenu-open");for(const input of this.firstLevelItemsWithChildren)if(input.getAttribute("data-href")===url){target=input;break}if(!target)return;Woolman.ModalsAndDrawers.showModalOrDrawer(this.el.getAttribute("id"));const animationFinished=()=>{this.el.removeEventListener("transitionend",animationFinished);const evt=new Event("change");target.checked=!0,target.dispatchEvent(evt)};this.el.addEventListener("transitionend",animationFinished)}toggleSubPanel(event){const button=event.currentTarget,targetSelector=button.getAttribute("data-drawer-submenu-close");if(!targetSelector)return;const submenuItem=button.closest(".drawer-submenu__item");submenuItem&&submenuItem.classList.remove("is-open");const input=document.getElementById(targetSelector);input&&input.focus()}toggleSubPanel(event){const targetSelector=event.currentTarget.getAttribute("data-drawer-submenu-close");if(!targetSelector)return;const input=document.getElementById(targetSelector);if(!input)return;input.checked=!1;const accordion=input.closest("[data-accordion-item]");accordion&&(accordion.classList.remove("is-open"),screen.width<=820&&accordion.closest(".drawer-menu__contents").classList.remove("pull-left")),this.mainLevel.querySelectorAll("input:checked").length===0&&this.mainLevel.classList.remove("has-open-submenu"),input.focus()}toggleSubmenuItem(event){const input=event.currentTarget,submenuItem=input.closest(".drawer-submenu__item"),parentMenuItem=submenuItem.closest(".drawer-menu__item");submenuItem.classList.toggle("is-open",input.checked),parentMenuItem.classList.toggle("is-open",input.checked)}}customElements.get("drawer-menu")===void 0&&customElements.define("drawer-menu",DrawerMenu);
2//# sourceMappingURL=/cdn/shop/t/104/assets/component-drawer-menu.js.map?v=569098690478219031789996713

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.