PageSourceSearch

https://www.lyleandscott.com/cdn/shop/t/458/assets/lyle-landing-page-menu.js?v=114827843120098780671788364383

js lyleandscott.com collected 2026-09-24 23:00:23 UTC 2,895 bytes, 2 lines download raw bytes

1const MOBILE_QUERY="(width < 1024px)",REDUCED_MOTION_QUERY="(prefers-reduced-motion: reduce)",MAIN_SECTIONS_SELECTOR=".site-main-section .shopify-section:not(.landing-page-menu-section)";class LyleLandingPageMenu extends HTMLElement{#toggle=null;#list=null;#mobileQuery=null;#isOpen=!1;connectedCallback(){this.#toggle=this.querySelector("[data-landing-page-menu-toggle]"),this.#list=this.querySelector("[data-landing-page-menu-list]"),this.#mobileQuery=window.matchMedia(MOBILE_QUERY),this.#toggle?.addEventListener("click",this.#handleToggle),this.#list?.addEventListener("click",this.#handleListClick),this.#mobileQuery.addEventListener("change",this.#handleBreakpointChange),document.addEventListener("keydown",this.#handleKeydown),document.addEventListener("click",this.#handleDocumentClick)}disconnectedCallback(){this.#toggle?.removeEventListener("click",this.#handleToggle),this.#list?.removeEventListener("click",this.#handleListClick),this.#mobileQuery?.removeEventListener("change",this.#handleBreakpointChange),document.removeEventListener("keydown",this.#handleKeydown),document.removeEventListener("click",this.#handleDocumentClick)}#handleBreakpointChange=()=>{this.#mobileQuery?.matches||this.#reset()};#handleToggle=()=>{this.#isOpen?this.#close():this.#open()};#handleListClick=event=>{const anchorTrigger=event.target.closest("[data-landing-page-menu-anchor]");anchorTrigger&&(event.preventDefault(),this.#scrollToSection(anchorTrigger.dataset.landingPageMenuAnchor)),this.#isOpen&&this.#close()};#handleKeydown=event=>{event.key==="Escape"&&this.#isOpen&&(this.#close(),this.#toggle?.focus())};#handleDocumentClick=event=>{this.#isOpen&&!this.contains(event.target)&&this.#close()};#open(){this.#list&&(this.#isOpen=!0,this.classList.add("is-open"),this.#toggle?.setAttribute("aria-expanded","true"),this.#list.style.height=`${this.#list.scrollHeight}px`)}#close(){this.#list&&(this.#isOpen=!1,this.classList.remove("is-open"),this.#toggle?.setAttribute("aria-expanded","false"),this.#list.style.height="0px")}#reset(){this.#isOpen=!1,this.classList.remove("is-open"),this.#toggle?.setAttribute("aria-expanded","false"),this.#list&&(this.#list.style.height="")}#scrollToSection(rawIndex){const index=Number.parseInt(rawIndex,10);if(!index||index<1)return;const target=document.querySelectorAll(MAIN_SECTIONS_SELECTOR)[index-1];if(!target)return;const headerOffset=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--header-visible-height"))||0,top=window.scrollY+target.getBoundingClientRect().top-headerOffset,behavior=window.matchMedia(REDUCED_MOTION_QUERY).matches?"auto":"smooth";window.scrollTo({top,left:0,behavior})}}customElements.get("lyle-landing-page-menu")||customElements.define("lyle-landing-page-menu",LyleLandingPageMenu);
2//# sourceMappingURL=/cdn/shop/t/458/assets/lyle-landing-page-menu.js.map?v=114827843120098780671788364383

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.