PageSourceSearch

https://biaggi.com/cdn/shop/t/104/assets/component-product-image-zoom.js?v=66950941361435549001745337696

js biaggi.com collected 2026-09-24 09:37:02 UTC 3,159 bytes, 7 lines download raw bytes

1if(typeof ProductImageZoom!="function"){class ProductImageZoom2 extends HTMLElement{constructor(){super(),document.getElementById("zoom")?this.zoom=document.getElementById("zoom"):(this.zoom=document.createElement("div"),this.zoom.id="zoom",this.zoom.innerHTML=`
2					<img />
3					<span class="zoom__exit">${KROWN.settings.symbols.zoom_out}</span>
4					<span class="zoom__loader">${KROWN.settings.symbols.zoom_loader}</span>
5					<div class="zoom__overlay"></div>
6				`,document.body.append(this.zoom),this.zoom.querySelector(".zoom__exit").addEventListener("click",this._productZoomUnmount.bind(this))),this.onMouseMoveHandlerBinded=this.onMouseMoveHandler.bind(this),this.onResizeHandlerBinded=this.onResizeHandler.bind(this),this.addEventListener("click",e=>{this.zoom.classList.add("opened"),this.image=this.zoom.querySelector("img"),this.image.src=this.getAttribute("data-image"),this.image.naturalWidth>0?this._productZoomMount():this.image.addEventListener("load",this._productZoomMount.bind(this))})}onMouseMoveHandler(e){window.clientX=e.clientX,window.clientY=e.clientY;const x=e.clientX*(window.innerWidth-this.image.offsetWidth)/window.innerWidth,y=e.clientY*(window.innerHeight-this.image.offsetHeight)/window.innerHeight;this.image.style.left=x+"px",this.image.style.top=y+"px"}onResizeHandler(){const rf=window.innerWidth>768?1:2;this.image.classList.contains("portrait")?(this.image.style.width=window.innerWidth*rf+"px",this.image.style.height=window.innerWidth*rf/this.image.dataset.ratio+"px"):(this.image.style.height=window.innerHeight*rf+"px",this.image.style.width=window.innerHeight*rf*this.image.dataset.ratio+"px",this.image.offsetWidth<window.innerWidth&&(this.image.style.width=window.innerWidth*rf+"px",this.image.style.height=window.innerWidth*rf/this.image.dataset.ratio+"px"));const x=window.clientX*(window.innerWidth-this.image.offsetWidth)/window.innerWidth,y=window.clientY*(window.innerHeight-this.image.offsetHeight)/window.innerHeight}_productZoomMount(image){this.image.style.left=0,this.image.style.top=0,window.addEventListener("mousemove",this.onMouseMoveHandlerBinded,{passive:!0}),this.image.dataset.ratio=this.image.naturalWidth/this.image.naturalHeight,window.addEventListener("resize",this.onResizeHandlerBinded,{passive:!0}),this.onResizeHandler(),setTimeout(()=>{(document.body.classList.contains("touch")||document.body.classList.contains("touchevents"))&&(this.zoom.scrollTop=(window.innerHeight-this.image.offsetHeight)/-2,this.zoom.scrollLeft=(window.innerWidth-this.image.offsetWidth)/-2),this.zoom.classList.add("loaded")},50)}_productZoomUnmount(){this.zoom.classList.remove("opened"),setTimeout(()=>{window.removeEventListener("resize",this.onResizeHandlerBinded),window.removeEventListener("mousemove",this.onMouseMoveHandlerBinded);const image=document.querySelector("#zoom img");image.src="",image.className="",image.style="",this.zoom.classList.remove("loaded")},300)}}typeof customElements.get("product-image-zoom")>"u"&&customElements.define("product-image-zoom",ProductImageZoom2)}
7//# sourceMappingURL=/cdn/shop/t/104/assets/component-product-image-zoom.js.map?v=66950941361435549001745337696

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.