PageSourceSearch

https://volumo.com/_next/static/chunks/2965.1cb0042188eff6eb.js

js volumo.com collected 2026-10-03 21:26:55 UTC 25,244 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2965],{10027:(t,e,i)=>{"use strict";var o=i(64785),r=i(63543);function n(t){var e=0,i=0,o=0,r=0;return"detail"in t&&(i=t.detail),"wheelDelta"in t&&(i=-t.wheelDelta/120),"wheelDeltaY"in t&&(i=-t.wheelDeltaY/120),"wheelDeltaX"in t&&(e=-t.wheelDeltaX/120),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=i,i=0),o=10*e,r=10*i,"deltaY"in t&&(r=t.deltaY),"deltaX"in t&&(o=t.deltaX),(o||r)&&t.deltaMode&&(1==t.deltaMode?(o*=40,r*=40):(o*=800,r*=800)),o&&!e&&(e=o<1?-1:1),r&&!i&&(i=r<1?-1:1),{spinX:e,spinY:i,pixelX:o,pixelY:r}}n.getEventType=function(){return o.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},t.exports=n},18738:t=>{"use strict";var e=!!("u">typeof window&&window.document&&window.document.createElement);t.exports={canUseDOM:e,canUseWorkers:"u">typeof Worker,canUseEventListeners:e&&!!(window.addEventListener||window.attachEvent),canUseViewport:e&&!!window.screen,isInWorker:!e}},22965:(t,e,i)=>{"use strict";i.d(e,{Ay:()=>S});var o=i(53239),r=i(43930);function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,o)}return i}function h(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?s(Object(i),!0).forEach(function(e){!function(t,e,i){var o;(o=function(t,e){if("object"!=n(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var o=i.call(t,e||"default");if("object"!=n(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(e,"string"),(e="symbol"==n(o)?o:o+"")in t)?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i}(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):s(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function a(t,e,i,o,r=0){let{width:n,height:s}=g(e.width,e.height,r);return{x:c(t.x,n,i.width,o),y:c(t.y,s,i.height,o)}}function c(t,e,i,o){let r=Math.abs(e*o/2-i/2);return f(t,-r,r)}function p(t,e){return Math.sqrt(Math.pow(t.y-e.y,2)+Math.pow(t.x-e.x,2))}function u(t,e){return 180*Math.atan2(e.y-t.y,e.x-t.x)/Math.PI}function l(t,e){return Math.min(t,Math.max(0,e))}function d(t,e){return e}function m(t,e){return{x:(e.x+t.x)/2,y:(e.y+t.y)/2}}function g(t,e,i){let o=i*Math.PI/180;return{width:Math.abs(Math.cos(o)*t)+Math.abs(Math.sin(o)*e),height:Math.abs(Math.sin(o)*t)+Math.abs(Math.cos(o)*e)}}function f(t,e,i){return Math.min(Math.max(t,e),i)}function v(...t){return t.filter(t=>"string"==typeof t&&!!(t.length>0)).join(" ").trim()}var w=class t extends o.Component{constructor(...e){super(...e),this.cropperRef=o.createRef(),this.imageRef=o.createRef(),this.videoRef=o.createRef(),this.containerPosition={x:0,y:0},this.containerRef=null,this.styleRef=null,this.containerRect=null,this.mediaSize={width:0,height:0,naturalWidth:0,naturalHeight:0},this.dragStartPosition={x:0,y:0},this.dragStartCrop={x:0,y:0},this.gestureZoomStart=0,this.gestureRotationStart=0,this.isTouching=!1,this.lastPinchDistance=0,this.lastPinchRotation=0,this.rafDragTimeout=null,this.rafPinchTimeout=null,this.wheelTimer=null,this.resizeEmitTimer=null,this.currentDoc="u">typeof document?document:null,this.currentWindow="u">typeof window?window:null,this.resizeObserver=null,this.previousCropSize=null,this.isInitialized=!1,this.dragInteractionSource=null,this.state={cropSize:null,hasWheelJustStarted:!1,mediaObjectFit:void 0},this.initResizeObserver=()=>{if(void 0===window.ResizeObserver||!this.containerRef)return;let t=!0;this.resizeObserver=new window.ResizeObserver(e=>{if(t){t=!1;return}this.computeSizes({isResizeTriggered:!0})}),this.resizeObserver.observe(this.containerRef)},this.onWindowResize=()=>{this.computeSizes({isResizeTriggered:!0})},this.preventZoomSafari=t=>t.preventDefault(),this.cleanEvents=()=>{this.currentDoc&&(this.currentDoc.removeEventListener("mousemove",this.onMouseMove),this.currentDoc.removeEventListener("mouseup",this.onDragStopped),this.currentDoc.removeEventListener("touchmove",this.onTouchMove),this.currentDoc.removeEventListener("touchend",this.onDragStopped),this.currentDoc.removeEventListener("gesturechange",this.onGestureChange),this.currentDoc.removeEventListener("gestureend",this.onGestureEnd),this.currentDoc.removeEventListener("scroll",this.onScroll))},this.clearScrollEvent=()=>{this.containerRef&&this.containerRef.removeEventListener("wheel",this.onWheel),this.wheelTimer&&clearTimeout(this.wheelTimer)},this.onMediaLoad=()=>{let t=this.computeSizes();t&&(this.previousCropSize=t,this.emitCropData(),this.setInitialCrop(t),this.isInitialized=!0),this.props.onMediaLoaded&&this.props.onMediaLoaded(this.mediaSize)},this.setInitialCrop=t=>{if(this.props.initialCroppedAreaPercentages){var e,i,o,r,n;let s,h,{crop:a,zoom:c}=(e=this.props.initialCroppedAreaPercentages,i=this.mediaSize,o=this.props.rotation,r=this.props.minZoom,n=this.props.maxZoom,s=g(i.width,i.height,o),{crop:{x:(h=f(t.width/s.width*(100/e.width),r,n))*s.width/2-t.width/2-s.width*h*(e.x/100),y:h*s.height/2-t.height/2-s.height*h*(e.y/100)},zoom:h});this.props.onCropChange(a),this.props.onZoomChange&&this.props.onZoomChange(c)}else if(this.props.initialCroppedAreaPixels){let{crop:e,zoom:i}
1=function(t,e,i=0,o,r,n){let s,h=g(e.naturalWidth,e.naturalHeight,i),a=f((s=e.width>e.height?e.width/e.naturalWidth:e.height/e.naturalHeight,o.height>o.width?o.height/(t.height*s):o.width/(t.width*s)),r,n),c=o.height>o.width?o.height/t.height:o.width/t.width;return{crop:{x:((h.width-t.width)/2-t.x)*c,y:((h.height-t.height)/2-t.y)*c},zoom:a}}(this.props.initialCroppedAreaPixels,this.mediaSize,this.props.rotation,t,this.props.minZoom,this.props.maxZoom);this.props.onCropChange(e),this.props.onZoomChange&&this.props.onZoomChange(i)}},this.computeSizes=({isResizeTriggered:t=!1}={})=>{let e=this.imageRef.current||this.videoRef.current;if(e&&this.containerRef){var i,o,r,n,s,a;let c;this.containerRect=this.containerRef.getBoundingClientRect(),this.saveContainerPosition();let p=this.containerRect.width/this.containerRect.height,u=(null==(i=this.imageRef.current)?void 0:i.naturalWidth)||(null==(o=this.videoRef.current)?void 0:o.videoWidth)||0,l=(null==(r=this.imageRef.current)?void 0:r.naturalHeight)||(null==(n=this.videoRef.current)?void 0:n.videoHeight)||0,d=e.offsetWidth<u||e.offsetHeight<l,m=u/l;if(d)switch(this.state.mediaObjectFit){default:case"contain":c=p>m?{width:this.containerRect.height*m,height:this.containerRect.height}:{width:this.containerRect.width,height:this.containerRect.width/m};break;case"horizontal-cover":c={width:this.containerRect.width,height:this.containerRect.width/m};break;case"vertical-cover":c={width:this.containerRect.height*m,height:this.containerRect.height}}else c={width:e.offsetWidth,height:e.offsetHeight};this.mediaSize=h(h({},c),{},{naturalWidth:u,naturalHeight:l}),this.props.setMediaSize&&this.props.setMediaSize(this.mediaSize);let f=this.props.cropSize?this.props.cropSize:function(t,e,i,o,r,n=0){let{width:s,height:h}=g(t,e,n),a=Math.min(s,i),c=Math.min(h,o);return a>c*r?{width:c*r,height:c}:{width:a,height:a/r}}(this.mediaSize.width,this.mediaSize.height,this.containerRect.width,this.containerRect.height,this.props.aspect,this.props.rotation);return((null==(s=this.state.cropSize)?void 0:s.height)!==f.height||(null==(a=this.state.cropSize)?void 0:a.width)!==f.width)&&this.props.onCropSizeChange&&this.props.onCropSizeChange(f),this.setState({cropSize:f},()=>this.recomputeCropPosition({isResizeTriggered:t})),this.props.setCropSize&&this.props.setCropSize(f),f}},this.saveContainerPosition=()=>{if(this.containerRef){let t=this.containerRef.getBoundingClientRect();this.containerPosition={x:t.left,y:t.top}}},this.onMouseDown=e=>{this.currentDoc&&(e.preventDefault(),this.currentDoc.addEventListener("mousemove",this.onMouseMove),this.currentDoc.addEventListener("mouseup",this.onDragStopped),this.saveContainerPosition(),this.onDragStart(t.getMousePoint(e),"mouse"))},this.onMouseMove=e=>this.onDrag(t.getMousePoint(e)),this.onScroll=t=>{this.currentDoc&&(t.preventDefault(),this.saveContainerPosition())},this.onTouchStart=e=>{!this.currentDoc||(this.isTouching=!0,(!this.props.onTouchRequest||this.props.onTouchRequest(e))&&(this.currentDoc.addEventListener("touchmove",this.onTouchMove,{passive:!1}),this.currentDoc.addEventListener("touchend",this.onDragStopped),this.saveContainerPosition(),2===e.touches.length?this.onPinchStart(e):1===e.touches.length&&this.onDragStart(t.getTouchPoint(e.touches[0]),"touch")))},this.onTouchMove=e=>{e.preventDefault(),2===e.touches.length?this.onPinchMove(e):1===e.touches.length&&this.onDrag(t.getTouchPoint(e.touches[0]))},this.onGestureStart=t=>{this.currentDoc&&(t.preventDefault(),this.currentDoc.addEventListener("gesturechange",this.onGestureChange),this.currentDoc.addEventListener("gestureend",this.onGestureEnd),this.gestureZoomStart=this.props.zoom,this.gestureRotationStart=this.props.rotation)},this.onGestureChange=e=>{if(e.preventDefault(),this.isTouching)return;let i=t.getMousePoint(e),o=this.gestureZoomStart-1+e.scale;if(this.setNewZoom(o,i,{shouldUpdatePosition:!0}),this.props.onRotationChange){let t=this.gestureRotationStart+e.rotation;this.props.onRotationChange(t)}},this.onGestureEnd=t=>{this.cleanEvents()},this.onDragStart=({x:t,y:e},i)=>{var o,r;this.dragStartPosition={x:t,y:e},this.dragStartCrop=h({},this.props.crop),this.dragInteractionSource=i,null==(o=(r=this.props).onInteractionStart)||o.call(r,{source:i})},this.onDrag=({x:t,y:e})=>{this.currentWindow&&(this.rafDragTimeout&&this.currentWindow.cancelAnimationFrame(this.rafDragTimeout),this.rafDragTimeout=this.currentWindow.requestAnimationFrame(()=>{if(!this.state.cropSize||void 0===t||void 0===e)return;let i=t-this.dragStartPosition.x,o=e-this.dragStartPosition.y,r={x:this.dragStartCrop.x+i,y:this.dragStartCrop.y+o},n=this.props.restrictPosition?a(r,this.mediaSize,this.state.cropSize,this.props.zoom,this.props.rotation):r;this.props.onCropChange(n)}))},this.onDragStopped=()=>{var t,e,i;this.isTouching=!1,this.cleanEvents(),this.emitCropData(),null==(t=(e=this.props).onInteractionEnd)||t.call(e,{source:null!=(i=this.dragInteractionSource)?i:"mouse"}),this.dragInteractionSource=null},this.onWheel=e=>{if(!this.currentWindow||this.props.onWheelRequest&&!this.props.onWheelRequest(e))return;e.preventDefault();let i=t.getMousePoint(e),{pixelY:o}=r(e),n=this.props.zoom-o*this.props.zoomSpeed/200;this.setNewZoom(n,i,{shouldUpdatePosition:!0}),this.state.hasWheelJustStarted||this.setState({hasWheelJustStarted:!0},()=>{var t,e;return null==(t=(e=this.props).onInteractionStart)?void 0:t.call(e,{source:"wheel"})}),this.wheelTimer&&clearTimeout(this.wheelTimer),this.wheelTimer=this.currentWindow.setTimeout(()=>this.setState({hasWheelJustStarted:!1},()=>{var t,e;return null==(t=(e=this.props).onInteractionEnd)?void 0:t.call(e,{source:"wheel"})}),250)},this.getPointOnContainer=({x:t,y:e},i)=>{if(!this.containerRect)throw Error("The Cropper is not mounted");return{x:this.containerRect.width/2-(t-i.x),y:this.containerRect.height/2-(e-i.y)}},this.getPointOnMedia=({x:t,y:e})=>{let{crop:i,zoom:o}=this.props;return{x:(t+i.x)/o,y:(e+i.y)/o}},this.setNewZoom=(t,e,{shouldUpdatePosition:i=!0}={})=>
1{if(!this.state.cropSize||!this.props.onZoomChange)return;let o=f(t,this.props.minZoom,this.props.maxZoom);if(i){let t=this.getPointOnContainer(e,this.containerPosition),i=this.getPointOnMedia(t),r={x:i.x*o-t.x,y:i.y*o-t.y},n=this.props.restrictPosition?a(r,this.mediaSize,this.state.cropSize,o,this.props.rotation):r;this.props.onCropChange(n)}this.props.onZoomChange(o)},this.getCropData=()=>this.state.cropSize?function(t,e,i,o,r,n=0,s=!0){let a=s?l:d,c=g(e.width,e.height,n),p=g(e.naturalWidth,e.naturalHeight,n),u={x:a(100,((c.width-i.width/r)/2-t.x/r)/c.width*100),y:a(100,((c.height-i.height/r)/2-t.y/r)/c.height*100),width:a(100,i.width/c.width*100/r),height:a(100,i.height/c.height*100/r)},m=Math.round(a(p.width,u.width*p.width/100)),f=Math.round(a(p.height,u.height*p.height/100)),v=p.width>=p.height*o?{width:Math.round(f*o),height:f}:{width:m,height:Math.round(m/o)};return{croppedAreaPercentages:u,croppedAreaPixels:h(h({},v),{},{x:Math.round(a(p.width-v.width,u.x*p.width/100)),y:Math.round(a(p.height-v.height,u.y*p.height/100))})}}(this.props.restrictPosition?a(this.props.crop,this.mediaSize,this.state.cropSize,this.props.zoom,this.props.rotation):this.props.crop,this.mediaSize,this.state.cropSize,this.getAspect(),this.props.zoom,this.props.rotation,this.props.restrictPosition):null,this.emitCropData=()=>{this.resizeEmitTimer&&(clearTimeout(this.resizeEmitTimer),this.resizeEmitTimer=null);let t=this.getCropData();if(!t)return;let{croppedAreaPercentages:e,croppedAreaPixels:i}=t;this.props.onCropComplete&&this.props.onCropComplete(e,i),this.props.onCropAreaChange&&this.props.onCropAreaChange(e,i)},this.emitCropAreaChange=()=>{let t=this.getCropData();if(!t)return;let{croppedAreaPercentages:e,croppedAreaPixels:i}=t;this.props.onCropAreaChange&&this.props.onCropAreaChange(e,i)},this.recomputeCropPosition=({isResizeTriggered:t=!1}={})=>{var e,i;if(!this.state.cropSize)return;let o=this.props.crop;if(this.isInitialized&&(null==(e=this.previousCropSize)?void 0:e.width)&&(null==(i=this.previousCropSize)?void 0:i.height)&&(Math.abs(this.previousCropSize.width-this.state.cropSize.width)>1e-6||Math.abs(this.previousCropSize.height-this.state.cropSize.height)>1e-6)){let t=this.state.cropSize.width/this.previousCropSize.width,e=this.state.cropSize.height/this.previousCropSize.height;o={x:this.props.crop.x*t,y:this.props.crop.y*e}}let r=this.props.restrictPosition?a(o,this.mediaSize,this.state.cropSize,this.props.zoom,this.props.rotation):o;this.previousCropSize=this.state.cropSize,this.props.onCropChange(r),t?this.debouncedEmitCropData():this.emitCropData()},this.debouncedEmitCropData=()=>{this.currentWindow&&(this.resizeEmitTimer&&clearTimeout(this.resizeEmitTimer),this.resizeEmitTimer=this.currentWindow.setTimeout(()=>{this.emitCropData()},250))},this.onKeyDown=t=>{let{crop:e,onCropChange:i,keyboardStep:o,zoom:r,rotation:n}=this.props,s=o;if(!this.state.cropSize)return;t.shiftKey&&(s*=.2);let c=h({},e);switch(t.key){case"ArrowUp":c.y-=s,t.preventDefault();break;case"ArrowDown":c.y+=s,t.preventDefault();break;case"ArrowLeft":c.x-=s,t.preventDefault();break;case"ArrowRight":c.x+=s,t.preventDefault();break;default:return}if(this.props.restrictPosition&&(c=a(c,this.mediaSize,this.state.cropSize,r,n)),!t.repeat){var p,u;null==(p=(u=this.props).onInteractionStart)||p.call(u,{source:"keyboard"})}i(c)},this.onKeyUp=t=>{var e,i;switch(t.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":t.preventDefault();break;default:return}this.emitCropData(),null==(e=(i=this.props).onInteractionEnd)||e.call(i,{source:"keyboard"})}}componentDidMount(){this.currentDoc&&this.currentWindow&&(this.containerRef&&(this.containerRef.ownerDocument&&(this.currentDoc=this.containerRef.ownerDocument),this.currentDoc.defaultView&&(this.currentWindow=this.currentDoc.defaultView),this.initResizeObserver(),void 0===window.ResizeObserver&&this.currentWindow.addEventListener("resize",this.onWindowResize),this.props.zoomWithScroll&&this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}),this.containerRef.addEventListener("gesturestart",this.onGestureStart)),this.currentDoc.addEventListener("scroll",this.onScroll),this.props.disableAutomaticStylesInjection||(this.styleRef=this.currentDoc.createElement("style"),this.styleRef.setAttribute("type","text/css"),this.props.nonce&&this.styleRef.setAttribute("nonce",this.props.nonce),this.styleRef.innerHTML=".reactEasyCrop_Container {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  overflow: hidden;\n  user-select: none;\n  touch-action: none;\n  cursor: move;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.reactEasyCrop_Image,\n.reactEasyCrop_Video {\n  will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */\n  max-width: unset; /* prevent global img/video reset rules from constraining the cropper media */\n}\n\n.reactEasyCrop_Contain {\n  max-width: 100%;\n  max-height: 100%;\n  margin: auto;\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n}\n.reactEasyCrop_Cover_Horizontal {\n  width: 100%;\n  height: auto;\n}\n.reactEasyCrop_Cover_Vertical {\n  width: auto;\n  height: 100%;\n}\n\n.reactEasyCrop_CropArea {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translate(-50%, -50%);\n  border: 1px solid rgba(255, 255, 255, 0.5);\n  box-sizing: border-box;\n  box-shadow: 0 0 0 9999em;\n  color: rgba(0, 0, 0, 0.5);\n  overflow: hidden;\n}\n\n.reactEasyCrop_CropAreaRound {\n  border-radius: 50%;\n}\n\n.reactEasyCrop_CropAreaGrid::before {\n  content: ' ';\n  box-sizing: border-box;\n  position: absolute;\n  border: 1px solid rgba(255, 255, 255, 0.5);\n  top: 0;\n  bottom: 0;\n  left: 33.33%;\n  right: 33.33%;\n  border-top: 0;\n  border-bottom: 0;\n}
1\n\n.reactEasyCrop_CropAreaGrid::after {\n  content: ' ';\n  box-sizing: border-box;\n  position: absolute;\n  border: 1px solid rgba(255, 255, 255, 0.5);\n  top: 33.33%;\n  bottom: 33.33%;\n  left: 0;\n  right: 0;\n  border-left: 0;\n  border-right: 0;\n}\n",this.currentDoc.head.appendChild(this.styleRef)),this.imageRef.current&&this.imageRef.current.complete&&this.onMediaLoad(),this.props.setImageRef&&this.props.setImageRef(this.imageRef),this.props.setVideoRef&&this.props.setVideoRef(this.videoRef),this.props.setCropperRef&&this.props.setCropperRef(this.cropperRef))}componentWillUnmount(){var t,e;this.currentDoc&&this.currentWindow&&(void 0===window.ResizeObserver&&this.currentWindow.removeEventListener("resize",this.onWindowResize),null==(t=this.resizeObserver)||t.disconnect(),this.resizeEmitTimer&&clearTimeout(this.resizeEmitTimer),this.containerRef&&this.containerRef.removeEventListener("gesturestart",this.preventZoomSafari),this.styleRef&&(null==(e=this.styleRef.parentNode)||e.removeChild(this.styleRef)),this.cleanEvents(),this.props.zoomWithScroll&&this.clearScrollEvent())}componentDidUpdate(t){var e,i,o,r,n,s,h,a,c;t.rotation!==this.props.rotation?(this.computeSizes(),this.recomputeCropPosition()):t.aspect!==this.props.aspect||t.objectFit!==this.props.objectFit?this.computeSizes():t.zoom!==this.props.zoom?this.recomputeCropPosition():(null==(e=t.cropSize)?void 0:e.height)!==(null==(i=this.props.cropSize)?void 0:i.height)||(null==(o=t.cropSize)?void 0:o.width)!==(null==(r=this.props.cropSize)?void 0:r.width)?this.computeSizes():((null==(n=t.crop)?void 0:n.x)!==(null==(s=this.props.crop)?void 0:s.x)||(null==(h=t.crop)?void 0:h.y)!==(null==(a=this.props.crop)?void 0:a.y))&&this.emitCropAreaChange(),t.zoomWithScroll!==this.props.zoomWithScroll&&this.containerRef&&(this.props.zoomWithScroll?this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}):this.clearScrollEvent()),t.video!==this.props.video&&(null==(c=this.videoRef.current)||c.load());let p=this.getObjectFit();p!==this.state.mediaObjectFit&&this.setState({mediaObjectFit:p},this.computeSizes)}getAspect(){let{cropSize:t,aspect:e}=this.props;return t?t.width/t.height:e}getObjectFit(){if("cover"===this.props.objectFit){if((this.imageRef.current||this.videoRef.current)&&this.containerRef){var t,e,i,o;this.containerRect=this.containerRef.getBoundingClientRect();let r=this.containerRect.width/this.containerRect.height;return((null==(t=this.imageRef.current)?void 0:t.naturalWidth)||(null==(e=this.videoRef.current)?void 0:e.videoWidth)||0)/((null==(i=this.imageRef.current)?void 0:i.naturalHeight)||(null==(o=this.videoRef.current)?void 0:o.videoHeight)||0)<r?"horizontal-cover":"vertical-cover"}return"horizontal-cover"}return this.props.objectFit}onPinchStart(e){let i=t.getTouchPoint(e.touches[0]),o=t.getTouchPoint(e.touches[1]);this.lastPinchDistance=p(i,o),this.lastPinchRotation=u(i,o),this.onDragStart(m(i,o),"touch")}onPinchMove(e){if(!this.currentDoc||!this.currentWindow)return;let i=t.getTouchPoint(e.touches[0]),o=t.getTouchPoint(e.touches[1]),r=m(i,o);this.onDrag(r),this.rafPinchTimeout&&this.currentWindow.cancelAnimationFrame(this.rafPinchTimeout),this.rafPinchTimeout=this.currentWindow.requestAnimationFrame(()=>{let t=p(i,o),e=this.props.zoom*(t/this.lastPinchDistance);this.setNewZoom(e,r,{shouldUpdatePosition:!1}),this.lastPinchDistance=t;let n=u(i,o),s=this.props.rotation+(n-this.lastPinchRotation);this.props.onRotationChange&&this.props.onRotationChange(s),this.lastPinchRotation=n})}render(){var t;let{image:e,video:i,mediaProps:r,cropperProps:n,transform:s,crop:{x:a,y:c},rotation:p,zoom:u,cropShape:l,showGrid:d,roundCropAreaPixels:m,style:{containerStyle:g,cropAreaStyle:f,mediaStyle:w},classes:{containerClassName:S,cropAreaClassName:C,mediaClassName:y}}=this.props,b=null!=(t=this.state.mediaObjectFit)?t:this.getObjectFit();return o.createElement("div",{onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,ref:t=>this.containerRef=t,"data-testid":"container",style:g,className:v("reactEasyCrop_Container",S)},e?o.createElement("img",h(h({alt:"",className:v("reactEasyCrop_Image","contain"===b&&"reactEasyCrop_Contain","horizontal-cover"===b&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===b&&"reactEasyCrop_Cover_Vertical",y)},r),{},{src:e,ref:this.imageRef,style:h(h({},w),{},{transform:s||`translate(${a}px, ${c}px) rotate(${p}deg) scale(${u})`}),onLoad:this.onMediaLoad}
1)):i&&o.createElement("video",h(h({autoPlay:!0,playsInline:!0,loop:!0,muted:!0,className:v("reactEasyCrop_Video","contain"===b&&"reactEasyCrop_Contain","horizontal-cover"===b&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===b&&"reactEasyCrop_Cover_Vertical",y)},r),{},{ref:this.videoRef,onLoadedMetadata:this.onMediaLoad,style:h(h({},w),{},{transform:s||`translate(${a}px, ${c}px) rotate(${p}deg) scale(${u})`}),controls:!1}),(Array.isArray(i)?i:[{src:i}]).map(t=>o.createElement("source",h({key:t.src},t)))),this.state.cropSize&&o.createElement("div",h({ref:this.cropperRef,style:h(h({},f),{},{width:m?Math.round(this.state.cropSize.width):this.state.cropSize.width,height:m?Math.round(this.state.cropSize.height):this.state.cropSize.height}),tabIndex:0,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp,"data-testid":"cropper",className:v("reactEasyCrop_CropArea","round"===l&&"reactEasyCrop_CropAreaRound",d&&"reactEasyCrop_CropAreaGrid",C)},n)))}};w.defaultProps={zoom:1,rotation:0,aspect:4/3,maxZoom:3,minZoom:1,cropShape:"rect",objectFit:"contain",showGrid:!0,style:{},classes:{},mediaProps:{},cropperProps:{},zoomSpeed:1,restrictPosition:!0,zoomWithScroll:!0,keyboardStep:1},w.getMousePoint=t=>({x:Number(t.clientX),y:Number(t.clientY)}),w.getTouchPoint=t=>({x:Number(t.clientX),y:Number(t.clientY)});var S=w},43930:(t,e,i)=>{t.exports=i(10027)},63543:(t,e,i)=>{"use strict";var o,r=i(18738);r.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),t.exports=function(t,e){if(!r.canUseDOM||e&&!("addEventListener"in document))return!1;var i="on"+t,n=i in document;if(!n){var s=document.createElement("div");s.setAttribute(i,"return;"),n="function"==typeof s[i]}return!n&&o&&"wheel"===t&&(n=document.implementation.hasFeature("Events.wheel","3.0")),n}},64785:t=>{var e,i,o,r,n,s,h,a,c,p,u,l,d,m,g,f=!1;function v(){if(!f){f=!0;var t=navigator.userAgent,v=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Ice
1weasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(t),w=/(Mac OS X)|(Windows)|(Linux)/.exec(t);if(l=/\b(iPhone|iP[ao]d)/.exec(t),d=/\b(iP[ao]d)/.exec(t),p=/Android/i.exec(t),m=/FBAN\/\w+;/i.exec(t),g=/Mobile/i.exec(t),u=!!/Win64/.exec(t),v){(e=v[1]?parseFloat(v[1]):v[5]?parseFloat(v[5]):NaN)&&document&&document.documentMode&&(e=document.documentMode);var S=/(?:Trident\/(\d+.\d+))/.exec(t);s=S?parseFloat(S[1])+4:e,i=v[2]?parseFloat(v[2]):NaN,o=v[3]?parseFloat(v[3]):NaN,n=(r=v[4]?parseFloat(v[4]):NaN)&&(v=/(?:Chrome\/(\d+\.\d+))/.exec(t))&&v[1]?parseFloat(v[1]):NaN}else e=i=o=n=r=NaN;if(w){if(w[1]){var C=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(t);h=!C||parseFloat(C[1].replace("_","."))}else h=!1;a=!!w[2],c=!!w[3]}else h=a=c=!1}}var w={ie:function(){return v()||e},ieCompatibilityMode:function(){return v()||s>e},ie64:function(){return w.ie()&&u},firefox:function(){return v()||i},opera:function(){return v()||o},webkit:function(){return v()||r},safari:function(){return w.webkit()},chrome:function(){return v()||n},windows:function(){return v()||a},osx:function(){return v()||h},linux:function(){return v()||c},iphone:function(){return v()||l},mobile:function(){return v()||l||d||p||g},nativeApp:function(){return v()||m},android:function(){return v()||p},ipad:function(){return v()||d}};t.exports=w}}]);

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.