PageSourceSearch

https://auroville.org.in/cache/1790235173/default/cropperjs/cropper.esm.js

js auroville.org.in collected 2026-09-24 10:05:06 UTC 67,228 bytes, 285 lines download raw bytes

1/*!
2 * Cropper.js v1.6.3
3 * https://fengyuanchen.github.io/cropperjs
4 *
5 * Copyright 2015-present Chen Fengyuan
6 * Released under the MIT license
7 *
8 * Date: 2026-08-23T09:24:57.458Z
9 */
10function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}
11function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}
12function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}
13function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value" in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}
14function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}
15function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}
16function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}
17function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}
18function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}
19return t}
20function _objectSpread2(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}
21return e}
22function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}
23function _toPrimitive(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}
24return("string"===r?String:Number)(t)}
25function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==typeof i?i:i+""}
26function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}
27function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}
28var IS_BROWSER=typeof window!=='undefined'&&typeof window.document!=='undefined';var WINDOW=IS_BROWSER?window:{};var IS_TOUCH_DEVICE=IS_BROWSER&&WINDOW.document.documentElement?'ontouchstart' in WINDOW.document.documentElement:!1;var HAS_POINTER_EVENT=IS_BROWSER?'PointerEvent' in WINDOW:!1;var NAMESPACE='cropper';var ACTION_ALL='all';var ACTION_CROP='crop';var ACTION_MOVE='move';var ACTION_ZOOM='zoom';var ACTION_EAST='e';var ACTION_WEST='w';var ACTION_SOUTH='s';var ACTION_NORTH='n';var ACTION_NORTH_EAST='ne';var ACTION_NORTH_WEST='nw';var ACTION_SOUTH_EAST='se';var ACTION_SOUTH_WEST='sw';var CLASS_CROP="".concat(NAMESPACE,"-crop");var CLASS_DISABLED="".concat(NAMESPACE,"-disabled");var CLASS_HIDDEN="".concat(NAMESPACE,"-hidden");var CLASS_HIDE="".concat(NAMESPACE,"-hide");var CLASS_INVISIBLE="".concat(NAMESPACE,"-invisible");var CLASS_MODAL="".concat(NAMESPACE,"-modal");var CLASS_MOVE="".concat(NAMESPACE,"-move");var DATA_ACTION="".concat(NAMESPACE,"Action");var DATA_PREVIEW="".concat(NAMESPACE,"Preview");var DRAG_MODE_CROP='crop';var DRAG_MODE_MOVE='move';var DRAG_MODE_NONE='none';var EVENT_CROP='crop';var EVENT_CROP_END='cropend';var EVENT_CROP_MOVE='cropmove';var EVENT_CROP_START='cropstart';var EVENT_DBLCLICK='dblclick';var EVENT_TOUCH_START=IS_TOUCH_DEVICE?'touchstart':'mousedown';
28var EVENT_TOUCH_MOVE=IS_TOUCH_DEVICE?'touchmove':'mousemove';var EVENT_TOUCH_END=IS_TOUCH_DEVICE?'touchend touchcancel':'mouseup';var EVENT_POINTER_DOWN=HAS_POINTER_EVENT?'pointerdown':EVENT_TOUCH_START;var EVENT_POINTER_MOVE=HAS_POINTER_EVENT?'pointermove':EVENT_TOUCH_MOVE;var EVENT_POINTER_UP=HAS_POINTER_EVENT?'pointerup pointercancel':EVENT_TOUCH_END;var EVENT_READY='ready';var EVENT_RESIZE='resize';var EVENT_WHEEL='wheel';var EVENT_ZOOM='zoom';var MIME_TYPE_JPEG='image/jpeg';var REGEXP_ACTIONS=/^(e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/;var REGEXP_DATA_URL=/^data:/;var REGEXP_DATA_URL_JPEG=/^data:image\/jpeg;base64,/;var REGEXP_SPACES=/\s+/;var REGEXP_TAG_NAME=/^(img|canvas)$/i;var MIN_CONTAINER_WIDTH=200;var MIN_CONTAINER_HEIGHT=100;var DEFAULTS={viewMode:0,dragMode:DRAG_MODE_CROP,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:'',responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:0.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:0.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:MIN_CONTAINER_WIDTH,minContainerHeight:MIN_CONTAINER_HEIGHT,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null};var TEMPLATE='<div class="cropper-container" touch-action="none">'+'<div class="cropper-wrap-box">'+'<div class="cropper-canvas"></div>'+'</div>'+'<div class="cropper-drag-box"></div>'+'<div class="cropper-crop-box">'+'<span class="cropper-view-box"></span>'+'<span class="cropper-dashed dashed-h"></span>'+'<span class="cropper-dashed dashed-v"></span>'+'<span class="cropper-center"></span>'+'<span class="cropper-face"></span>'+'<span class="cropper-line line-e" data-cropper-action="e"></span>'+'<span class="cropper-line line-n" data-cropper-action="n"></span>'+'<span class="cropper-line line-w" data-cropper-action="w"></span>'+'<span class="cropper-line line-s" data-cropper-action="s"></span>'+'<span class="cropper-point point-e" data-cropper-action="e"></span>'+'<span class="cropper-point point-n" data-cropper-action="n"></span>'+'<span class="cropper-point point-w" data-cropper-action="w"></span>'+'<span class="cropper-point point-s" data-cropper-action="s"></span>'+'<span class="cropper-point point-ne" data-cropper-action="ne"></span>'+'<span class="cropper-point point-nw" data-cropper-action="nw"></span>'+'<span class="cropper-point point-sw" data-cropper-action="sw"></span>'+'<span class="cropper-point point-se" data-cropper-action="se"></span>'+'</div>'+'</div>';var isNaN=Number.isNaN||WINDOW.isNaN;var isFinite=Number.isFinite||WINDOW.isFinite;function isNumber(value){return typeof value==='number'&&!isNaN(value)}
29var isPositiveNumber=function isPositiveNumber(value){return value>0&&value<Infinity};function isUndefined(value){return typeof value==='undefined'}
30function isObject(value){return _typeof(value)==='object'&&value!==null}
31var hasOwnProperty=Object.prototype.hasOwnProperty;function isPlainObject(value){if(!isObject(value)){return!1}
32try{var constructor=value.constructor;var prototype=constructor.prototype;return constructor&&prototype&&hasOwnProperty.call(prototype,'isPrototypeOf')}catch(error){return!1}}
33function isFunction(value){return typeof value==='function'}
34var slice=Array.prototype.slice;function toArray(value){return Array.from?Array.from(value):slice.call(value)}
35function forEach(data,callback){if(data&&isFunction(callback)){if(Array.isArray(data)||isNumber(data.length)){toArray(data).forEach(function(value,key){callback.call(data,value,key,data)})}else if(isObject(data)){Object.keys(data).forEach(function(key){callback.call(data,data[key],key,data)})}}
36return data}
37var assign=Object.assign||function assign(target){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}
38if(isObject(target)&&args.length>0){args.forEach(function(arg){if(isObject(arg)){Object.keys(arg).forEach(function(key){target[key]=arg[key]})}})}
39return target};var REGEXP_DECIMALS=/\.\d*(?:0|9){12}\d*$/;function normalizeDecimalNumber(value){var times=arguments.length>1&&arguments[1]!==undefined?arguments[1]:100000000000;return REGEXP_DECIMALS.test(value)?Math.round(value*times)/times:value}
40var REGEXP_SUFFIX=/^width|height|left|top|marginLeft|marginTop$/;function setStyle(element,styles){var style=element.style;
40forEach(styles,function(value,property){if(REGEXP_SUFFIX.test(property)&&isNumber(value)){value="".concat(value,"px")}
41style[property]=value})}
42function hasClass(element,value){return element.classList?element.classList.contains(value):element.className.split(REGEXP_SPACES).indexOf(value)>-1}
43function addClass(element,value){if(!value){return}
44if(isNumber(element.length)){forEach(element,function(elem){addClass(elem,value)});return}
45if(element.classList){element.classList.add(value);return}
46var className=element.className.trim();if(!className){element.className=value}else if(className.indexOf(value)<0){element.className="".concat(className," ").concat(value)}}
47function removeClass(element,value){if(!value){return}
48if(isNumber(element.length)){forEach(element,function(elem){removeClass(elem,value)});return}
49if(element.classList){element.classList.remove(value);return}
50if(element.className.indexOf(value)>=0){element.className=element.className.split(REGEXP_SPACES).filter(function(item){return item&&item!==value}).join(' ')}}
51function toggleClass(element,value,added){if(!value){return}
52if(isNumber(element.length)){forEach(element,function(elem){toggleClass(elem,value,added)});return}
53if(added){addClass(element,value)}else{removeClass(element,value)}}
54var REGEXP_CAMEL_CASE=/([a-z\d])([A-Z])/g;function toParamCase(value){return typeof value==='string'?value.replace(REGEXP_CAMEL_CASE,'$1-$2').toLowerCase():''}
55function getData(element,name){if(isObject(element[name])){return element[name]}
56if(element.dataset){return element.dataset[name]}
57return element.getAttribute("data-".concat(toParamCase(name)))}
58function setData(element,name,data){if(isObject(data)){element[name]=data}else if(element.dataset){element.dataset[name]=data}else{element.setAttribute("data-".concat(toParamCase(name)),data)}}
59function removeData(element,name){if(isObject(element[name])){try{delete element[name]}catch(error){element[name]=undefined}}else if(element.dataset){try{delete element.dataset[name]}catch(error){element.dataset[name]=undefined}}else{element.removeAttribute("data-".concat(toParamCase(name)))}}
60var onceSupported=function(){var supported=!1;if(IS_BROWSER){var once=!1;var listener=function listener(){};var options=Object.defineProperty({},'once',{get:function get(){supported=!0;return once},set:function set(value){once=value}});WINDOW.addEventListener('test',listener,options);WINDOW.removeEventListener('test',listener,options)}
61return supported}();function removeListener(element,type,listener){var options=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};if(!element||!type||!isFunction(element.removeEventListener)){return}
62var handler=listener;type.trim().split(REGEXP_SPACES).forEach(function(event){if(!onceSupported){var listeners=element.__cropperListeners__||{};if(listeners[event]&&listeners[event][listener]){handler=listeners[event][listener];delete listeners[event][listener];if(Object.keys(listeners[event]).length===0){delete listeners[event]}
63if(Object.keys(listeners).length===0){delete element.__cropperListeners__}}}
64element.removeEventListener(event,handler,options)})}
65function addListener(element,type,listener){var options=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};if(!element||!type||!isFunction(element.addEventListener)||!isFunction(listener)){return}
66var _handler=listener;type.trim().split(REGEXP_SPACES).forEach(function(event){if(options.once&&!onceSupported){var listeners=element.__cropperListeners__||{};_handler=function handler(){if(listeners[event]&&listeners[event][listener]){delete listeners[event][listener]}
67element.removeEventListener(event,_handler,options);for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}
68listener.apply(element,args)};if(!listeners[event]){listeners[event]={}}
69if(listeners[event][listener]){element.removeEventListener(event,listeners[event][listener],options)}
70listeners[event][listener]=_handler;element.__cropperListeners__=listeners}
71element.addEventListener(event,_handler,options)})}
72function dispatchEvent(element,type,data){if(!element||!type||!isFunction(element.dispatchEvent)){return!1}
73var event;if(isFunction(Event)&&isFunction(CustomEvent)){event=new CustomEvent(type,{detail:data,bubbles:!0,cancelable:!0})}else if(isObject(document)&&isFunction(document.createEvent)){event=document.createEvent('CustomEvent');event.initCustomEvent(type,!0,!0,data)}else{return!1}
74return element.dispatchEvent(event)}
75function getOffset(element){if(!element||!isFunction(element.getBoundingClientRect)){return{left:0,top:0}}
76var box=element.getBoundingClientRect();var _ref=document||{},_ref$documentElement=_ref.documentElement,documentElement=_ref$documentElement===void 0?{}:_ref$documentElement;var pageXOffset=WINDOW.pageXOffset||0;var pageYOffset=WINDOW.pageYOffset||0;return{left:box.left+(pageXOffset-(documentElement.clientLeft||0)),top:box.top+(pageYOffset-(documentElement.clientTop||0))}}
77var location=WINDOW.location;var REGEXP_ORIGINS=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function isCrossOriginURL(url){var parts=url.match(REGEXP_ORIGINS);return parts!==null&&(parts[1]!==location.protocol||parts[2]!==location.hostname||parts[3]!==location.port)}
78function addTimestamp(url){var hashIndex=url.indexOf('#');
78var hash=hashIndex>=0?url.slice(hashIndex):'';var baseUrl=hashIndex>=0?url.slice(0,hashIndex):url;var timestamp="timestamp=".concat(new Date().getTime());return"".concat(baseUrl).concat(baseUrl.indexOf('?')===-1?'?':'&').concat(timestamp).concat(hash)}
79function getTransforms(_ref2){var rotate=_ref2.rotate,scaleX=_ref2.scaleX,scaleY=_ref2.scaleY,translateX=_ref2.translateX,translateY=_ref2.translateY;var values=[];if(isNumber(translateX)&&translateX!==0){values.push("translateX(".concat(translateX,"px)"))}
80if(isNumber(translateY)&&translateY!==0){values.push("translateY(".concat(translateY,"px)"))}
81if(isNumber(rotate)&&rotate!==0){values.push("rotate(".concat(rotate,"deg)"))}
82if(isNumber(scaleX)&&scaleX!==1){values.push("scaleX(".concat(scaleX,")"))}
83if(isNumber(scaleY)&&scaleY!==1){values.push("scaleY(".concat(scaleY,")"))}
84var transform=values.length?values.join(' '):'none';return{WebkitTransform:transform,msTransform:transform,transform:transform}}
85function getMaxZoomRatio(pointers){var pointers2=_objectSpread2({},pointers);var maxRatio=0;forEach(pointers,function(pointer,pointerId){delete pointers2[pointerId];forEach(pointers2,function(pointer2){var x1=Math.abs(pointer.startX-pointer2.startX);var y1=Math.abs(pointer.startY-pointer2.startY);var x2=Math.abs(pointer.endX-pointer2.endX);var y2=Math.abs(pointer.endY-pointer2.endY);var z1=Math.sqrt(x1*x1+y1*y1);var z2=Math.sqrt(x2*x2+y2*y2);if(!isFinite(z1)||!isFinite(z2)||z1===0||z2===z1){return}
86var ratio=(z2-z1)/z1;if(isFinite(ratio)&&Math.abs(ratio)>Math.abs(maxRatio)){maxRatio=ratio}})});return maxRatio}
87function getPointer(_ref3,endOnly){var pageX=_ref3.pageX,pageY=_ref3.pageY;var end={endX:pageX,endY:pageY};return endOnly?end:_objectSpread2({startX:pageX,startY:pageY},end)}
88function getPointersCenter(pointers){var pageX=0;var pageY=0;var count=0;forEach(pointers,function(_ref4){var startX=_ref4.startX,startY=_ref4.startY;pageX+=startX;pageY+=startY;count+=1});pageX/=count;pageY/=count;return{pageX:pageX,pageY:pageY}}
89function getAdjustedSizes(_ref5){var aspectRatio=_ref5.aspectRatio,height=_ref5.height,width=_ref5.width;var type=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'contain';var isValidWidth=isPositiveNumber(width);var isValidHeight=isPositiveNumber(height);if(isValidWidth&&isValidHeight){var adjustedWidth=height*aspectRatio;if(type==='contain'&&adjustedWidth>width||type==='cover'&&adjustedWidth<width){height=width/aspectRatio}else{width=height*aspectRatio}}else if(isValidWidth){height=width/aspectRatio}else if(isValidHeight){width=height*aspectRatio}
90return{width:width,height:height}}
91function getRotatedSizes(_ref6){var width=_ref6.width,height=_ref6.height,degree=_ref6.degree;degree=Math.abs(degree)%180;if(degree===90){return{width:height,height:width}}
92var arc=degree%90*Math.PI/180;var sinArc=Math.sin(arc);var cosArc=Math.cos(arc);var newWidth=width*cosArc+height*sinArc;var newHeight=width*sinArc+height*cosArc;return degree>90?{width:newHeight,height:newWidth}:{width:newWidth,height:newHeight}}
93function getSourceCanvas(image,_ref7,_ref8,_ref9){var imageAspectRatio=_ref7.aspectRatio,imageNaturalWidth=_ref7.naturalWidth,imageNaturalHeight=_ref7.naturalHeight,_ref7$rotate=_ref7.rotate,rotate=_ref7$rotate===void 0?0:_ref7$rotate,_ref7$scaleX=_ref7.scaleX,scaleX=_ref7$scaleX===void 0?1:_ref7$scaleX,_ref7$scaleY=_ref7.scaleY,scaleY=_ref7$scaleY===void 0?1:_ref7$scaleY;var aspectRatio=_ref8.aspectRatio,naturalWidth=_ref8.naturalWidth,naturalHeight=_ref8.naturalHeight;var _ref9$fillColor=_ref9.fillColor,fillColor=_ref9$fillColor===void 0?'transparent':_ref9$fillColor,_ref9$imageSmoothingE=_ref9.imageSmoothingEnabled,imageSmoothingEnabled=_ref9$imageSmoothingE===void 0?!0:_ref9$imageSmoothingE,_ref9$imageSmoothingQ=_ref9.imageSmoothingQuality,imageSmoothingQuality=_ref9$imageSmoothingQ===void 0?'low':_ref9$imageSmoothingQ,_ref9$maxWidth=_ref9.maxWidth,maxWidth=_ref9$maxWidth===void 0?Infinity:_ref9$maxWidth,_ref9$maxHeight=_ref9.maxHeight,maxHeight=_ref9$maxHeight===void 0?Infinity:_ref9$maxHeight,_ref9$minWidth=_ref9.minWidth,minWidth=_ref9$minWidth===void 0?0:_ref9$minWidth,_ref9$minHeight=_ref9.minHeight,minHeight=_ref9$minHeight===void 0?0:_ref9$minHeight;var canvas=document.createElement('canvas');var context=canvas.getContext('2d');var maxSizes=getAdjustedSizes({aspectRatio:aspectRatio,width:maxWidth,height:maxHeight});var minSizes=getAdjustedSizes({aspectRatio:aspectRatio,width:minWidth,height:minHeight},'cover');var width=Math.min(maxSizes.width,Math.max(minSizes.width,naturalWi
vendor: 4,419 bytes, lines 93-106
93dth));var height=Math.min(maxSizes.height,Math.max(minSizes.height,naturalHeight));var destMaxSizes=getAdjustedSizes({aspectRatio:imageAspectRatio,width:maxWidth,height:maxHeight});var destMinSizes=getAdjustedSizes({aspectRatio:imageAspectRatio,width:minWidth,height:minHeight},'cover');var destWidth=Math.min(destMaxSizes.width,Math.max(destMinSizes.width,imageNaturalWidth));var destHeight=Math.min(destMaxSizes.height,Math.max(destMinSizes.height,imageNaturalHeight));var params=[-destWidth/2,-destHeight/2,destWidth,destHeight];canvas.width=normalizeDecimalNumber(width);canvas.height=normalizeDecimalNumber(height);context.fillStyle=fillColor;context.fillRect(0,0,width,height);context.save();context.translate(width/2,height/2);context.rotate(rotate*Math.PI/180);context.scale(scaleX,scaleY);context.imageSmoothingEnabled=imageSmoothingEnabled;context.imageSmoothingQuality=imageSmoothingQuality;context.drawImage.apply(context,[image].concat(_toConsumableArray(params.map(function(param){return Math.floor(normalizeDecimalNumber(param))}))));context.restore();return canvas}
94var fromCharCode=String.fromCharCode;function getStringFromCharCode(dataView,start,length){var str='';length+=start;for(var i=start;i<length;i+=1){str+=fromCharCode(dataView.getUint8(i))}
95return str}
96var REGEXP_DATA_URL_HEAD=/^data:.*,/;function dataURLToArrayBuffer(dataURL){var base64=dataURL.replace(REGEXP_DATA_URL_HEAD,'');var binary=atob(base64);var arrayBuffer=new ArrayBuffer(binary.length);var uint8=new Uint8Array(arrayBuffer);forEach(uint8,function(value,i){uint8[i]=binary.charCodeAt(i)});return arrayBuffer}
97function arrayBufferToDataURL(arrayBuffer,mimeType){var chunks=[];var chunkSize=8192;var uint8=new Uint8Array(arrayBuffer);while(uint8.length>0){chunks.push(fromCharCode.apply(null,toArray(uint8.subarray(0,chunkSize))));uint8=uint8.subarray(chunkSize)}
98return"data:".concat(mimeType,";base64,").concat(btoa(chunks.join('')))}
99function resetAndGetOrientation(arrayBuffer){var dataView=new DataView(arrayBuffer);var orientation;try{var littleEndian;var app1Start;var ifdStart;if(dataView.getUint8(0)===0xFF&&dataView.getUint8(1)===0xD8){var length=dataView.byteLength;var offset=2;while(offset+1<length){if(dataView.getUint8(offset)===0xFF&&dataView.getUint8(offset+1)===0xE1){app1Start=offset;break}
100offset+=1}}
101if(app1Start){var exifIDCode=app1Start+4;var tiffOffset=app1Start+10;if(getStringFromCharCode(dataView,exifIDCode,4)==='Exif'){var endianness=dataView.getUint16(tiffOffset);littleEndian=endianness===0x4949;if(littleEndian||endianness===0x4D4D){if(dataView.getUint16(tiffOffset+2,littleEndian)===0x002A){var firstIFDOffset=dataView.getUint32(tiffOffset+4,littleEndian);if(firstIFDOffset>=0x00000008){ifdStart=tiffOffset+firstIFDOffset}}}}}
102if(ifdStart){var _length=dataView.getUint16(ifdStart,littleEndian);var _offset;var i;for(i=0;i<_length;i+=1){_offset=ifdStart+i*12+2;if(dataView.getUint16(_offset,littleEndian)===0x0112){_offset+=8;orientation=dataView.getUint16(_offset,littleEndian);dataView.setUint16(_offset,1,littleEndian);break}}}}catch(error){orientation=1}
103return orientation}
104function parseOrientation(orientation){var rotate=0;var scaleX=1;var scaleY=1;switch(orientation){case 2:scaleX=-1;break;case 3:rotate=-180;break;case 4:scaleY=-1;break;case 5:rotate=90;scaleY=-1;break;case 6:rotate=90;break;case 7:rotate=90;scaleX=-1;break;case 8:rotate=-90;break}
105return{rotate:rotate,scaleX:scaleX,scaleY:scaleY}}
106var render={render:function render(){this.initContainer();this.initCanvas();this.initCropBox();this.renderCanvas();if(this.cropped){this.renderCropBox()}},initContainer:function initContainer(){var element=this.element,options=this.options,container=this.container,cropper=this.cropper;var minWidth=Number(options.minContainerWidth);var minHeight=Number(options.minContainerHeight);addClass(cropper,CLASS_HIDDEN);removeClass(element,CLASS_HIDDEN);var containerData={width:Math.max(container.offsetWidth,minWidth>=0?minWidth:MIN_CONTAINER_WIDTH),height:Math.max(container.offsetHeight,minHeight>=0?minHeight:MIN_CONTAINER_HEIGHT)};this.containerData=containerData;setStyle(cropper,{width:containerData.width,height:containerData.height});addClass(element,CLASS_HIDDEN);removeClass(cropper,CLASS_HIDDEN)},initCanvas:function initCanvas(){var containerData=this.containerData,imageData=this.imageData;var viewMode=this.options.viewMode;var rotated=Math.abs(imageData.rotate)%180===90;
106var naturalWidth=rotated?imageData.naturalHeight:imageData.naturalWidth;var naturalHeight=rotated?imageData.naturalWidth:imageData.naturalHeight;var aspectRatio=naturalWidth/naturalHeight;var canvasWidth=containerData.width;var canvasHeight=containerData.height;if(containerData.height*aspectRatio>containerData.width){if(viewMode===3){canvasWidth=containerData.height*aspectRatio}else{canvasHeight=containerData.width/aspectRatio}}else if(viewMode===3){canvasHeight=containerData.width/aspectRatio}else{canvasWidth=containerData.height*aspectRatio}
107var canvasData={aspectRatio:aspectRatio,naturalWidth:naturalWidth,naturalHeight:naturalHeight,width:canvasWidth,height:canvasHeight};this.canvasData=canvasData;this.limited=viewMode===1||viewMode===2;this.limitCanvas(!0,!0);canvasData.width=Math.min(Math.max(canvasData.width,canvasData.minWidth),canvasData.maxWidth);canvasData.height=Math.min(Math.max(canvasData.height,canvasData.minHeight),canvasData.maxHeight);canvasData.left=(containerData.width-canvasData.width)/2;canvasData.top=(containerData.height-canvasData.height)/2;canvasData.oldLeft=canvasData.left;canvasData.oldTop=canvasData.top;this.initialCanvasData=assign({},canvasData)},limitCanvas:function limitCanvas(sizeLimited,positionLimited){var options=this.options,containerData=this.containerData,canvasData=this.canvasData,cropBoxData=this.cropBoxData;var viewMode=options.viewMode;var aspectRatio=canvasData.aspectRatio;var cropped=this.cropped&&cropBoxData;if(sizeLimited){var minCanvasWidth=Number(options.minCanvasWidth)||0;var minCanvasHeight=Number(options.minCanvasHeight)||0;if(viewMode>1){minCanvasWidth=Math.max(minCanvasWidth,containerData.width);minCanvasHeight=Math.max(minCanvasHeight,containerData.height);if(viewMode===3){if(minCanvasHeight*aspectRatio>minCanvasWidth){minCanvasWidth=minCanvasHeight*aspectRatio}else{minCanvasHeight=minCanvasWidth/aspectRatio}}}else if(viewMode>0){if(minCanvasWidth){minCanvasWidth=Math.max(minCanvasWidth,cropped?cropBoxData.width:0)}else if(minCanvasHeight){minCanvasHeight=Math.max(minCanvasHeight,cropped?cropBoxData.height:0)}else if(cropped){minCanvasWidth=cropBoxData.width;minCanvasHeight=cropBoxData.height;if(minCanvasHeight*aspectRatio>minCanvasWidth){minCanvasWidth=minCanvasHeight*aspectRatio}else{minCanvasHeight=minCanvasWidth/aspectRatio}}}
108var _getAdjustedSizes=getAdjustedSizes({aspectRatio:aspectRatio,width:minCanvasWidth,height:minCanvasHeight});minCanvasWidth=_getAdjustedSizes.width;minCanvasHeight=_getAdjustedSizes.height;canvasData.minWidth=minCanvasWidth;canvasData.minHeight=minCanvasHeight;canvasData.maxWidth=Infinity;canvasData.maxHeight=Infinity}
109if(positionLimited){if(viewMode>(cropped?0:1)){var newCanvasLeft=containerData.width-canvasData.width;var newCanvasTop=containerData.height-canvasData.height;canvasData.minLeft=Math.min(0,newCanvasLeft);canvasData.minTop=Math.min(0,newCanvasTop);canvasData.maxLeft=Math.max(0,newCanvasLeft);canvasData.maxTop=Math.max(0,newCanvasTop);if(cropped&&this.limited){canvasData.minLeft=Math.min(cropBoxData.left,cropBoxData.left+(cropBoxData.width-canvasData.width));canvasData.minTop=Math.min(cropBoxData.top,cropBoxData.top+(cropBoxData.height-canvasData.height));canvasData.maxLeft=cropBoxData.left;canvasData.maxTop=cropBoxData.top;if(viewMode===2){if(canvasData.width>=containerData.width){canvasData.minLeft=Math.min(0,newCanvasLeft);canvasData.maxLeft=Math.max(0,newCanvasLeft)}
110if(canvasData.height>=containerData.height){canvasData.minTop=Math.min(0,newCanvasTop);canvasData.maxTop=Math.max(0,newCanvasTop)}}}}else{canvasData.minLeft=-canvasData.width;canvasData.minTop=-canvasData.height;canvasData.maxLeft=containerData.width;canvasData.maxTop=containerData.height}}},renderCanvas:function renderCanvas(changed,transformed){var canvasData=this.canvasData,imageData=this.imageData;if(transformed){var _getRotatedSizes=getRotatedSizes({width:imageData.naturalWidth*Math.abs(imageData.scaleX||1),height:imageData.naturalHeight*Math.abs(imageData.scaleY||1),degree:imageData.rotate||0}),naturalWidth=_getRotatedSizes.width,naturalHeight=_getRotatedSizes.height;
110var width=canvasData.width*(naturalWidth/canvasData.naturalWidth);var height=canvasData.height*(naturalHeight/canvasData.naturalHeight);canvasData.left-=(width-canvasData.width)/2;canvasData.top-=(height-canvasData.height)/2;canvasData.width=width;canvasData.height=height;canvasData.aspectRatio=naturalWidth/naturalHeight;canvasData.naturalWidth=naturalWidth;canvasData.naturalHeight=naturalHeight;this.limitCanvas(!0,!1)}
111if(canvasData.width>canvasData.maxWidth||canvasData.width<canvasData.minWidth){canvasData.left=canvasData.oldLeft}
112if(canvasData.height>canvasData.maxHeight||canvasData.height<canvasData.minHeight){canvasData.top=canvasData.oldTop}
113canvasData.width=Math.min(Math.max(canvasData.width,canvasData.minWidth),canvasData.maxWidth);canvasData.height=Math.min(Math.max(canvasData.height,canvasData.minHeight),canvasData.maxHeight);this.limitCanvas(!1,!0);canvasData.left=Math.min(Math.max(canvasData.left,canvasData.minLeft),canvasData.maxLeft);canvasData.top=Math.min(Math.max(canvasData.top,canvasData.minTop),canvasData.maxTop);canvasData.oldLeft=canvasData.left;canvasData.oldTop=canvasData.top;setStyle(this.canvas,assign({width:canvasData.width,height:canvasData.height},getTransforms({translateX:canvasData.left,translateY:canvasData.top})));this.renderImage(changed);if(this.cropped&&this.limited){this.limitCropBox(!0,!0)}},renderImage:function renderImage(changed){var canvasData=this.canvasData,imageData=this.imageData;var width=imageData.naturalWidth*(canvasData.width/canvasData.naturalWidth);var height=imageData.naturalHeight*(canvasData.height/canvasData.naturalHeight);assign(imageData,{width:width,height:height,left:(canvasData.width-width)/2,top:(canvasData.height-height)/2});setStyle(this.image,assign({width:imageData.width,height:imageData.height},getTransforms(assign({translateX:imageData.left,translateY:imageData.top},imageData))));if(changed){this.output()}},initCropBox:function initCropBox(){var options=this.options,canvasData=this.canvasData;var aspectRatio=options.aspectRatio||options.initialAspectRatio;var autoCropArea=Number(options.autoCropArea)||0.8;var cropBoxData={width:canvasData.width,height:canvasData.height};if(aspectRatio){if(canvasData.height*aspectRatio>canvasData.width){cropBoxData.height=cropBoxData.width/aspectRatio}else{cropBoxData.width=cropBoxData.height*aspectRatio}}
114this.cropBoxData=cropBoxData;this.limitCropBox(!0,!0);cropBoxData.width=Math.min(Math.max(cropBoxData.width,cropBoxData.minWidth),cropBoxData.maxWidth);cropBoxData.height=Math.min(Math.max(cropBoxData.height,cropBoxData.minHeight),cropBoxData.maxHeight);cropBoxData.width=Math.max(cropBoxData.minWidth,cropBoxData.width*autoCropArea);cropBoxData.height=Math.max(cropBoxData.minHeight,cropBoxData.height*autoCropArea);cropBoxData.left=canvasData.left+(canvasData.width-cropBoxData.width)/2;cropBoxData.top=canvasData.top+(canvasData.height-cropBoxData.height)/2;cropBoxData.oldLeft=cropBoxData.left;cropBoxData.oldTop=cropBoxData.top;this.initialCropBoxData=assign({},cropBoxData)},limitCropBox:function limitCropBox(sizeLimited,positionLimited){var options=this.options,containerData=this.containerData,canvasData=this.canvasData,cropBoxData=this.cropBoxData,limited=this.limited;var aspectRatio=options.aspectRatio;if(sizeLimited){var minCropBoxWidth=Number(options.minCropBoxWidth)||0;var minCropBoxHeight=Number(options.minCropBoxHeight)||0;var maxCropBoxWidth=limited?Math.min(containerData.width,canvasData.width,canvasData.width+canvasData.left,containerData.width-canvasData.left):containerData.width;var maxCropBoxHeight=limited?Math.min(containerData.height,canvasData.height,canvasData.height+canvasData.top,containerData.height-canvasData.top):containerData.height;minCropBoxWidth=Math.min(minCropBoxWidth,containerData.width);minCropBoxHeight=Math.min(minCropBoxHeight,containerData.height);if(aspectRatio){if(minCropBoxWidth&&minCropBoxHeight){if(minCropBoxHeight*aspectRatio>minCropBoxWidth){minCropBoxHeight=minCropBoxWidth/aspectRatio}else{minCropBoxWidth=minCropBoxHeight*aspectRatio}}else if(minCropBoxWidth){minCropBoxHeight=minCropBoxWidth/aspectRatio}else if(minCropBoxHeight){minCropBoxWidth=minCropBoxHeight*aspectRatio}
115if(maxCropBoxHeight*aspectRatio>maxCropBoxWidth){maxCropBoxHeight=maxCropBoxWidth/aspectRatio}else{maxCropBoxWidth=maxCropBoxHeight*aspectRatio}}
116cropBoxData.minWidth=Math.min(minCropBoxWidth,maxCropBoxWidth);cropBoxData.minHeight=Math.min(minCropBoxHeight,maxCropBoxHeight);cropBoxData.maxWidth=maxCropBoxWidth;cropBoxData.maxHeight=maxCropBoxHeight}
117if(positionLimited){if(limited){cropBoxData.minLeft=Math.max(0,canvasData.left);cropBoxData.minTop=Math.max(0,canvasData.top);cropBoxData.maxLeft=Math.min(containerData.width,canvasData.left+canvasData.width)-cropB
117oxData.width;cropBoxData.maxTop=Math.min(containerData.height,canvasData.top+canvasData.height)-cropBoxData.height}else{cropBoxData.minLeft=0;cropBoxData.minTop=0;cropBoxData.maxLeft=containerData.width-cropBoxData.width;cropBoxData.maxTop=containerData.height-cropBoxData.height}}},renderCropBox:function renderCropBox(){var options=this.options,containerData=this.containerData,cropBoxData=this.cropBoxData;if(cropBoxData.width>cropBoxData.maxWidth||cropBoxData.width<cropBoxData.minWidth){cropBoxData.left=cropBoxData.oldLeft}
118if(cropBoxData.height>cropBoxData.maxHeight||cropBoxData.height<cropBoxData.minHeight){cropBoxData.top=cropBoxData.oldTop}
119cropBoxData.width=Math.min(Math.max(cropBoxData.width,cropBoxData.minWidth),cropBoxData.maxWidth);cropBoxData.height=Math.min(Math.max(cropBoxData.height,cropBoxData.minHeight),cropBoxData.maxHeight);this.limitCropBox(!1,!0);cropBoxData.left=Math.min(Math.max(cropBoxData.left,cropBoxData.minLeft),cropBoxData.maxLeft);cropBoxData.top=Math.min(Math.max(cropBoxData.top,cropBoxData.minTop),cropBoxData.maxTop);cropBoxData.oldLeft=cropBoxData.left;cropBoxData.oldTop=cropBoxData.top;if(options.movable&&options.cropBoxMovable){setData(this.face,DATA_ACTION,cropBoxData.width>=containerData.width&&cropBoxData.height>=containerData.height?ACTION_MOVE:ACTION_ALL)}
120setStyle(this.cropBox,assign({width:cropBoxData.width,height:cropBoxData.height},getTransforms({translateX:cropBoxData.left,translateY:cropBoxData.top})));if(this.cropped&&this.limited){this.limitCanvas(!0,!0)}
121if(!this.disabled){this.output()}},output:function output(){this.preview();dispatchEvent(this.element,EVENT_CROP,this.getData())}};var preview={initPreview:function initPreview(){var element=this.element,crossOrigin=this.crossOrigin;var preview=this.options.preview;var url=crossOrigin?this.crossOriginUrl:this.url;var alt=element.alt||'The image to preview';var image=document.createElement('img');if(crossOrigin){image.crossOrigin=crossOrigin}
122image.src=url;image.alt=alt;this.viewBox.appendChild(image);this.viewBoxImage=image;if(!preview){return}
123var previews=preview;if(typeof preview==='string'){previews=element.ownerDocument.querySelectorAll(preview)}else if(preview.querySelector){previews=[preview]}
124this.previews=previews;forEach(previews,function(el){var img=document.createElement('img');setData(el,DATA_PREVIEW,{width:el.offsetWidth,height:el.offsetHeight,html:el.innerHTML});if(crossOrigin){img.crossOrigin=crossOrigin}
125img.src=url;img.alt=alt;img.style.cssText='display:block;'+'width:100%;'+'height:auto;'+'min-width:0!important;'+'min-height:0!important;'+'max-width:none!important;'+'max-height:none!important;'+'image-orientation:0deg!important;';el.innerHTML='';el.appendChild(img)})},resetPreview:function resetPreview(){forEach(this.previews,function(element){var data=getData(element,DATA_PREVIEW);setStyle(element,{width:data.width,height:data.height});element.innerHTML=data.html;removeData(element,DATA_PREVIEW)})},preview:function preview(){var imageData=this.imageData,canvasData=this.canvasData,cropBoxData=this.cropBoxData;var cropBoxWidth=cropBoxData.width,cropBoxHeight=cropBoxData.height;var width=imageData.width,height=imageData.height;var left=cropBoxData.left-canvasData.left-imageData.left;var top=cropBoxData.top-canvasData.top-imageData.top;if(!this.cropped||this.disabled){return}
126setStyle(this.viewBoxImage,assign({width:width,height:height},getTransforms(assign({translateX:-left,translateY:-top},imageData))));forEach(this.previews,function(element){var data=getData(element,DATA_PREVIEW);var originalWidth=data.width;var originalHeight=data.height;var newWidth=originalWidth;var newHeight=originalHeight;var ratio=1;if(cropBoxWidth){ratio=originalWidth/cropBoxWidth;newHeight=cropBoxHeight*ratio}
127if(cropBoxHeight&&newHeight>originalHeight){ratio=originalHeight/cropBoxHeight;newWidth=cropBoxWidth*ratio;newHeight=originalHeight}
128setStyle(element,{width:newWidth,height:newHeight});setStyle(element.getElementsByTagName('img')[0],assign({width:width*ratio,height:height*ratio},getTransforms(assign({translateX:-left*ratio,translateY:-top*ratio},imageData))))})}};var events={bind:function bind(){var element=this.element,options=this.options,cropper=this.cropper;if(isFunction(options.cropstart)){addListener(element,EVENT_CROP_START,options.cropstart)}
129if(isFunction(options.cropmove)){addListener(element,EVENT_CROP_MOVE,options.cropmove)}
130if(isFunction(options.cropend)){addListener(element,EVENT_CROP_END,options.cropend)}
131if(isFunction(options.crop)){addListener(element,EVENT_CROP,options.crop)}
132if(isFunction(options.zoom)){addListener(element,EVENT_ZOOM,options.zoom)}
133addListener(cropper,EVENT_POINTER_DOWN,this.onCropStart=this.cropStart.bind(this));if(options.zoomable&&options.zoomOnWheel){addListener(cropper,EVENT_WHEEL,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0})}
134if(options.toggleDragModeOnDblclick){addListener(cropper,EVENT_DBLCLICK,this.onDblclick=this.dblclick.bind(this))}
135addListener(element.ownerDocument,EVENT_POINTER_MOVE,this.onCropMove=this.cropMove.bind(this));addListener(element.ownerDocument,EVENT_POINTER_UP,this.onCropEnd=this.cropEnd.bind(this));if(options.responsive){addListener(window,EVENT_RESIZE,this.onResize=this.resize.bind(this))}},unbind:function unbind(){var element=this.element,options=this.options,cropper=this.cropper;if(isFunction(options.cropstart)){removeListener(element,EVENT_CROP_START,options.cropstart)}
136if(isFunction(options.cropmove)){removeListener(element,EVENT_CROP_MOVE,options.cropmove)}
137if(isFunction(options.cropend)){removeListener(element,EVENT_CROP_END,options.cropend)}
138if(isFunction(options.crop)){removeListener(element,EVENT_CROP,options.crop)}
139if(isFunction(options.zoom)){removeListener(element,EVENT_ZOOM,options.zoom)}
140removeListener(cropper,EVENT_POINTER_DOWN,this.onCropStart);if(options.zoomable&&options.zoomOnWheel){removeListener(cropper,EVENT_WHEEL,this.onWheel,{passive:!1,capture:!0})}
141if(options.toggleDragModeOnDblclick){removeListener(cropper,EVENT_DBLCLICK,this.onDblclick)}
142removeListener(element.ownerDocument,EVENT_POINTER_MOVE,this.onCropMove);removeListener(element.ownerDocument,EVENT_POINTER_UP,this.onCropEnd);if(options.responsive){removeListener(window,EVENT_RESIZE,this.onResize)}}};var handlers={resize:function resize(){if(this.disabled){return}
143var options=this.options,container=this.container,containerData=this.containerData;var ratioX=container.offsetWidth/containerData.width;var ratioY=container.offsetHeight/containerData.height;var ratio=Math.abs(ratioX-1)>Math.abs(ratioY-1)?ratioX:ratioY;if(ratio!==1){var canvasData;var cropBoxData;if(options.restore){canvasData=this.getCanvasData();cropBoxData=this.getCropBoxData()}
144this.render();if(options.restore){this.setCanvasData(forEach(canvasData,function(n,i){canvasData[i]=n*ratio}));this.setCropBoxData(forEach(cropBoxData,function(n,i){cropBoxData[i]=n*ratio}))}}},dblclick:function dblclick(){if(this.disabled||this.options.dragMode===DRAG_MODE_NONE){return}
145this.setDragMode(hasClass(this.dragBox,CLASS_CROP)?DRAG_MODE_MOVE:DRAG_MODE_CROP)},wheel:function wheel(event){var _this=this;var ratio=Number(this.options.wheelZoomRatio)||0.1;var delta=1;if(this.disabled){return}
146event.preventDefault();if(this.wheeling){return}
147this.wheeling=!0;setTimeout(function(){_this.wheeling=!1},50);if(event.deltaY){delta=event.deltaY>0?1:-1}else if(event.wheelDelta){delta=-event.wheelDelta/120}else if(event.detail){delta=event.detail>0?1:-1}
148this.zoom(-delta*ratio,event)},cropStart:function cropStart(event){var buttons=event.buttons,button=event.button;if(this.disabled||(event.type==='mousedown'||event.type==='pointerdown'&&event.pointerType==='mouse')&&(isNumber(buttons)&&buttons!==1||isNumber(button)&&button!==0||event.ctrlKey)){return}
149var options=this.options,pointers=this.pointers;var action;if(event.changedTouches){forEach(event.changedTouches,function(touch){pointers[touch.identifier]=getPointer(touch)})}else{pointers[event.pointerId||0]=getPointer(event)}
150if(Object.keys(pointers).length>1&&options.zoomable&&options.zoomOnTouch){action=ACTION_ZOOM}else{action=getData(event.target,DATA_ACTION)}
151if(!REGEXP_ACTIONS.test(action)){return}
152if(dispatchEvent(this.element,EVENT_CROP_START,{originalEvent:event,action:action})===!1){return}
153event.preventDefault();this.action=action;this.cropping=!1;if(action===ACTION_CROP){this.cropping=!0;addClass(this.dragBox,CLASS_MODAL)}},cropMove:function cropMove(event){var action=this.action;if(this.disabled||!action){return}
154var pointers=this.pointers;event.preventDefault();if(dispatchEvent(this.element,EVENT_CROP_MOVE,{originalEvent:event,action:action})===!1){return}
155if(event.changedTouches){forEach(event.changedTouches,function(touch){assign(pointers[touch.identifier]||{},getPointer(touch,!0))})}else{assign(pointers[event.pointerId||0]||{},getPointer(event,!0))}
156this.change(event)},cropEnd:function cropEnd(event){if(this.disabled){return}
157var action=this.action,pointers=this.pointers;if(event.changedTouches){forEach(event.changedTouches,function(touch){delete pointers[touch.identifier]})}else{delete pointers[event.pointerId||0]}
158if(!action){return}
159event.preventDefault();if(!Object.keys(pointers).length){this.action=''}
160if(this.cropping){this.cropping=!1;toggleClass(this.dragBox,CLASS_MODAL,this.cropped&&this.options.modal)}
161dispatchEvent(this.element,EVENT_CROP_END,{originalEvent:event,action:action})}};var change={change:function change(event){var options=this.options,canvasData=this.canvasData,containerData=this.containerData,cropBoxData=this.cropBoxData,pointers=this.pointers;var action=this.action;var aspectRatio=options.aspectRatio;
161var left=cropBoxData.left,top=cropBoxData.top,width=cropBoxData.width,height=cropBoxData.height;var right=left+width;var bottom=top+height;var minLeft=0;var minTop=0;var maxWidth=containerData.width;var maxHeight=containerData.height;var renderable=!0;var offset;if(!aspectRatio&&event.shiftKey){aspectRatio=width&&height?width/height:1}
162if(this.limited){minLeft=cropBoxData.minLeft;minTop=cropBoxData.minTop;maxWidth=minLeft+Math.min(containerData.width,canvasData.width,canvasData.left+canvasData.width);maxHeight=minTop+Math.min(containerData.height,canvasData.height,canvasData.top+canvasData.height)}
163var pointer=pointers[Object.keys(pointers)[0]];var range={x:pointer.endX-pointer.startX,y:pointer.endY-pointer.startY};var check=function check(side){switch(side){case ACTION_EAST:if(right+range.x>maxWidth){range.x=maxWidth-right}
164break;case ACTION_WEST:if(left+range.x<minLeft){range.x=minLeft-left}
165break;case ACTION_NORTH:if(top+range.y<minTop){range.y=minTop-top}
166break;case ACTION_SOUTH:if(bottom+range.y>maxHeight){range.y=maxHeight-bottom}
167break}};switch(action){case ACTION_ALL:left+=range.x;top+=range.y;break;case ACTION_EAST:if(range.x>=0&&(right>=maxWidth||aspectRatio&&(top<=minTop||bottom>=maxHeight))){renderable=!1;break}
168check(ACTION_EAST);width+=range.x;
168if(width<0){action=ACTION_WEST;width=-width;left-=width}
169if(aspectRatio){height=width/aspectRatio;top+=(cropBoxData.height-height)/2}
170break;case ACTION_NORTH:if(range.y<=0&&(top<=minTop||aspectRatio&&(left<=minLeft||right>=maxWidth))){renderable=!1;break}
171check(ACTION_NORTH);height-=range.y;top+=range.y;if(height<0){action=ACTION_SOUTH;height=-height;top-=height}
172if(aspectRatio){width=height*aspectRatio;left+=(cropBoxData.width-width)/2}
173break;case ACTION_WEST:if(range.x<=0&&(left<=minLeft||aspectRatio&&(top<=minTop||bottom>=maxHeight))){renderable=!1;break}
174check(ACTION_WEST);width-=range.x;left+=range.x;if(width<0){action=ACTION_EAST;width=-width;left-=width}
175if(aspectRatio){height=width/aspectRatio;top+=(cropBoxData.height-height)/2}
176break;case ACTION_SOUTH:if(range.y>=0&&(bottom>=maxHeight||aspectRatio&&(left<=minLeft||right>=maxWidth))){renderable=!1;break}
177check(ACTION_SOUTH);height+=range.y;if(height<0){action=ACTION_NORTH;height=-height;top-=height}
178if(aspectRatio){width=height*aspectRatio;left+=(cropBoxData.width-width)/2}
179break;case ACTION_NORTH_EAST:if(aspectRatio){if(range.y<=0&&(top<=minTop||right>=maxWidth)){renderable=!1;break}
180check(ACTION_NORTH);height-=range.y;top+=range.y;width=height*aspectRatio}else{check(ACTION_NORTH);check(ACTION_EAST);if(range.x>=0){if(right<maxWidth){width+=range.x}else if(range.y<=0&&top<=minTop){renderable=!1}}else{width+=range.x}
181if(range.y<=0){if(top>minTop){height-=range.y;top+=range.y}}else{height-=range.y;top+=range.y}}
182if(width<0&&height<0){action=ACTION_SOUTH_WEST;height=-height;width=-width;top-=height;left-=width}else if(width<0){action=ACTION_NORTH_WEST;width=-width;left-=width}else if(height<0){action=ACTION_SOUTH_EAST;height=-height;top-=height}
183break;case ACTION_NORTH_WEST:if(aspectRatio){if(range.y<=0&&(top<=minTop||left<=minLeft)){renderable=!1;break}
184check(ACTION_NORTH);height-=range.y;top+=range.y;width=height*aspectRatio;left+=cropBoxData.width-width}else{check(ACTION_NORTH);check(ACTION_WEST);if(range.x<=0){if(left>minLeft){width-=range.x;left+=range.x}else if(range.y<=0&&top<=minTop){renderable=!1}}else{width-=range.x;left+=range.x}
185if(range.y<=0){if(top>minTop){height-=range.y;top+=range.y}}else{height-=range.y;top+=range.y}}
186if(width<0&&height<0){action=ACTION_SOUTH_EAST;height=-height;width=-width;top-=height;left-=width}else if(width<0){action=ACTION_NORTH_EAST;width=-width;left-=width}else if(height<0){action=ACTION_SOUTH_WEST;height=-height;top-=height}
187break;case ACTION_SOUTH_WEST:if(aspectRatio){if(range.x<=0&&(left<=minLeft||bottom>=maxHeight)){renderable=!1;break}
188check(ACTION_WEST);width-=range.x;left+=range.x;height=width/aspectRatio}else{check(ACTION_SOUTH);check(ACTION_WEST);if(range.x<=0){if(left>minLeft){width-=range.x;left+=range.x}else if(range.y>=0&&bottom>=maxHeight){renderable=!1}}else{width-=range.x;left+=range.x}
189if(range.y>=0){if(bottom<maxHeight){height+=range.y}}else{height+=range.y}}
190if(width<0&&height<0){action=ACTION_NORTH_EAST;height=-height;width=-width;top-=height;left-=width}else if(width<0){action=ACTION_SOUTH_EAST;width=-width;left-=width}else if(height<0){action=ACTION_NORTH_WEST;height=-height;top-=height}
191break;case ACTION_SOUTH_EAST:if(aspectRatio){if(range.x>=0&&(right>=maxWidth||bottom>=maxHeight)){renderable=!1;break}
192check(ACTION_EAST);width+=range.x;height=width/aspectRatio}else{check(ACTION_SOUTH);check(ACTION_EAST);if(range.x>=0){if(right<maxWidth){width+=range.x}else if(range.y>=0&&bottom>=maxHeight){renderable=!1}}else{width+=range.x}
193if(range.y>=0){if(bottom<maxHeight){height+=range.y}}else{height+=range.y}}
194if(width<0&&height<0){action=ACTION_NORTH_WEST;height=-height;width=-width;top-=height;left-=width}else if(width<0){action=ACTION_SOUTH_WEST;width=-width;left-=width}else if(height<0){action=ACTION_NORTH_EAST;height=-height;top-=height}
195break;case ACTION_MOVE:this.move(range.x,range.y);renderable=!1;break;case ACTION_ZOOM:this.zoom(getMaxZoomRatio(pointers),event);renderable=!1;break;case ACTION_CROP:if(!range.x||!range.y){renderable=!1;break}
196offset=getOffset(this.cropper);left=pointer.startX-offset.left;top=pointer.startY-offset.top;width=cropBoxData.minWidth;height=cropBoxData.minHeight;if(range.x>0){action=range.y>0?ACTION_SOUTH_EAST:ACTION_NORTH_EAST}else if(range.x<0){left-=width;action=range.y>0?ACTION_SOUTH_WEST:ACTION_NORTH_WEST}
197if(range.y<0){top-=height}
198if(!this.cropped){removeClass(this.cropBox,CLASS_HIDDEN);this.cropped=!0;if(this.limited){this.limitCropBox(!0,!0)}}
199break}
200if(renderable){cropBoxData.width=width;cropBoxData.height=height;
200cropBoxData.left=left;cropBoxData.top=top;this.action=action;this.renderCropBox()}
201forEach(pointers,function(p){p.startX=p.endX;p.startY=p.endY})}};var methods={crop:function crop(){if(this.ready&&!this.cropped&&!this.disabled){this.cropped=!0;this.limitCropBox(!0,!0);if(this.options.modal){addClass(this.dragBox,CLASS_MODAL)}
202removeClass(this.cropBox,CLASS_HIDDEN);this.setCropBoxData(this.initialCropBoxData)}
203return this},reset:function reset(){if(this.ready&&!this.disabled){this.imageData=assign({},this.initialImageData);this.canvasData=assign({},this.initialCanvasData);this.cropBoxData=assign({},this.initialCropBoxData);this.renderCanvas();if(this.cropped){this.renderCropBox()}}
204return this},clear:function clear(){if(this.cropped&&!this.disabled){assign(this.cropBoxData,{left:0,top:0,width:0,height:0});this.cropped=!1;this.renderCropBox();this.limitCanvas(!0,!0);this.renderCanvas();removeClass(this.dragBox,CLASS_MODAL);addClass(this.cropBox,CLASS_HIDDEN)}
205return this},replace:function replace(url){var hasSameSize=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1;if(!this.disabled&&url){if(this.isImg){this.element.src=url}
206if(hasSameSize){this.url=url;this.image.src=url;if(this.ready){this.viewBoxImage.src=url;forEach(this.previews,function(element){element.getElementsByTagName('img')[0].src=url})}}else{if(this.isImg){this.replaced=!0}
207this.options.data=null;this.uncreate();this.load(url)}}
208return this},enable:function enable(){if(this.ready&&this.disabled){this.disabled=!1;removeClass(this.cropper,CLASS_DISABLED)}
209return this},disable:function disable(){if(this.ready&&!this.disabled){this.disabled=!0;addClass(this.cropper,CLASS_DISABLED)}
210return this},destroy:function destroy(){var element=this.element;if(!element[NAMESPACE]){return this}
211element[NAMESPACE]=undefined;if(this.isImg&&this.replaced){element.src=this.originalUrl}
212this.uncreate();return this},move:function move(offsetX){var offsetY=arguments.length>1&&arguments[1]!==undefined?arguments[1]:offsetX;var _this$canvasData=this.canvasData,left=_this$canvasData.left,top=_this$canvasData.top;return this.moveTo(isUndefined(offsetX)?offsetX:left+Number(offsetX),isUndefined(offsetY)?offsetY:top+Number(offsetY))},moveTo:function moveTo(x){var y=arguments.length>1&&arguments[1]!==undefined?arguments[1]:x;var canvasData=this.canvasData;var changed=!1;x=Number(x);y=Number(y);if(this.ready&&!this.disabled&&this.options.movable){if(isNumber(x)){canvasData.left=x;changed=!0}
213if(isNumber(y)){canvasData.top=y;changed=!0}
214if(changed){this.renderCanvas(!0)}}
215return this},zoom:function zoom(ratio,_originalEvent){var canvasData=this.canvasData;ratio=Number(ratio);if(ratio<0){ratio=1/(1-ratio)}else{ratio=1+ratio}
216return this.zoomTo(canvasData.width*ratio/canvasData.naturalWidth,null,_originalEvent)},zoomTo:function zoomTo(ratio,pivot,_originalEvent){var options=this.options,canvasData=this.canvasData;var width=canvasData.width,height=canvasData.height,naturalWidth=canvasData.naturalWidth,naturalHeight=canvasData.naturalHeight;ratio=Number(ratio);if(ratio>=0&&this.ready&&!this.disabled&&options.zoomable){var newWidth=naturalWidth*ratio;var newHeight=naturalHeight*ratio;if(dispatchEvent(this.element,EVENT_ZOOM,{ratio:ratio,oldRatio:width/naturalWidth,originalEvent:_originalEvent})===!1){return this}
217if(_originalEvent){var pointers=this.pointers;var offset=getOffset(this.cropper);var center=pointers&&Object.keys(pointers).length?getPointersCenter(pointers):{pageX:_originalEvent.pageX,pageY:_originalEvent.pageY};canvasData.left-=(newWidth-width)*((center.pageX-offset.left-canvasData.left)/width);canvasData.top-=(newHeight-height)*((center.pageY-offset.top-canvasData.top)/height)}else if(isPlainObject(pivot)&&isNumber(pivot.x)&&isNumber(pivot.y)){canvasData.left-=(newWidth-width)*((pivot.x-canvasData.left)/width);canvasData.top-=(newHeight-height)*((pivot.y-canvasData.top)/height)}else{canvasData.left-=(newWidth-width)/2;canvasData.top-=(newHeight-height)/2}
218canvasData.width=newWidth;canvasData.height=newHeight;this.renderCanvas(!0)}
219return this},rotate:function rotate(degree){return this.rotateTo((this.imageData.rotate||0)+Number(degree))},rotateTo:function rotateTo(degree){degree=Number(degree);if(isNumber(degree)&&this.ready&&!this.disabled&&this.options.rotatable){this.imageData.rotate=degree%360;this.renderCanvas(!0,!0)}
220return this},scaleX:function scaleX(_scaleX){var scaleY=this.imageData.scaleY;return this.scale(_scaleX,isNumber(scaleY)?scaleY:1)},scaleY:function scaleY(_scaleY){var scaleX=this.imageData.scaleX;
220return this.scale(isNumber(scaleX)?scaleX:1,_scaleY)},scale:function scale(scaleX){var scaleY=arguments.length>1&&arguments[1]!==undefined?arguments[1]:scaleX;var imageData=this.imageData;var transformed=!1;scaleX=Number(scaleX);scaleY=Number(scaleY);if(this.ready&&!this.disabled&&this.options.scalable){if(isNumber(scaleX)){imageData.scaleX=scaleX;transformed=!0}
221if(isNumber(scaleY)){imageData.scaleY=scaleY;transformed=!0}
222if(transformed){this.renderCanvas(!0,!0)}}
223return this},getData:function getData(){var rounded=arguments.length>0&&arguments[0]!==undefined?arguments[0]:!1;var options=this.options,imageData=this.imageData,canvasData=this.canvasData,cropBoxData=this.cropBoxData;var data;if(this.ready&&this.cropped){data={x:cropBoxData.left-canvasData.left,y:cropBoxData.top-canvasData.top,width:cropBoxData.width,height:cropBoxData.height};var ratio=imageData.width/imageData.naturalWidth;forEach(data,function(n,i){data[i]=n/ratio});if(rounded){var bottom=Math.round(data.y+data.height);var right=Math.round(data.x+data.width);data.x=Math.round(data.x);data.y=Math.round(data.y);data.width=right-data.x;data.height=bottom-data.y}}else{data={x:0,y:0,width:0,height:0}}
224if(options.rotatable){data.rotate=imageData.rotate||0}
225if(options.scalable){data.scaleX=imageData.scaleX||1;data.scaleY=imageData.scaleY||1}
226return data},setData:function setData(data){var options=this.options,imageData=this.imageData,canvasData=this.canvasData;var cropBoxData={};if(this.ready&&!this.disabled&&isPlainObject(data)){var transformed=!1;if(options.rotatable){if(isNumber(data.rotate)&&data.rotate!==imageData.rotate){imageData.rotate=data.rotate;transformed=!0}}
227if(options.scalable){if(isNumber(data.scaleX)&&data.scaleX!==imageData.scaleX){imageData.scaleX=data.scaleX;transformed=!0}
228if(isNumber(data.scaleY)&&data.scaleY!==imageData.scaleY){imageData.scaleY=data.scaleY;transformed=!0}}
229if(transformed){this.renderCanvas(!0,!0)}
230var ratio=imageData.width/imageData.naturalWidth;if(isNumber(data.x)){cropBoxData.left=data.x*ratio+canvasData.left}
231if(isNumber(data.y)){cropBoxData.top=data.y*ratio+canvasData.top}
232if(isNumber(data.width)){cropBoxData.width=data.width*ratio}
233if(isNumber(data.height)){cropBoxData.height=data.height*ratio}
234this.setCropBoxData(cropBoxData)}
235return this},getContainerData:function getContainerData(){return this.ready?assign({},this.containerData):{}},getImageData:function getImageData(){return this.sized?assign({},this.imageData):{}},getCanvasData:function getCanvasData(){var canvasData=this.canvasData;var data={};if(this.ready){forEach(['left','top','width','height','naturalWidth','naturalHeight'],function(n){data[n]=canvasData[n]})}
236return data},setCanvasData:function setCanvasData(data){var canvasData=this.canvasData;var aspectRatio=canvasData.aspectRatio;if(this.ready&&!this.disabled&&isPlainObject(data)){if(isNumber(data.left)){canvasData.left=data.left}
237if(isNumber(data.top)){canvasData.top=data.top}
238if(isNumber(data.width)){canvasData.width=data.width;canvasData.height=data.width/aspectRatio}else if(isNumber(data.height)){canvasData.height=data.height;canvasData.width=data.height*aspectRatio}
239this.renderCanvas(!0)}
240return this},getCropBoxData:function getCropBoxData(){var cropBoxData=this.cropBoxData;var data;if(this.ready&&this.cropped){data={left:cropBoxData.left,top:cropBoxData.top,width:cropBoxData.width,height:cropBoxData.height}}
241return data||{}},setCropBoxData:function setCropBoxData(data){var cropBoxData=this.cropBoxData;var aspectRatio=this.options.aspectRatio;var widthChanged;var heightChanged;if(this.ready&&this.cropped&&!this.disabled&&isPlainObject(data)){if(isNumber(data.left)){cropBoxData.left=data.left}
242if(isNumber(data.top)){cropBoxData.top=data.top}
243if(isNumber(data.width)&&data.width!==cropBoxData.width){widthChanged=!0;cropBoxData.width=data.width}
244if(isNumber(data.height)&&data.height!==cropBoxData.height){heightChanged=!0;cropBoxData.height=data.height}
245if(aspectRatio){if(widthChanged){cropBoxData.height=cropBoxData.width/aspectRatio}else if(heightChanged){cropBoxData.width=cropBoxData.height*aspectRatio}}
246this.renderCropBox()}
247return this},getCroppedCanvas:function getCroppedCanvas(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement){return null}
248var canvasData=this.canvasData;var source=getSourceCanvas(this.image,this.imageData,canvasData,options);if(!this.cropped){return source}
249var _this$getData=this.getData(options.rounded),initialX=_this$getData.x,initialY=_this$getData.y,initialWidth=_this$getData.width,initialHeight=_this$getData.height;
vendor: 1,252 bytes, lines 249-250
249var ratio=source.width/Math.floor(canvasData.naturalWidth);if(ratio!==1){initialX*=ratio;initialY*=ratio;initialWidth*=ratio;initialHeight*=ratio}
250var aspectRatio=initialWidth/initialHeight;var maxSizes=getAdjustedSizes({aspectRatio:aspectRatio,width:options.maxWidth||Infinity,height:options.maxHeight||Infinity});var minSizes=getAdjustedSizes({aspectRatio:aspectRatio,width:options.minWidth||0,height:options.minHeight||0},'cover');var _getAdjustedSizes=getAdjustedSizes({aspectRatio:aspectRatio,width:options.width||(ratio!==1?source.width:initialWidth),height:options.height||(ratio!==1?source.height:initialHeight)}),width=_getAdjustedSizes.width,height=_getAdjustedSizes.height;width=Math.min(maxSizes.width,Math.max(minSizes.width,width));height=Math.min(maxSizes.height,Math.max(minSizes.height,height));var canvas=document.createElement('canvas');var context=canvas.getContext('2d');canvas.width=normalizeDecimalNumber(width);canvas.height=normalizeDecimalNumber(height);context.fillStyle=options.fillColor||'transparent';context.fillRect(0,0,width,height);var _options$imageSmoothi=options.imageSmoothingEnabled,imageSmoothingEnabled=_options$imageSmoothi===void 0?!0:_options$imageSmoothi,imageSmoothingQuality=options.imageSmoothingQuality;
250context.imageSmoothingEnabled=imageSmoothingEnabled;if(imageSmoothingQuality){context.imageSmoothingQuality=imageSmoothingQuality}
251var sourceWidth=source.width;var sourceHeight=source.height;var srcX=initialX;var srcY=initialY;var srcWidth;var srcHeight;var dstX;var dstY;var dstWidth;var dstHeight;if(srcX<=-initialWidth||srcX>sourceWidth){srcX=0;srcWidth=0;dstX=0;dstWidth=0}else if(srcX<=0){dstX=-srcX;srcX=0;srcWidth=Math.min(sourceWidth,initialWidth+srcX);dstWidth=srcWidth}else if(srcX<=sourceWidth){dstX=0;srcWidth=Math.min(initialWidth,sourceWidth-srcX);dstWidth=srcWidth}
252if(srcWidth<=0||srcY<=-initialHeight||srcY>sourceHeight){srcY=0;srcHeight=0;dstY=0;dstHeight=0}else if(srcY<=0){dstY=-srcY;srcY=0;srcHeight=Math.min(sourceHeight,initialHeight+srcY);dstHeight=srcHeight}else if(srcY<=sourceHeight){dstY=0;srcHeight=Math.min(initialHeight,sourceHeight-srcY);dstHeight=srcHeight}
253var params=[srcX,srcY,srcWidth,srcHeight];if(dstWidth>0&&dstHeight>0){var scale=width/initialWidth;params.push(dstX*scale,dstY*scale,dstWidth*scale,dstHeight*scale)}
254context.drawImage.apply(context,[source].concat(_toConsumableArray(params.map(function(param){return Math.floor(normalizeDecimalNumber(param))}))));return canvas},setAspectRatio:function setAspectRatio(aspectRatio){var options=this.options;if(!this.disabled&&!isUndefined(aspectRatio)){options.aspectRatio=Math.max(0,aspectRatio)||NaN;if(this.ready){this.initCropBox();if(this.cropped){this.renderCropBox()}}}
255return this},setDragMode:function setDragMode(mode){var options=this.options,dragBox=this.dragBox,face=this.face;if(this.ready&&!this.disabled){var croppable=mode===DRAG_MODE_CROP;var movable=options.movable&&mode===DRAG_MODE_MOVE;mode=croppable||movable?mode:DRAG_MODE_NONE;options.dragMode=mode;setData(dragBox,DATA_ACTION,mode);toggleClass(dragBox,CLASS_CROP,croppable);toggleClass(dragBox,CLASS_MOVE,movable);if(!options.cropBoxMovable){setData(face,DATA_ACTION,mode);toggleClass(face,CLASS_CROP,croppable);toggleClass(face,CLASS_MOVE,movable)}}
256return this}};var AnotherCropper=WINDOW.Cropper;var Cropper=function(){function Cropper(element){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Cropper);if(!element||!REGEXP_TAG_NAME.test(element.tagName)){throw new Error('The first argument is required and must be an <img> or <canvas> element.')}
257this.element=element;this.options=assign({},DEFAULTS,isPlainObject(options)&&options);this.cropped=!1;this.disabled=!1;this.pointers={};this.ready=!1;this.reloading=!1;this.replaced=!1;this.sized=!1;this.sizing=!1;this.init()}
258return _createClass(Cropper,[{key:"init",value:function init(){var element=this.element;var tagName=element.tagName.toLowerCase();var url;if(element[NAMESPACE]){return}
259element[NAMESPACE]=this;if(tagName==='img'){this.isImg=!0;url=element.getAttribute('src')||'';this.originalUrl=url;if(!url){return}
260url=element.src}else if(tagName==='canvas'&&window.HTMLCanvasElement){url=element.toDataURL()}
261this.load(url)}},{key:"load",value:function load(url){var _this=this;if(!url){return}
262this.url=url;this.imageData={};var element=this.element,options=this.options;if(!options.rotatable&&!options.scalable){options.checkOrientation=!1}
263if(!options.checkOrientation||!window.ArrayBuffer){this.clone();return}
264if(REGEXP_DATA_URL.test(url)){if(REGEXP_DATA_URL_JPEG.test(url)){this.read(dataURLToArrayBuffer(url))}else{this.clone()}
265return}
266var xhr=new XMLHttpRequest();var clone=this.clone.bind(this);this.reloading=!0;this.xhr=xhr;xhr.onabort=clone;xhr.onerror=clone;xhr.ontimeout=clone;xhr.onprogress=function(){if(xhr.getResponseHeader('content-type')!==MIME_TYPE_JPEG){xhr.abort()}};xhr.onload=function(){_this.read(xhr.response)};xhr.onloadend=function(){_this.reloading=!1;_this.xhr=null};if(options.checkCrossOrigin&&isCrossOriginURL(url)&&element.crossOrigin){url=addTimestamp(url)}
267xhr.open('GET',url,!0);xhr.responseType='arraybuffer';xhr.withCredentials=element.crossOrigin==='use-credentials';xhr.send()}},{key:"read",value:function read(arrayBuffer){var options=this.options,imageData=this.imageData;var orientation=resetAndGetOrientation(arrayBuffer);var rotate=0;var scaleX=1;var scaleY=1;if(orientation>1){this.url=arrayBufferToDataURL(arrayBuffer,MIME_TYPE_JPEG);var _parseOrientation=parseOrientation(orientation);rotate=_parseOrientation.rotate;scaleX=_parseOrientation.scaleX;scaleY=_parseOrientation.scaleY}
268if(options.rotatable){imageData.rotate=rotate}
269if(options.scalable){imageData.scaleX=scaleX;imageData.scaleY=scaleY}
270this.clone()}},{key:"clone",value:function clone(){var element=this.element,url=this.url;var crossOrigin=element.crossOrigin;var crossOriginUrl=url;if(this.options.checkCrossOrigin&&isCrossOriginURL(url)){if(!crossOrigin){crossOrigin='anonymous'}
271crossOriginUrl=addTimestamp(url)}
272this.crossOrigin=crossOrigin;this.crossOriginUrl=crossOriginUrl;var image=document.createElement('img');if(crossOrigin){image.crossOrigin=crossOrigin}
273image.src=crossOriginUrl||url;image.alt=element.alt||'The image to crop';this.image=image;image.onload=this.start.bind(this);image.onerror=this.stop.bind(this);addClass(image,CLASS_HIDE);element.parentNode.insertBefore(image,element.nextSibling)}},{key:"start",value:function start(){var _this2=this;var image=this.image;image.onload=null;image.onerror=null;this.sizing=!0;var isIOSWebKit=WINDOW.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent);
273var done=function done(naturalWidth,naturalHeight){assign(_this2.imageData,{naturalWidth:naturalWidth,naturalHeight:naturalHeight,aspectRatio:naturalWidth/naturalHeight});_this2.initialImageData=assign({},_this2.imageData);_this2.sizing=!1;_this2.sized=!0;_this2.build()};if(image.naturalWidth&&!isIOSWebKit){done(image.naturalWidth,image.naturalHeight);return}
274var sizingImage=document.createElement('img');var body=document.body||document.documentElement;this.sizingImage=sizingImage;sizingImage.onload=function(){done(sizingImage.width,sizingImage.height);if(!isIOSWebKit){body.removeChild(sizingImage)}};sizingImage.src=image.src;if(!isIOSWebKit){sizingImage.style.cssText='left:0;'+'max-height:none!important;'+'max-width:none!important;'+'min-height:0!important;'+'min-width:0!important;'+'opacity:0;'+'position:absolute;'+'top:0;'+'z-index:-1;';body.appendChild(sizingImage)}}},{key:"stop",value:function stop(){var image=this.image;image.onload=null;image.onerror=null;image.parentNode.removeChild(image);this.image=null}},{key:"build",value:function build(){if(!this.sized||this.ready){return}
275var element=this.element,options=this.options,image=this.image;var container=element.parentNode;var template=document.createElement('div');template.innerHTML=TEMPLATE;var cropper=template.querySelector(".".concat(NAMESPACE,"-container"));var canvas=cropper.querySelector(".".concat(NAMESPACE,"-canvas"));var dragBox=cropper.querySelector(".".concat(NAMESPACE,"-drag-box"));var cropBox=cropper.querySelector(".".concat(NAMESPACE,"-crop-box"));var face=cropBox.querySelector(".".concat(NAMESPACE,"-face"));this.container=container;this.cropper=cropper;this.canvas=canvas;this.dragBox=dragBox;this.cropBox=cropBox;this.viewBox=cropper.querySelector(".".concat(NAMESPACE,"-view-box"));this.face=face;canvas.appendChild(image);addClass(element,CLASS_HIDDEN);container.insertBefore(cropper,element.nextSibling);removeClass(image,CLASS_HIDE);this.initPreview();this.bind();options.initialAspectRatio=Math.max(0,options.initialAspectRatio)||NaN;options.aspectRatio=Math.max(0,options.aspectRatio)||NaN;options.viewMode=Math.max(0,Math.min(3,Math.round(options.viewMode)))||0;addClass(cropBox,CLASS_HIDDEN);if(!options.guides){addClass(cropBox.getElementsByClassName("".concat(NAMESPACE,"-dashed")),CLASS_HIDDEN)}
276if(!options.center){addClass(cropBox.getElementsByClassName("".concat(NAMESPACE,"-center")),CLASS_HIDDEN)}
277if(options.background){addClass(cropper,"".concat(NAMESPACE,"-bg"))}
278if(!options.highlight){addClass(face,CLASS_INVISIBLE)}
279if(options.cropBoxMovable){addClass(face,CLASS_MOVE);setData(face,DATA_ACTION,ACTION_ALL)}
280if(!options.cropBoxResizable){addClass(cropBox.getElementsByClassName("".concat(NAMESPACE,"-line")),CLASS_HIDDEN);addClass(cropBox.getElementsByClassName("".concat(NAMESPACE,"-point")),CLASS_HIDDEN)}
281this.render();this.ready=!0;this.setDragMode(options.dragMode);if(options.autoCrop){this.crop()}
282this.setData(options.data);if(isFunction(options.ready)){addListener(element,EVENT_READY,options.ready,{once:!0})}
283dispatchEvent(element,EVENT_READY)}},{key:"unbuild",value:function unbuild(){if(!this.ready){return}
284this.ready=!1;this.unbind();this.resetPreview();var parentNode=this.cropper.parentNode;if(parentNode){parentNode.removeChild(this.cropper)}
285removeClass(this.element,CLASS_HIDDEN)}},{key:"uncreate",value:function uncreate(){if(this.ready){this.unbuild();this.ready=!1;this.cropped=!1}else if(this.sizing){this.sizingImage.onload=null;this.sizing=!1;this.sized=!1}else if(this.reloading){this.xhr.onabort=null;this.xhr.abort()}else if(this.image){this.stop()}}}],[{key:"noConflict",value:function noConflict(){window.Cropper=AnotherCropper;return Cropper}},{key:"setDefaults",value:function setDefaults(options){assign(DEFAULTS,isPlainObject(options)&&options)}}])}();assign(Cropper.prototype,render,preview,events,handlers,change,methods);export{Cropper as default}

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.