PageSourceSearch

https://distance-store.jp/cdn/shop/t/7/assets/vite-panel-zoom-CZQMR4GA.min.js?v=139143005560540198751781009908

js distance-store.jp collected 2026-10-04 19:29:57 UTC 5,766 bytes, 1 lines download raw bytes

1import{r as e}from"./vite-vendor-utils-BF5NM8oH.min.js";var t=`panel-zoom`;function n(n){let r=null;return{scale:1,minScale:1,maxScale:3,scaleStep:1,translateX:0,translateY:0,isDragging:!1,lastPointerX:0,lastPointerY:0,imageElement:null,containerElement:null,rafId:null,pendingUpdate:!1,currentIndex:0,imagesLength:Math.max(0,Number(n?.imagesLength??0)),isPinching:!1,pinchStartDistance:0,pinchStartScale:1,pinchStartTranslateX:0,pinchStartTranslateY:0,pinchMidX:0,pinchMidY:0,init(){r=()=>{this.initializeZoom({detail:{id:t}})},typeof window<`u`&&window.addEventListener(`resize`,r)},destroy(){typeof window<`u`&&r&&window.removeEventListener(`resize`,r)},initializeZoom(n){let r=n.detail;(r===t||typeof r==`object`&&(r?.id===t||typeof r.index==`number`))&&this.$nextTick(()=>{let t=document.querySelector(`#overlays-container .drawer.panel-zoom [data-panel-zoom="image-container"]`);t&&(this.containerElement=t,this.imageElement=t.querySelector(`[data-panel-zoom="image"]`),this.containerElement&&this.imageElement&&(typeof r==`object`&&typeof r.index==`number`&&(this.currentIndex=e(r.index,0,this.imagesLength>0?this.imagesLength-1:0)),this.updateCurrentImageElement(),this.resetZoom()))})},cancelPendingUpdate(){this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null,this.pendingUpdate=!1)},zoomIn(){let e=Math.min(this.scale+this.scaleStep,this.maxScale);e!==this.scale&&(this.scale=e,this.constrainPan(),this.scheduleUpdate())},zoomOut(){let e=Math.max(this.scale-this.scaleStep,this.minScale);e!==this.scale&&(this.scale=e,this.scale===this.minScale?(this.translateX=0,this.translateY=0):this.constrainPan(),this.scheduleUpdate())},resetZoom(){this.cancelPendingUpdate(),this.scale=this.minScale,this.translateX=0,this.translateY=0,this.scheduleUpdate()},prevImage(){this.currentIndex<=0||(--this.currentIndex,this.updateCurrentImageElement(),this.resetZoom())},nextImage(){this.imagesLength!==0&&(this.currentIndex>=this.imagesLength-1||(this.currentIndex+=1,this.updateCurrentImageElement(),this.resetZoom()))},goToImage(t){if(this.imagesLength===0)return;let n=e(t,0,this.imagesLength-1);n!==this.currentIndex&&(this.currentIndex=n,this.updateCurrentImageElement(),this.resetZoom())},handlePointerDown(e){this.isPinching||this.scale<=this.minScale||(this.isDragging=!0,this.lastPointerX=e.clientX,this.lastPointerY=e.clientY,this.containerElement&&(this.containerElement.style.cursor=`grabbing`,this.containerElement.setPointerCapture(e.pointerId)))},handlePointerMove(e){if(this.isPinching||!this.isDragging||this.scale<=this.minScale)return;let t=e.clientX-this.lastPointerX,n=e.clientY-this.lastPointerY;this.translateX+=t,this.translateY+=n,this.constrainPan(),this.scheduleUpdate(),this.lastPointerX=e.clientX,this.lastPointerY=e.clientY},handlePointerUp(){this.isDragging=!1,this.scheduleUpdate()},handleWheel(t){let n=t.deltaY>0?-this.scaleStep:this.scaleStep,r=e(this.scale+n,this.minScale,this.maxScale);if(r!==this.scale){let e=this.containerElement?.getBoundingClientRect();if(e){let n=t.clientX-e.left-e.width/2,i=t.clientY-e.top-e.height/2,a=r/this.scale;this.translateX=n-(n-this.translateX)*a,this.translateY=i-(i-this.translateY)*a}this.scale=r,this.scale===this.minScale?(this.translateX=0,this.translateY=0):this.constrainPan(),this.scheduleUpdate()}},handleTouchStart(e){if(e.touches.length<2)return;this.isPinching=!0,this.isDragging=!1;let[t,n]=[e.touches[0],e.touches[1]];this.pinchStartDistance=Math.hypot(n.clientX-t.clientX,n.clientY-t.clientY),this.pinchStartScale=this.scale,this.pinchStartTranslateX=this.translateX,this.pinchStartTranslateY=this.translateY;let r=this.containerElement?.getBoundingClientRect();r&&(this.pinchMidX=(t.clientX+n.clientX)/2-r.left-r.width/2,this.pinchMidY=(t.clientY+n.clientY)/2-r.top-r.height/2)},handleTouchMove(t){if(!this.isPinching||t.touches.length<2)return;let[n,r]=[t.touches[0],t.touches[1]],i=Math.hypot(r.clientX-n.clientX,r.clientY-n.clientY)/this.pinchStartDistance,a=e(this.pinchStartScale*i,this.minScale,this.maxScale);if(a!==this.scale){let e=a/this.pinchStartScale;this.translateX=this.pinchMidX-(this.pinchMidX-this.pinchStartTranslateX)*e,this.translateY=this.pinchMidY-(this.pinchMidY-this.pinchStartTranslateY)*e,this.scale=a,this.scale<=this.minScale?(this.translateX=0,this.translateY=0):this.constrainPan(),this.scheduleUpdate()}},handleTouchEnd(e){e.touches.length<2&&(this.isPinching=!1)},handleDoubleClick(){this.scale>this.minScale?this.resetZoom():(this.scale=Math.min(2,this.maxScale),this.constrainPan(),this.scheduleUpdate())},scheduleUpdate(){this.pendingUpdate||(this.pendingUpdate=!0,this.rafId=requestAnimationFrame(()=>{this.performUpdate(),this.pendingUpdate=!1,this.rafId=null}))},performUpdate(){this.containerElement&&(this.containerElement.style.setProperty(`--pz-translate-x`,`${this.translateX}px`),this.containerElement.style.setProperty(`--pz-translate-y`,`${this.translateY}px`),this.containerElement.style.setProperty(`--pz-scale`,`${this.scale}`),this.containerElement.style.cursor=this.scale>this.minScale?this.isDragging?`grabbing`:`grab`:`default`)},constrainPan(){if(!this.containerElement||!this.imageElement)return;let t=this.containerElement.getBoundingClientRect(),n=this.getImageBounds(),r=n.width*this.scale,i=n.height*this.scale,a=Math.max(0,(r-t.width)/2),o=Math.max(0,(i-t.height)/2);this.translateX=e(this.translateX,-a,a),this.translateY=e(this.translateY,-o,o)},getImageBounds(){return this.imageElement?{width:this.imageElement.offsetWidth,height:this.imageElement.offsetHeight}:{width:0,height:0}},updateCurrentImageElement(){if(!this.containerElement)return;
1let e=this.containerElement.querySelectorAll(`[data-panel-zoom="image"] > [data-index]`)?.[this.currentIndex];e&&(this.imageElement=e)}}}export{n as data};

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.