PageSourceSearch

https://www.redken.eu/themes/redken/async-chunks/image-pinch-ab8689813ec2161c2fb0-chunk.js

js redken.eu collected 2026-10-09 18:30:10 UTC 4,510 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkwf_core_setup=self.webpackChunkwf_core_setup||[]).push([[3605],{1118:(t,i,n)=>{n.r(i),n.d(i,{default:()=>s});var e=function(){var t=this,i=t._self._c;return i("div",{staticClass:"pinch-placeholder"},[t.matchMedia.uptoTabView?i("img",{staticClass:"pinch-img-placeholder",attrs:{src:t.src,alt:t.alt}}):t._e(),t._v(" "),t.matchMedia.uptoTabView?i("div",{staticClass:"pinch-wrapper",style:t.zoomStyles,on:{touchstart:t.start,touchmove:t.move,touchend:t.end}},[i("img",{ref:"imagepinch",staticClass:"pinch-img",attrs:{src:t.src,alt:t.alt}})]):t._e()])};e._withStripped=!0;const o={name:"image-pinch",props:{src:{type:String,required:!0},alt:String,minZoom:{type:Number,default:1},maxZoom:{type:Number,default:2.25}},data:function(){return{zoom:1,minZoomBounce:.015,maxZoomBounce:.015,speed:.5,lastX:null,lastY:null,x:0,y:0,zoomCenter:{x:0,y:0},width:window.innerWidth,height:window.innerHeight,lastTouchTime:null,clickTimer:null,inMovement:!1,transition:{transform:null,origin:"transform-origin 400ms linear"}}},computed:{zoomStyles:function(){var t="";return this.transition.transform&&(t+=this.transition.transform),this.transition.origin&&(t+=(t.length>0?", ":"")+this.transition.origin),{transform:"scale(".concat(this.zoom,") translate3d(").concat(this.x,"px, ").concat(this.y,"px, 0px)"),transformOrigin:"".concat(this.zoomCenter.x,"px ").concat(this.zoomCenter.y,"px 0px"),transition:t}}},methods:{start:function(t){2===t.touches.length?(t.preventDefault(),this.handlePinchStart(t)):1===t.touches.length&&this.handleTapStart(t)},end:function(t){t.preventDefault(),!this.inMovement&&this.zoom<=this.minZoom?t.timeStamp-this.lastTouchTime>200&&this.resetZoom():(this.lastX=0,this.lastY=0),0===t.touches.length&&this.zoom<=1&&(this.lastTouchTime=t.timeStamp)},move:function(t){this.zoom>this.minZoom&&(t.preventDefault(),2===t.touches.length?this.handlePinchMove(t):this.handlePanMove(t))},resetZoom:function(){var t=this;this.zoom=1,this.zoomCenter.x=0,this.zoomCenter.y=0,this.x=0,this.y=0,setTimeout(function(){t.transition.transform=null},200)},handlePinchStart:function(t){var i=this.getTouchCenter(this.getTouchesCenter(t.touches[0],t.touches[1])),n=i.x,e=i.y;this.zoom<this.maxZoom&&(this.zoomCenter.x=n,this.zoomCenter.y=e),this.lastDistance=this.getZoomDistance(t.touches[0],t.touches[1])},handlePinchMove:function(t){var i=this.getZoomDistance(t.touches[0],t.touches[1]),n=i/this.lastDistance,e=this.calcZoom(this.minZoom-this.minZoomBounce,this.maxZoom+this.maxZoomBounce,this.zoom*n);(this.zoom<this.maxZoom||this.zoom>=this.maxZoom&&e<this.zoom)&&(this.zoom=e),this.lastDistance=i},canMoveX:function(t,i){return t.left>0&&i>0||t.right<this.width&&i<0},canMoveY:function(t,i){return t.top>0&&i>0||t.bottom<this.height&&i<0},handlePanMove:function(t){if(this.zoom>1){var i=t.touches[0],n=i.clientX,e=i.clientY;if(!this.lastX||!this.lastY)return this.lastX=n,void(this.lastY=e);var o=this.$refs.imagepinch.getBoundingClientRect(),s=(n-this.lastX)*this.speed,h=(e-this.lastY)*this.speed;this.transition.transform=null,this.x+=s,this.y+=h,this.canMoveX(o,s)&&(this.x-=s),this.canMoveY(o,h)&&(this.y-=h),this.lastX=n,this.lastY=e}},handleTapStart:function(t){var i=t.touches[0],n=i.clientX,e=i.clientY;this.lastX&&this.lastY||(this.lastX=n,this.lastY=e),this.lastTouchTime&&t.timeStamp-this.lastTouchTime<200&&(this.handleDoubleTap(t.touches[0]),this.lastX=null,this.lastY=null),this.lastTouchTime=t.timeStamp},handleDoubleTap:function(t){var i=this,n=this.getTouchCenter({x:t.clientX,y:t.clientY}),e=n.x,o=n.y;clearTimeout(this.clickTimeout),this.inMovement=!0,this.transition.origin="transform-origin 400ms linear",this.transition.transform="transform 200ms linear",this.zoom>this.minZoom?(this.zoom=1,this.x=0,this.y=0,this.clickTimeout=setTimeout(function(){i.zoomCenter.x=0,i.zoomCenter.y=0,i.inMovement=!1},200)):(this.transition.origin=null,this.zoomCenter.x=e,this.zoomCenter.y=o,this.clickTimeout=setTimeout(function(){i.transition.origin="transform-origin 400ms linear",i.zoom=i.maxZoom,i.inMovement=!1},200))},getTouchCenter:function(t){var i=t.x,n=t.y,e=this.$el.getBoundingClientRect();return{x:i-e.left,y:n-e.top}},calcZoom:function(t,i,n){return Math.min(i,Math.max(t,n))},getZoomDistance:function(t,i){return Math.sqrt((t.clientY-i.clientY)*(t.clientY-i.clientY)+(t.clientX-i.clientX)*(t.clientX-i.clientX))},getTouchesCenter:function(t,i){return{x:(t.clientX+i.clientX)/2,y:(t.clientY+i.clientY)/2}}}},s=(0,n(4486).A)(o,e,[],!1,null,null,null).exports}}]);

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.