PageSourceSearch

https://www.lussostone.com/cdn/shop/t/318/assets/drawer.js?v=7360986769607326931786372362

js lussostone.com collected 2026-10-02 07:40:57 UTC 2,633 bytes, 2 lines download raw bytes

1class Drawer extends HTMLElement{connectedCallback(){this.addEventListener("keyup",evt=>evt.code==="Escape"&&this.close()),this.querySelector("[id*=-Overlay]")?.addEventListener("click",this.close.bind(this))}open(triggeredBy){triggeredBy&&this.setActiveElement(triggeredBy),setTimeout(()=>{document.querySelector("mobile-menu").mobilemenuHide(),document.body.classList.add("drawer--isActive"),this.classList.add("animate","active")}),this.addEventListener("transitionend",()=>{const containerToTrapFocusOn=this.classList.contains("is-empty")?this.querySelector(".drawer__inner-empty"):this.firstElementChild,focusElement=this.querySelector(".drawer__inner")||this.querySelector(".drawer__close");trapFocus(containerToTrapFocusOn,focusElement)},{once:!0}),document.body.classList.add("overflow-hidden")}close(){this.classList.remove("active"),removeTrapFocus(this.activeElement),document.body.classList.remove("overflow-hidden"),setTimeout(()=>document.body.classList.remove("drawer--isActive"),300),document.body.dispatchEvent(new CustomEvent("drawerClosed"))}setActiveElement(element){this.activeElement=element}}customElements.define("drawer-component",Drawer);class DrawerButton extends Drawer{drawerTag=null;drawer=null;drawerEnergyRating=null;connectedCallback(){this.drawerTag=this.dataset.drawerTag,this.drawerEnergyRating=this.dataset.energyRating,this.classList.contains("hotspot")&&this.addEventListener("mouseenter",this.handleHotspotHover.bind(this)),this.drawerTag&&(this.drawer=document.querySelector(`#${this.drawerTag}`),this.drawer&&this.addEventListener("click",event=>this.handleClick(event)))}handleClick(event){(this.dataset.action?this.dataset.action:"open")==="open"?this.drawer.open(this):this.drawer.close()}handleHotspotHover(){const overlay=this.querySelector(".hotspot__overlay");if(!overlay)return;const overlayHeight=overlay.offsetHeight,beforeStyles=window.getComputedStyle(overlay,"::before");let extraSpace=parseFloat(beforeStyles.height);isNaN(extraSpace)&&(extraSpace=20);const totalRequiredHeight=overlayHeight+extraSpace,hotspotRect=this.getBoundingClientRect(),spaceBelow=window.innerHeight-hotspotRect.bottom,section=this.closest(".shopify-section")||this.closest("section")||this.parentNode;let spaceBelowSection=1/0;section&&(spaceBelowSection=section.getBoundingClientRect().bottom-hotspotRect.bottom),spaceBelow<totalRequiredHeight||spaceBelowSection<totalRequiredHeight?this.classList.add("hotspot--flip"):this.classList.remove("hotspot--flip")}}customElements.define("drawer-button",DrawerButton);
2//# sourceMappingURL=/cdn/shop/t/318/assets/drawer.js.map?v=7360986769607326931786372362

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.