1class LyleProductGalleryExtension extends HTMLElement{#clickHandler=null;#scrollHandler=null;#indicatorClickHandler=null;#indicatorKeydownHandler=null;#scrollRevealTimer=null;#indicator=null;connectedCallback(){this.#clickHandler=e=>{const btn=e.target.closest("[data-extension-trigger]");btn&&document.dispatchEvent(new CustomEvent("product-gallery:open",{detail:{mediaId:btn.dataset.mediaId}}))},this.addEventListener("click",this.#clickHandler),this.#indicator=this.querySelector("[data-scroll-indicator]"),this.#indicator&&this.#setupScrollIndicator()}disconnectedCallback(){this.#clickHandler&&(this.removeEventListener("click",this.#clickHandler),this.#clickHandler=null),this.#scrollHandler&&(window.removeEventListener("scroll",this.#scrollHandler),this.#scrollHandler=null),this.#scrollRevealTimer&&(clearTimeout(this.#scrollRevealTimer),this.#scrollRevealTimer=null),this.#indicatorClickHandler&&this.#indicator&&(this.#indicator.removeEventListener("click",this.#indicatorClickHandler),this.#indicatorClickHandler=null),this.#indicatorKeydownHandler&&this.#indicator&&(this.#indicator.removeEventListener("keydown",this.#indicatorKeydownHandler),this.#indicatorKeydownHandler=null),this.#indicator=null}#setupScrollIndicator(){const reveal=()=>{this.getBoundingClientRect().bottom<=window.innerHeight&&(this.#scrollRevealTimer=setTimeout(()=>{this.#scrollRevealTimer=null,this.#indicator?.removeAttribute("inert"),this.#indicator?.classList.add("is-visible")},150),window.removeEventListener("scroll",this.#scrollHandler),this.#scrollHandler=null)};this.#scrollHandler=reveal,window.addEventListener("scroll",this.#scrollHandler,{passive:!0}),reveal();const scrollToNext=()=>{this.closest(".shopify-section")?.nextElementSibling?.scrollIntoView({behavior:"smooth",block:"start"})};this.#indicatorClickHandler=scrollToNext,this.#indicator.addEventListener("click",this.#indicatorClickHandler),this.#indicatorKeydownHandler=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),scrollToNext())},this.#indicator.addEventListener("keydown",this.#indicatorKeydownHandler)}}customElements.get("lyle-product-gallery-extension")||customElements.define("lyle-product-gallery-extension",LyleProductGalleryExtension); 2//# sourceMappingURL=/cdn/shop/t/458/assets/lyle-product-gallery-extension.js.map?v=54707353501129029411788364388
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.