1document.addEventListener("alpine:init",()=>{Alpine.data("Theme_Zoom",()=>({imageProxies:[],_isLandscapeMQL:window.matchMedia("(orientation: landscape)"),viewportIsLandscape:!1,willOverflow:!1,init(){this.viewportIsLandscape=this._isLandscapeMQL.matches,this.$watch("imageProxies",()=>{this.$nextTick(()=>{this.checkOverflow()})}),this._isLandscapeMQL.addEventListener("change",e=>{this.viewportIsLandscape=e.matches}),window.addEventListener("resize",debounce(()=>{this.checkOverflow()},300))},scrollZoomAreaTo(index){document.dispatchEvent(new CustomEvent("unzoom")),this.$root.querySelector(`[data-index="${index}"]`).scrollIntoView({behavior:"smooth"})},checkOverflow(){this.willOverflow=this.$refs.proxyContainer.scrollHeight>window.innerHeight}})),Alpine.data("Theme_Zoomable",()=>({zoomed:!1,loaded:!1,init(){this.imageProxies.push({ratio:this.$refs.image.clientWidth/this.$refs.image.clientHeight,current:!1}),this.$refs.image.complete?this.loaded=!0:this.$refs.image.addEventListener("load",e=>{this.$refs.image.complete&&(this.loaded=!0)})},handleZoom(){this.$nextTick(()=>{const frameWidth=this.$el.clientWidth,frameHeight=this.$el.clientHeight,zoomTarget={x:this.$event.detail.ratioX*this.$refs.image.clientWidth,y:this.$event.detail.ratioY*this.$refs.image.clientHeight},frameCenter={x:frameWidth/2,y:frameHeight/2},pointerDelta={x:frameWidth*this.$event.detail.deltaX,y:frameHeight*this.$event.detail.deltaY};this.$el.scroll(zoomTarget.x-frameCenter.x+pointerDelta.x,zoomTarget.y-frameCenter.y+pointerDelta.y)})},unZoom(){this.zoomed&&(this.zoomed=!1)},handleImageClick(){if(this.zoomed){this.zoomed=!1;return}const unzoomedImageWidth=this.$el.clientWidth,unzoomedImageHeight=this.$el.clientHeight,unzoomedImageCenter={x:unzoomedImageWidth/2,y:unzoomedImageHeight/2};this.$dispatch("zoom",{ratioX:this.$event.offsetX/unzoomedImageWidth,ratioY:this.$event.offsetY/unzoomedImageHeight,deltaX:(unzoomedImageCenter.x-this.$event.offsetX)/unzoomedImageWidth,deltaY:(unzoomedImageCenter.y-this.$event.offsetY)/unzoomedImageHeight}),this.zoomed=!0}}))}); 2//# sourceMappingURL=/cdn/shop/t/95/assets/zoom.js.map?v=147666920802200665731763134145
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.