1class ResponsiveImage extends HTMLElement{get intersecting(){return this.hasAttribute("intersecting")}constructor(){super(),this.img=this.querySelector("img"),this.observerCallback=this.observerCallback.bind(this),this.loadImage=this.loadImage.bind(this),this.img.onload=this.onLoad.bind(this),this.img.complete&&(this.removeAttribute("data-image-loading"),this.img.classList.add("f-img-loaded"))}connectedCallback(){"IntersectionObserver"in window?this.initIntersectionObserver():this.loadImage()}disconnectedCallback(){this.disconnectObserver()}loadImage(){this.setAttribute("intersecting","true"),this.img.width=this.clientWidth,this.img.height=this.clientHeight,this.img.sizes=this.clientWidth+"px"}onLoad(){this.removeAttribute("data-image-loading"),this.img.classList.add("f-img-loaded")}observerCallback(entries,observer){entries[0].isIntersecting&&(observer.unobserve(this),this.loadImage())}initIntersectionObserver(){if(this.observer)return;const rootMargin="10px";this.observer=new IntersectionObserver(this.observerCallback,{rootMargin}),this.observer.observe(this)}disconnectObserver(){this.observer&&(this.observer.disconnect(),this.observer=null,delete this.observer)}reinitialize(){this.img.complete&&this.img.naturalHeight>0?(this.removeAttribute("data-image-loading"),this.img.classList.add("f-img-loaded"),this.intersecting||(this.setAttribute("intersecting","true"),this.img.width=this.clientWidth,this.img.height=this.clientHeight,this.img.sizes=this.clientWidth+"px")):(this.removeAttribute("intersecting"),this.img.classList.remove("f-img-loaded"),this.setAttribute("data-image-loading",""),this.disconnectObserver(),"IntersectionObserver"in window?this.initIntersectionObserver():this.loadImage())}}customElements.define("responsive-image",ResponsiveImage),window.addEventListener("pageshow",event=>{event.persisted&&document.querySelectorAll("responsive-image").forEach(element=>{element.reinitialize&&element.reinitialize()})}); 2//# sourceMappingURL=/cdn/shop/t/2/assets/lazy-image.js.map?v=30273007870596461601777042791
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.