Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 

3 рядки
40 KiB

  1. /** PTNovelSearch-v4.1.2 LPPL License By http://www.ptcms.com/ */
  2. ;function _typeof(t){return(_typeof="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 _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),t}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_nonIterableSpread()}function _arrayWithoutHoles(t){if(Array.isArray(t)){for(var e=0,i=new Array(t.length);e<t.length;e++)i[e]=t[e];return i}}function _iterableToArray(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function isNumber(t){return"number"==typeof t&&!isNaN(t)}function isUndefined(t){return"undefined"==typeof t}function isObject(t){return"object"===_typeof(t)&&null!==t}function isPlainObject(t){if(!isObject(t))return!1;try{var e=t.constructor,i=e.prototype;return e&&i&&hasOwnProperty.call(i,"isPrototypeOf")}catch(a){return!1}}function isFunction(t){return"function"==typeof t}function forEach(t,e){if(t&&isFunction(e))if(Array.isArray(t)||isNumber(t.length)){var i,a=t.length;for(i=0;i<a&&e.call(t,t[i],i,t)!==!1;i+=1);}else isObject(t)&&Object.keys(t).forEach(function(i){e.call(t,t[i],i,t)});return t}function normalizeDecimalNumber(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return REGEXP_DECIMALS.test(t)?Math.round(t*e)/e:t}function setStyle(t,e){var i=t.style;forEach(e,function(t,e){REGEXP_SUFFIX.test(e)&&isNumber(t)&&(t+="px"),i[e]=t})}function hasClass(t,e){return t.classList?t.classList.contains(e):t.className.indexOf(e)>-1}function addClass(t,e){if(e){if(isNumber(t.length))return void forEach(t,function(t){addClass(t,e)});if(t.classList)return void t.classList.add(e);var i=t.className.trim();i?i.indexOf(e)<0&&(t.className="".concat(i," ").concat(e)):t.className=e}}function removeClass(t,e){if(e)return isNumber(t.length)?void forEach(t,function(t){removeClass(t,e)}):t.classList?void t.classList.remove(e):void(t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function toggleClass(t,e,i){if(e)return isNumber(t.length)?void forEach(t,function(t){toggleClass(t,e,i)}):void(i?addClass(t,e):removeClass(t,e))}function hyphenate(t){return t.replace(REGEXP_HYPHENATE,"$1-$2").toLowerCase()}function getData(t,e){return isObject(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(hyphenate(e)))}function setData(t,e,i){isObject(i)?t[e]=i:t.dataset?t.dataset[e]=i:t.setAttribute("data-".concat(hyphenate(e)),i)}function removeData(t,e){if(isObject(t[e]))try{delete t[e]}catch(i){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(i){t.dataset[e]=void 0}else t.removeAttribute("data-".concat(hyphenate(e)))}function removeListener(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=i;e.trim().split(REGEXP_SPACES).forEach(function(e){if(!onceSupported){var s=t.listeners;s&&s[e]&&s[e][i]&&(n=s[e][i],delete s[e][i],0===Object.keys(s[e]).length&&delete s[e],0===Object.keys(s).length&&delete t.listeners)}t.removeEventListener(e,n,a)})}function addListener(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=i;e.trim().split(REGEXP_SPACES).forEach(function(e){if(a.once&&!onceSupported){var s=t.listeners,r=void 0===s?{}:s;n=function(){delete r[e][i],t.removeEventListener(e,n,a);for(var s=arguments.length,o=new Array(s),h=0;h<s;h++)o[h]=arguments[h];i.apply(t,o)},r[e]||(r[e]={}),r[e][i]&&t.removeEventListener(e,r[e][i],a),r[e][i]=n,t.listeners=r}t.addEventListener(e,n,a)})}function dispatchEvent(t,e,i){var a;return isFunction(Event)&&isFunction(CustomEvent)?a=new CustomEvent(e,{detail:i,bubbles:!0,cancelable:!0}):(a=document.createEvent("CustomEvent"),a.initCustomEvent(e,!0,!0,i)),t.dispatchEvent(a)}function getOffset(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}function isCrossOriginURL(t){var e=t.match(REGEXP_ORIGINS);return e&&(e[1]!==location.protocol||e[2]!==location.hostname||e[3]!==location.port)}function addTimestamp(t){var e="timestamp=".concat((new Date).getTime());return t+(t.indexOf("?")===-1?"?":"&")+e}function getTransforms(t){var e=t.rotate,i=t.scaleX,a=t.scaleY,n=t.translateX,s=t.translateY,r=[];isNumber(n)&&0!==n&&r.push("translateX(".concat(n,"px)")),isNumber(s)&&0!==s&&r.push("translateY(".concat(s,"px)")),isNumber(e)&&0!==e&&r.push("rotate(".concat(e,"deg)")),isNumber(i)&&1!==i&&r.push("scaleX(".concat(i,")")),isNumber(a)&&1!==a&&r.push("scaleY(".concat(a,")"));var o=r.length?r.join(" "):"none";return{WebkitTransform:o,msTransform:o,transform:o}}function getMaxZoomRatio(t){var e=assign({},t),i=[];return forEach(t,function(t,a){delete e[a],forEach(e,function(e){var a=Math.abs(t.startX-e.startX),n=Math.abs(t.startY-e.startY),s=Math.abs(t.endX-e.endX),r=Math.abs(t.endY-e.endY),o=Math.sqrt(a*a+n*n),h=Math.sqrt(s*s+r*r),c=(h-o)/o;i.push(c)})}),i.sort(function(t,e){return Math.abs(t)<Math.abs(e)}),i[0]}function getPointer(t,e){var i=t.pageX,a=t.pageY,n={endX:i,endY:a};return e?n:assign({startX:i,startY:a},n)}function getPointersCenter(t){var e=0,i=0,a=0;return forEach(t,function(t){var n=t.startX,s=t.startY;e+=n,i+=s,a+=1}),e/=a,i/=a,{pageX:e,pageY:i}}function getAdjustedSizes(t){var e=t.aspectRatio,i=t.height,a=t.width,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",s=function(t){return isFinite(t)&&t>0};if(s(a)&&s(i)){var r=i*e;"contain"===n&&r>a||"cover"===n&&r<a?i=a/e:a=i*e}else s(a)?i=a/e:s(i)&&(a=i*e);return{width:a,height:i}}function getRotatedSizes(t){var e=t.width,i=t.height,a=t.degree;if(a=Math.abs(a)%180,90===a)return{width:i,height:e};var n=a%90*Math.PI/180,s=Math.sin(n),r=Math.cos(n),o=e*r+i*s,h=e*s+i*r;return a>90?{width:h,height:o}:{width:o,height:h}}function getSourceCanvas(t,e,i,a){var n=e.aspectRatio,s=e.naturalWidth,r=e.naturalHeight,o=e.rotate,h=void 0===o?0:o,c=e.scaleX,d=void 0===c?1:c,l=e.scaleY,p=void 0===l?1:l,m=i.aspectRatio,u=i.naturalWidth,g=i.naturalHeight,f=a.fillColor,E=void 0===f?"transparent":f,v=a.imageSmoothingEnabled,C=void 0===v||v,N=a.imageSmoothingQuality,T=void 0===N?"low":N,A=a.maxWidth,O=void 0===A?1/0:A,_=a.maxHeight,b=void 0===_?1/0:_,w=a.minWidth,S=void 0===w?0:w,D=a.minHeight,y=void 0===D?0:D,x=document.createElement("canvas"),M=x.getContext("2d"),I=getAdjustedSizes({aspectRatio:m,width:O,height:b}),R=getAdjustedSizes({aspectRatio:m,width:S,height:y},"cover"),L=Math.min(I.width,Math.max(R.width,u)),P=Math.min(I.height,Math.max(R.height,g)),H=getAdjustedSizes({aspectRatio:n,width:O,height:b}),W=getAdjustedSizes({aspectRatio:n,width:S,height:y},"cover"),B=Math.min(H.width,Math.max(W.width,s)),k=Math.min(H.height,Math.max(W.height,r)),V=[-B/2,-k/2,B,k];return x.width=normalizeDecimalNumber(L),x.height=normalizeDecimalNumber(P),M.fillStyle=E,M.fillRect(0,0,L,P),M.save(),M.translate(L/2,P/2),M.rotate(h*Math.PI/180),M.scale(d,p),M.imageSmoothingEnabled=C,M.imageSmoothingQuality=T,M.drawImage.apply(M,[t].concat(_toConsumableArray(V.map(function(t){return Math.floor(normalizeDecimalNumber(t))})))),M.restore(),x}function getStringFromCharCode(t,e,i){var a,n="";for(i+=e,a=e;a<i;a+=1)n+=fromCharCode(t.getUint8(a));return n}function dataURLToArrayBuffer(t){var e=t.replace(REGEXP_DATA_URL_HEAD,""),i=atob(e),a=new ArrayBuffer(i.length),n=new Uint8Array(a);return forEach(n,function(t,e){n[e]=i.charCodeAt(e)}),a}function arrayBufferToDataURL(t,e){for(var i=[],a=8192,n=new Uint8Array(t);n.length>0;)i.push(fromCharCode.apply(void 0,_toConsumableArray(n.subarray(0,a)))),n=n.subarray(a);return"data:".concat(e,";base64,").concat(btoa(i.join("")))}function resetAndGetOrientation(t){var e,i=new DataView(t);try{var a,n,s;if(255===i.getUint8(0)&&216===i.getUint8(1))for(var r=i.byteLength,o=2;o+1<r;){if(255===i.getUint8(o)&&225===i.getUint8(o+1)){n=o;break}o+=1}if(n){var h=n+4,c=n+10;if("Exif"===getStringFromCharCode(i,h,4)){var d=i.getUint16(c);if(a=18761===d,(a||19789===d)&&42===i.getUint16(c+2,a)){var l=i.getUint32(c+4,a);l>=8&&(s=c+l)}}}if(s){var p,m,u=i.getUint16(s,a);for(m=0;m<u;m+=1)if(p=s+12*m+2,274===i.getUint16(p,a)){p+=8,e=i.getUint16(p,a),i.setUint16(p,1,a);break}}}catch(g){e=1}return e}function parseOrientation(t){var e=0,i=1,a=1;switch(t){case 2:i=-1;break;case 3:e=-180;break;case 4:a=-1;break;case 5:e=90,a=-1;break;case 6:e=90;break;case 7:e=90,i=-1;break;case 8:e=-90}return{rotate:e,scaleX:i,scaleY:a}}var IN_BROWSER="undefined"!=typeof window,WINDOW=IN_BROWSER?window:{},NAMESPACE="cropper",ACTION_ALL="all",ACTION_CROP="crop",ACTION_MOVE="move",ACTION_ZOOM="zoom",ACTION_EAST="e",ACTION_WEST="w",ACTION_SOUTH="s",ACTION_NORTH="n",ACTION_NORTH_EAST="ne",ACTION_NORTH_WEST="nw",ACTION_SOUTH_EAST="se",ACTION_SOUTH_WEST="sw",CLASS_CROP="".concat(NAMESPACE,"-crop"),CLASS_DISABLED="".concat(NAMESPACE,"-disabled"),CLASS_HIDDEN="".concat(NAMESPACE,"-hidden"),CLASS_HIDE="".concat(NAMESPACE,"-hide"),CLASS_INVISIBLE="".concat(NAMESPACE,"-invisible"),CLASS_MODAL="".concat(NAMESPACE,"-modal"),CLASS_MOVE="".concat(NAMESPACE,"-move"),DATA_ACTION="".concat(NAMESPACE,"Action"),DATA_PREVIEW="".concat(NAMESPACE,"Preview"),DRAG_MODE_CROP="crop",DRAG_MODE_MOVE="move",DRAG_MODE_NONE="none",EVENT_CROP="crop",EVENT_CROP_END="cropend",EVENT_CROP_MOVE="cropmove",EVENT_CROP_START="cropstart",EVENT_DBLCLICK="dblclick",EVENT_POINTER_DOWN=WINDOW.PointerEvent?"pointerdown":"touchstart mousedown",EVENT_POINTER_MOVE=WINDOW.PointerEvent?"pointermove":"touchmove mousemove",EVENT_POINTER_UP=WINDOW.PointerEvent?"pointerup pointercancel":"touchend touchcancel mouseup",EVENT_READY="ready",EVENT_RESIZE="resize",EVENT_WHEEL="wheel mousewheel DOMMouseScroll",EVENT_ZOOM="zoom",MIME_TYPE_JPEG="image/jpeg",REGEXP_ACTIONS=/^(?:e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/,REGEXP_DATA_URL=/^data:/,REGEXP_DATA_URL_JPEG=/^data:image\/jpeg;base64,/,REGEXP_TAG_NAME=/^(?:img|canvas)$/i,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:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},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>',isNaN=Number.isNaN||WINDOW.isNaN,hasOwnProperty=Object.prototype.hasOwnProperty,assign=Object.assign||function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),a=1;a<e;a++)i[a-1]=arguments[a];return isObject(t)&&i.length>0&&i.forEach(function(e){isObject(e)&&Object.keys(e).forEach(function(i){t[i]=e[i]})}),t},REGEXP_DECIMALS=/\.\d*(?:0|9){12}\d*$/,REGEXP_SUFFIX=/^(?:width|height|left|top|marginLeft|marginTop)$/,REGEXP_HYPHENATE=/([a-z\d])([A-Z])/g,REGEXP_SPACES=/\s\s*/,onceSupported=function(){var t=!1;if(IN_BROWSER){var e=!1,i=function(){},a=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});WINDOW.addEventListener("test",i,a),WINDOW.removeEventListener("test",i,a)}return t}(),location=WINDOW.location,REGEXP_ORIGINS=/^(https?:)\/\/([^:\/?#]+):?(\d*)/i,isFinite=Number.isFinite||WINDOW.isFinite,fromCharCode=String.fromCharCode,REGEXP_DATA_URL_HEAD=/^data:.*,/,render={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,e=this.options,i=this.container,a=this.cropper;addClass(a,CLASS_HIDDEN),removeClass(t,CLASS_HIDDEN);var n={width:Math.max(i.offsetWidth,Number(e.minContainerWidth)||200),height:Math.max(i.offsetHeight,Number(e.minContainerHeight)||100)};this.containerData=n,setStyle(a,{width:n.width,height:n.height}),addClass(t,CLASS_HIDDEN),removeClass(a,CLASS_HIDDEN)},initCanvas:function(){var t=this.containerData,e=this.imageData,i=this.options.viewMode,a=Math.abs(e.rotate)%180===90,n=a?e.naturalHeight:e.naturalWidth,s=a?e.naturalWidth:e.naturalHeight,r=n/s,o=t.width,h=t.height;t.height*r>t.width?3===i?o=t.height*r:h=t.width/r:3===i?h=t.width/r:o=t.height*r;var c={aspectRatio:r,naturalWidth:n,naturalHeight:s,width:o,height:h};c.left=(t.width-o)/2,c.top=(t.height-h)/2,c.oldLeft=c.left,c.oldTop=c.top,this.canvasData=c,this.limited=1===i||2===i,this.limitCanvas(!0,!0),this.initialImageData=assign({},e),this.initialCanvasData=assign({},c)},limitCanvas:function(t,e){var i=this.options,a=this.containerData,n=this.canvasData,s=this.cropBoxData,r=i.viewMode,o=n.aspectRatio,h=this.cropped&&s;if(t){var c=Number(i.minCanvasWidth)||0,d=Number(i.minCanvasHeight)||0;r>1?(c=Math.max(c,a.width),d=Math.max(d,a.height),3===r&&(d*o>c?c=d*o:d=c/o)):r>0&&(c?c=Math.max(c,h?s.width:0):d?d=Math.max(d,h?s.height:0):h&&(c=s.width,d=s.height,d*o>c?c=d*o:d=c/o));var l=getAdjustedSizes({aspectRatio:o,width:c,height:d});c=l.width,d=l.height,n.minWidth=c,n.minHeight=d,n.maxWidth=1/0,n.maxHeight=1/0}if(e)if(r>(h?0:1)){var p=a.width-n.width,m=a.height-n.height;n.minLeft=Math.min(0,p),n.minTop=Math.min(0,m),n.maxLeft=Math.max(0,p),n.maxTop=Math.max(0,m),h&&this.limited&&(n.minLeft=Math.min(s.left,s.left+(s.width-n.width)),n.minTop=Math.min(s.top,s.top+(s.height-n.height)),n.maxLeft=s.left,n.maxTop=s.top,2===r&&(n.width>=a.width&&(n.minLeft=Math.min(0,p),n.maxLeft=Math.max(0,p)),n.height>=a.height&&(n.minTop=Math.min(0,m),n.maxTop=Math.max(0,m))))}else n.minLeft=-n.width,n.minTop=-n.height,n.maxLeft=a.width,n.maxTop=a.height},renderCanvas:function(t,e){var i=this.canvasData,a=this.imageData;if(e){var n=getRotatedSizes({width:a.naturalWidth*Math.abs(a.scaleX||1),height:a.naturalHeight*Math.abs(a.scaleY||1),degree:a.rotate||0}),s=n.width,r=n.height,o=i.width*(s/i.naturalWidth),h=i.height*(r/i.naturalHeight);i.left-=(o-i.width)/2,i.top-=(h-i.height)/2,i.width=o,i.height=h,i.aspectRatio=s/r,i.naturalWidth=s,i.naturalHeight=r,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCanvas(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,setStyle(this.canvas,assign({width:i.width,height:i.height},getTransforms({translateX:i.left,translateY:i.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var e=this.canvasData,i=this.imageData,a=i.naturalWidth*(e.width/e.naturalWidth),n=i.naturalHeight*(e.height/e.naturalHeight);assign(i,{width:a,height:n,left:(e.width-a)/2,top:(e.height-n)/2}),setStyle(this.image,assign({width:i.width,height:i.height},getTransforms(assign({translateX:i.left,translateY:i.top},i)))),t&&this.output()},initCropBox:function(){var t=this.options,e=this.canvasData,i=t.aspectRatio||t.initialAspectRatio,a=Number(t.autoCropArea)||.8,n={width:e.width,height:e.height};i&&(e.height*i>e.width?n.height=n.width/i:n.width=n.height*i),this.cropBoxData=n,this.limitCropBox(!0,!0),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),n.width=Math.max(n.minWidth,n.width*a),n.height=Math.max(n.minHeight,n.height*a),n.left=e.left+(e.width-n.width)/2,n.top=e.top+(e.height-n.height)/2,n.oldLeft=n.left,n.oldTop=n.top,this.initialCropBoxData=assign({},n)},limitCropBox:function(t,e){var i=this.options,a=this.containerData,n=this.canvasData,s=this.cropBoxData,r=this.limited,o=i.aspectRatio;if(t){var h=Number(i.minCropBoxWidth)||0,c=Number(i.minCropBoxHeight)||0,d=r?Math.min(a.width,n.width,n.width+n.left,a.width-n.left):a.width,l=r?Math.min(a.height,n.height,n.height+n.top,a.height-n.top):a.height;h=Math.min(h,a.width),c=Math.min(c,a.height),o&&(h&&c?c*o>h?c=h/o:h=c*o:h?c=h/o:c&&(h=c*o),l*o>d?l=d/o:d=l*o),s.minWidth=Math.min(h,d),s.minHeight=Math.min(c,l),s.maxWidth=d,s.maxHeight=l}e&&(r?(s.minLeft=Math.max(0,n.left),s.minTop=Math.max(0,n.top),s.maxLeft=Math.min(a.width,n.left+n.width)-s.width,s.maxTop=Math.min(a.height,n.top+n.height)-s.height):(s.minLeft=0,s.minTop=0,s.maxLeft=a.width-s.width,s.maxTop=a.height-s.height))},renderCropBox:function(){var t=this.options,e=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCropBox(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,t.movable&&t.cropBoxMovable&&setData(this.face,DATA_ACTION,i.width>=e.width&&i.height>=e.height?ACTION_MOVE:ACTION_ALL),setStyle(this.cropBox,assign({width:i.width,height:i.height},getTransforms({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),dispatchEvent(this.element,EVENT_CROP,this.getData())}},preview={initPreview:function(){var t=this.crossOrigin,e=this.options.preview,i=t?this.crossOriginUrl:this.url,a=document.createElement("img");if(t&&(a.crossOrigin=t),a.src=i,this.viewBox.appendChild(a),this.viewBoxImage=a,e){var n=e;"string"==typeof e?n=this.element.ownerDocument.querySelectorAll(e):e.querySelector&&(n=[e]),this.previews=n,forEach(n,function(e){var a=document.createElement("img");setData(e,DATA_PREVIEW,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(a.crossOrigin=t),a.src=i,a.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;"',e.innerHTML="",e.appendChild(a)})}},resetPreview:function(){forEach(this.previews,function(t){var e=getData(t,DATA_PREVIEW);setStyle(t,{width:e.width,height:e.height}),t.innerHTML=e.html,removeData(t,DATA_PREVIEW)})},preview:function(){var t=this.imageData,e=this.canvasData,i=this.cropBoxData,a=i.width,n=i.height,s=t.width,r=t.height,o=i.left-e.left-t.left,h=i.top-e.top-t.top;this.cropped&&!this.disabled&&(setStyle(this.viewBoxImage,assign({width:s,height:r},getTransforms(assign({translateX:-o,translateY:-h},t)))),forEach(this.previews,function(e){var i=getData(e,DATA_PREVIEW),c=i.width,d=i.height,l=c,p=d,m=1;a&&(m=c/a,p=n*m),n&&p>d&&(m=d/n,l=a*m,p=d),setStyle(e,{width:l,height:p}),setStyle(e.getElementsByTagName("img")[0],assign({width:s*m,height:r*m},getTransforms(assign({translateX:-o*m,translateY:-h*m},t))))}))}},events={bind:function(){var t=this.element,e=this.options,i=this.cropper;isFunction(e.cropstart)&&addListener(t,EVENT_CROP_START,e.cropstart),isFunction(e.cropmove)&&addListener(t,EVENT_CROP_MOVE,e.cropmove),isFunction(e.cropend)&&addListener(t,EVENT_CROP_END,e.cropend),isFunction(e.crop)&&addListener(t,EVENT_CROP,e.crop),isFunction(e.zoom)&&addListener(t,EVENT_ZOOM,e.zoom),addListener(i,EVENT_POINTER_DOWN,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&addListener(i,EVENT_WHEEL,this.onWheel=this.wheel.bind(this)),e.toggleDragModeOnDblclick&&addListener(i,EVENT_DBLCLICK,this.onDblclick=this.dblclick.bind(this)),addListener(t.ownerDocument,EVENT_POINTER_MOVE,this.onCropMove=this.cropMove.bind(this)),addListener(t.ownerDocument,EVENT_POINTER_UP,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&addListener(window,EVENT_RESIZE,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,i=this.cropper;isFunction(e.cropstart)&&removeListener(t,EVENT_CROP_START,e.cropstart),isFunction(e.cropmove)&&removeListener(t,EVENT_CROP_MOVE,e.cropmove),isFunction(e.cropend)&&removeListener(t,EVENT_CROP_END,e.cropend),isFunction(e.crop)&&removeListener(t,EVENT_CROP,e.crop),isFunction(e.zoom)&&removeListener(t,EVENT_ZOOM,e.zoom),removeListener(i,EVENT_POINTER_DOWN,this.onCropStart),e.zoomable&&e.zoomOnWheel&&removeListener(i,EVENT_WHEEL,this.onWheel),e.toggleDragModeOnDblclick&&removeListener(i,EVENT_DBLCLICK,this.onDblclick),removeListener(t.ownerDocument,EVENT_POINTER_MOVE,this.onCropMove),removeListener(t.ownerDocument,EVENT_POINTER_UP,this.onCropEnd),e.responsive&&removeListener(window,EVENT_RESIZE,this.onResize)}},handlers={resize:function(){var t=this.options,e=this.container,i=this.containerData,a=Number(t.minContainerWidth)||200,n=Number(t.minContainerHeight)||100;if(!(this.disabled||i.width<=a||i.height<=n)){var s=e.offsetWidth/i.width;if(1!==s||e.offsetHeight!==i.height){var r,o;t.restore&&(r=this.getCanvasData(),o=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(forEach(r,function(t,e){r[e]=t*s})),this.setCropBoxData(forEach(o,function(t,e){o[e]=t*s})))}}},dblclick:function(){this.disabled||this.options.dragMode===DRAG_MODE_NONE||this.setDragMode(hasClass(this.dragBox,CLASS_CROP)?DRAG_MODE_MOVE:DRAG_MODE_CROP)},wheel:function(t){var e=this,i=Number(this.options.wheelZoomRatio)||.1,a=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout(function(){e.wheeling=!1},50),t.deltaY?a=t.deltaY>0?1:-1:t.wheelDelta?a=-t.wheelDelta/120:t.detail&&(a=t.detail>0?1:-1),this.zoom(-a*i,t)))},cropStart:function(t){if(!this.disabled){var e,i=this.options,a=this.pointers;t.changedTouches?forEach(t.changedTouches,function(t){a[t.identifier]=getPointer(t)}):a[t.pointerId||0]=getPointer(t),e=Object.keys(a).length>1&&i.zoomable&&i.zoomOnTouch?ACTION_ZOOM:getData(t.target,DATA_ACTION),REGEXP_ACTIONS.test(e)&&dispatchEvent(this.element,EVENT_CROP_START,{originalEvent:t,action:e})!==!1&&(t.preventDefault(),this.action=e,this.cropping=!1,e===ACTION_CROP&&(this.cropping=!0,addClass(this.dragBox,CLASS_MODAL)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var i=this.pointers;t.preventDefault(),dispatchEvent(this.element,EVENT_CROP_MOVE,{originalEvent:t,action:e})!==!1&&(t.changedTouches?forEach(t.changedTouches,function(t){assign(i[t.identifier]||{},getPointer(t,!0))}):assign(i[t.pointerId||0]||{},getPointer(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,i=this.pointers;t.changedTouches?forEach(t.changedTouches,function(t){delete i[t.identifier]}):delete i[t.pointerId||0],e&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,toggleClass(this.dragBox,CLASS_MODAL,this.cropped&&this.options.modal)),dispatchEvent(this.element,EVENT_CROP_END,{originalEvent:t,action:e}))}}},change={change:function(t){var e,i=this.options,a=this.canvasData,n=this.containerData,s=this.cropBoxData,r=this.pointers,o=this.action,h=i.aspectRatio,c=s.left,d=s.top,l=s.width,p=s.height,m=c+l,u=d+p,g=0,f=0,E=n.width,v=n.height,C=!0;!h&&t.shiftKey&&(h=l&&p?l/p:1),this.limited&&(g=s.minLeft,f=s.minTop,E=g+Math.min(n.width,a.width,a.left+a.width),v=f+Math.min(n.height,a.height,a.top+a.height));var N=r[Object.keys(r)[0]],T={x:N.endX-N.startX,y:N.endY-N.startY},A=function(t){switch(t){case ACTION_EAST:m+T.x>E&&(T.x=E-m);break;case ACTION_WEST:c+T.x<g&&(T.x=g-c);break;case ACTION_NORTH:d+T.y<f&&(T.y=f-d);break;case ACTION_SOUTH:u+T.y>v&&(T.y=v-u)}};switch(o){case ACTION_ALL:c+=T.x,d+=T.y;break;case ACTION_EAST:if(T.x>=0&&(m>=E||h&&(d<=f||u>=v))){C=!1;break}A(ACTION_EAST),l+=T.x,l<0&&(o=ACTION_WEST,l=-l,c-=l),h&&(p=l/h,d+=(s.height-p)/2);break;case ACTION_NORTH:if(T.y<=0&&(d<=f||h&&(c<=g||m>=E))){C=!1;break}A(ACTION_NORTH),p-=T.y,d+=T.y,p<0&&(o=ACTION_SOUTH,p=-p,d-=p),h&&(l=p*h,c+=(s.width-l)/2);break;case ACTION_WEST:if(T.x<=0&&(c<=g||h&&(d<=f||u>=v))){C=!1;break}A(ACTION_WEST),l-=T.x,c+=T.x,l<0&&(o=ACTION_EAST,l=-l,c-=l),h&&(p=l/h,d+=(s.height-p)/2);break;case ACTION_SOUTH:if(T.y>=0&&(u>=v||h&&(c<=g||m>=E))){C=!1;break}A(ACTION_SOUTH),p+=T.y,p<0&&(o=ACTION_NORTH,p=-p,d-=p),h&&(l=p*h,c+=(s.width-l)/2);break;case ACTION_NORTH_EAST:if(h){if(T.y<=0&&(d<=f||m>=E)){C=!1;break}A(ACTION_NORTH),p-=T.y,d+=T.y,l=p*h}else A(ACTION_NORTH),A(ACTION_EAST),T.x>=0?m<E?l+=T.x:T.y<=0&&d<=f&&(C=!1):l+=T.x,T.y<=0?d>f&&(p-=T.y,d+=T.y):(p-=T.y,d+=T.y);l<0&&p<0?(o=ACTION_SOUTH_WEST,p=-p,l=-l,d-=p,c-=l):l<0?(o=ACTION_NORTH_WEST,l=-l,c-=l):p<0&&(o=ACTION_SOUTH_EAST,p=-p,d-=p);break;case ACTION_NORTH_WEST:if(h){if(T.y<=0&&(d<=f||c<=g)){C=!1;break}A(ACTION_NORTH),p-=T.y,d+=T.y,l=p*h,c+=s.width-l}else A(ACTION_NORTH),A(ACTION_WEST),T.x<=0?c>g?(l-=T.x,c+=T.x):T.y<=0&&d<=f&&(C=!1):(l-=T.x,c+=T.x),T.y<=0?d>f&&(p-=T.y,d+=T.y):(p-=T.y,d+=T.y);l<0&&p<0?(o=ACTION_SOUTH_EAST,p=-p,l=-l,d-=p,c-=l):l<0?(o=ACTION_NORTH_EAST,l=-l,c-=l):p<0&&(o=ACTION_SOUTH_WEST,p=-p,d-=p);break;case ACTION_SOUTH_WEST:if(h){if(T.x<=0&&(c<=g||u>=v)){C=!1;break}A(ACTION_WEST),l-=T.x,c+=T.x,p=l/h}else A(ACTION_SOUTH),A(ACTION_WEST),T.x<=0?c>g?(l-=T.x,c+=T.x):T.y>=0&&u>=v&&(C=!1):(l-=T.x,c+=T.x),T.y>=0?u<v&&(p+=T.y):p+=T.y;l<0&&p<0?(o=ACTION_NORTH_EAST,p=-p,l=-l,d-=p,c-=l):l<0?(o=ACTION_SOUTH_EAST,l=-l,c-=l):p<0&&(o=ACTION_NORTH_WEST,p=-p,d-=p);break;case ACTION_SOUTH_EAST:if(h){if(T.x>=0&&(m>=E||u>=v)){C=!1;break}A(ACTION_EAST),l+=T.x,p=l/h}else A(ACTION_SOUTH),A(ACTION_EAST),T.x>=0?m<E?l+=T.x:T.y>=0&&u>=v&&(C=!1):l+=T.x,T.y>=0?u<v&&(p+=T.y):p+=T.y;l<0&&p<0?(o=ACTION_NORTH_WEST,p=-p,l=-l,d-=p,c-=l):l<0?(o=ACTION_SOUTH_WEST,l=-l,c-=l):p<0&&(o=ACTION_NORTH_EAST,p=-p,d-=p);break;case ACTION_MOVE:this.move(T.x,T.y),C=!1;break;case ACTION_ZOOM:this.zoom(getMaxZoomRatio(r),t),C=!1;break;case ACTION_CROP:if(!T.x||!T.y){C=!1;break}e=getOffset(this.cropper),c=N.startX-e.left,d=N.startY-e.top,l=s.minWidth,p=s.minHeight,T.x>0?o=T.y>0?ACTION_SOUTH_EAST:ACTION_NORTH_EAST:T.x<0&&(c-=l,o=T.y>0?ACTION_SOUTH_WEST:ACTION_NORTH_WEST),T.y<0&&(d-=p),this.cropped||(removeClass(this.cropBox,CLASS_HIDDEN),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}C&&(s.width=l,s.height=p,s.left=c,s.top=d,this.action=o,this.renderCropBox()),forEach(r,function(t){t.startX=t.endX,t.startY=t.endY})}},methods={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&addClass(this.dragBox,CLASS_MODAL),removeClass(this.cropBox,CLASS_HIDDEN),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=assign({},this.initialImageData),this.canvasData=assign({},this.initialCanvasData),this.cropBoxData=assign({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return 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)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,forEach(this.previews,function(e){e.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,removeClass(this.cropper,CLASS_DISABLED)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,addClass(this.cropper,CLASS_DISABLED)),this},destroy:function(){var t=this.element;return t[NAMESPACE]?(t[NAMESPACE]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.canvasData,a=i.left,n=i.top;return this.moveTo(isUndefined(t)?t:a+Number(t),isUndefined(e)?e:n+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.canvasData,a=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(isNumber(t)&&(i.left=t,a=!0),isNumber(e)&&(i.top=e,a=!0),a&&this.renderCanvas(!0)),this},zoom:function(t,e){var i=this.canvasData;return t=Number(t),t=t<0?1/(1-t):1+t,this.zoomTo(i.width*t/i.naturalWidth,null,e)},zoomTo:function(t,e,i){var a=this.options,n=this.canvasData,s=n.width,r=n.height,o=n.naturalWidth,h=n.naturalHeight;if(t=Number(t),t>=0&&this.ready&&!this.disabled&&a.zoomable){var c=o*t,d=h*t;if(dispatchEvent(this.element,EVENT_ZOOM,{ratio:t,oldRatio:s/o,originalEvent:i})===!1)return this;if(i){var l=this.pointers,p=getOffset(this.cropper),m=l&&Object.keys(l).length?getPointersCenter(l):{pageX:i.pageX,pageY:i.pageY};n.left-=(c-s)*((m.pageX-p.left-n.left)/s),n.top-=(d-r)*((m.pageY-p.top-n.top)/r)}else isPlainObject(e)&&isNumber(e.x)&&isNumber(e.y)?(n.left-=(c-s)*((e.x-n.left)/s),n.top-=(d-r)*((e.y-n.top)/r)):(n.left-=(c-s)/2,n.top-=(d-r)/2);n.width=c,n.height=d,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return t=Number(t),isNumber(t)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,isNumber(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(isNumber(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.imageData,a=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(isNumber(t)&&(i.scaleX=t,a=!0),isNumber(e)&&(i.scaleY=e,a=!0),a&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.options,a=this.imageData,n=this.canvasData,s=this.cropBoxData;if(this.ready&&this.cropped){t={x:s.left-n.left,y:s.top-n.top,width:s.width,height:s.height};var r=a.width/a.naturalWidth;if(forEach(t,function(e,i){t[i]=e/r}),e){var o=Math.round(t.y+t.height),h=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=h-t.x,t.height=o-t.y}}else t={x:0,y:0,width:0,height:0};return i.rotatable&&(t.rotate=a.rotate||0),i.scalable&&(t.scaleX=a.scaleX||1,t.scaleY=a.scaleY||1),t},setData:function(t){var e=this.options,i=this.imageData,a=this.canvasData,n={};if(this.ready&&!this.disabled&&isPlainObject(t)){
  3. var s=!1;e.rotatable&&isNumber(t.rotate)&&t.rotate!==i.rotate&&(i.rotate=t.rotate,s=!0),e.scalable&&(isNumber(t.scaleX)&&t.scaleX!==i.scaleX&&(i.scaleX=t.scaleX,s=!0),isNumber(t.scaleY)&&t.scaleY!==i.scaleY&&(i.scaleY=t.scaleY,s=!0)),s&&this.renderCanvas(!0,!0);var r=i.width/i.naturalWidth;isNumber(t.x)&&(n.left=t.x*r+a.left),isNumber(t.y)&&(n.top=t.y*r+a.top),isNumber(t.width)&&(n.width=t.width*r),isNumber(t.height)&&(n.height=t.height*r),this.setCropBoxData(n)}return this},getContainerData:function(){return this.ready?assign({},this.containerData):{}},getImageData:function(){return this.sized?assign({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&forEach(["left","top","width","height","naturalWidth","naturalHeight"],function(i){e[i]=t[i]}),e},setCanvasData:function(t){var e=this.canvasData,i=e.aspectRatio;return this.ready&&!this.disabled&&isPlainObject(t)&&(isNumber(t.left)&&(e.left=t.left),isNumber(t.top)&&(e.top=t.top),isNumber(t.width)?(e.width=t.width,e.height=t.width/i):isNumber(t.height)&&(e.height=t.height,e.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,i,a=this.cropBoxData,n=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&isPlainObject(t)&&(isNumber(t.left)&&(a.left=t.left),isNumber(t.top)&&(a.top=t.top),isNumber(t.width)&&t.width!==a.width&&(e=!0,a.width=t.width),isNumber(t.height)&&t.height!==a.height&&(i=!0,a.height=t.height),n&&(e?a.height=a.width/n:i&&(a.width=a.height*n)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,i=getSourceCanvas(this.image,this.imageData,e,t);if(!this.cropped)return i;var a=this.getData(),n=a.x,s=a.y,r=a.width,o=a.height,h=i.width/Math.floor(e.naturalWidth);1!==h&&(n*=h,s*=h,r*=h,o*=h);var c=r/o,d=getAdjustedSizes({aspectRatio:c,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),l=getAdjustedSizes({aspectRatio:c,width:t.minWidth||0,height:t.minHeight||0},"cover"),p=getAdjustedSizes({aspectRatio:c,width:t.width||(1!==h?i.width:r),height:t.height||(1!==h?i.height:o)}),m=p.width,u=p.height;m=Math.min(d.width,Math.max(l.width,m)),u=Math.min(d.height,Math.max(l.height,u));var g=document.createElement("canvas"),f=g.getContext("2d");g.width=normalizeDecimalNumber(m),g.height=normalizeDecimalNumber(u),f.fillStyle=t.fillColor||"transparent",f.fillRect(0,0,m,u);var E=t.imageSmoothingEnabled,v=void 0===E||E,C=t.imageSmoothingQuality;f.imageSmoothingEnabled=v,C&&(f.imageSmoothingQuality=C);var N,T,A,O,_,b,w=i.width,S=i.height,D=n,y=s;D<=-r||D>w?(D=0,N=0,A=0,_=0):D<=0?(A=-D,D=0,N=Math.min(w,r+D),_=N):D<=w&&(A=0,N=Math.min(r,w-D),_=N),N<=0||y<=-o||y>S?(y=0,T=0,O=0,b=0):y<=0?(O=-y,y=0,T=Math.min(S,o+y),b=T):y<=S&&(O=0,T=Math.min(o,S-y),b=T);var x=[D,y,N,T];if(_>0&&b>0){var M=m/r;x.push(A*M,O*M,_*M,b*M)}return f.drawImage.apply(f,[i].concat(_toConsumableArray(x.map(function(t){return Math.floor(normalizeDecimalNumber(t))})))),g},setAspectRatio:function(t){var e=this.options;return this.disabled||isUndefined(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,i=this.dragBox,a=this.face;if(this.ready&&!this.disabled){var n=t===DRAG_MODE_CROP,s=e.movable&&t===DRAG_MODE_MOVE;t=n||s?t:DRAG_MODE_NONE,e.dragMode=t,setData(i,DATA_ACTION,t),toggleClass(i,CLASS_CROP,n),toggleClass(i,CLASS_MOVE,s),e.cropBoxMovable||(setData(a,DATA_ACTION,t),toggleClass(a,CLASS_CROP,n),toggleClass(a,CLASS_MOVE,s))}return this}},AnotherCropper=WINDOW.Cropper,Cropper=function(){function t(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(_classCallCheck(this,t),!e||!REGEXP_TAG_NAME.test(e.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=e,this.options=assign({},DEFAULTS,isPlainObject(i)&&i),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()}return _createClass(t,[{key:"init",value:function(){var t,e=this.element,i=e.tagName.toLowerCase();if(!e[NAMESPACE]){if(e[NAMESPACE]=this,"img"===i){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===i&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e=this;if(t){this.url=t,this.imageData={};var i=this.element,a=this.options;if(a.rotatable||a.scalable||(a.checkOrientation=!1),!a.checkOrientation||!window.ArrayBuffer)return void this.clone();if(REGEXP_DATA_URL.test(t))return void(REGEXP_DATA_URL_JPEG.test(t)?this.read(dataURLToArrayBuffer(t)):this.clone());var n=new XMLHttpRequest,s=this.clone.bind(this);this.reloading=!0,this.xhr=n,n.ontimeout=s,n.onabort=s,n.onerror=s,n.onprogress=function(){n.getResponseHeader("content-type")!==MIME_TYPE_JPEG&&n.abort()},n.onload=function(){e.read(n.response)},n.onloadend=function(){e.reloading=!1,e.xhr=null},a.checkCrossOrigin&&isCrossOriginURL(t)&&i.crossOrigin&&(t=addTimestamp(t)),n.open("GET",t),n.responseType="arraybuffer",n.withCredentials="use-credentials"===i.crossOrigin,n.send()}}},{key:"read",value:function(t){var e=this.options,i=this.imageData,a=resetAndGetOrientation(t),n=0,s=1,r=1;if(a>1){this.url=arrayBufferToDataURL(t,MIME_TYPE_JPEG);var o=parseOrientation(a);n=o.rotate,s=o.scaleX,r=o.scaleY}e.rotatable&&(i.rotate=n),e.scalable&&(i.scaleX=s,i.scaleY=r),this.clone()}},{key:"clone",value:function(){var t,e,i=this.element,a=this.url;this.options.checkCrossOrigin&&isCrossOriginURL(a)&&(t=i.crossOrigin,t?e=a:(t="anonymous",e=addTimestamp(a))),this.crossOrigin=t,this.crossOriginUrl=e;var n=document.createElement("img");t&&(n.crossOrigin=t),n.src=e||a,this.image=n,n.onload=this.start.bind(this),n.onerror=this.stop.bind(this),addClass(n,CLASS_HIDE),i.parentNode.insertBefore(n,i.nextSibling)}},{key:"start",value:function(){var t=this,e=this.isImg?this.element:this.image;e.onload=null,e.onerror=null,this.sizing=!0;var i=WINDOW.navigator&&/(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(WINDOW.navigator.userAgent),a=function(e,i){assign(t.imageData,{naturalWidth:e,naturalHeight:i,aspectRatio:e/i}),t.sizing=!1,t.sized=!0,t.build()};if(e.naturalWidth&&!i)return void a(e.naturalWidth,e.naturalHeight);var n=document.createElement("img"),s=document.body||document.documentElement;this.sizingImage=n,n.onload=function(){a(n.width,n.height),i||s.removeChild(n)},n.src=e.src,i||(n.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;",s.appendChild(n))}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,e=this.options,i=this.image,a=t.parentNode,n=document.createElement("div");n.innerHTML=TEMPLATE;var s=n.querySelector(".".concat(NAMESPACE,"-container")),r=s.querySelector(".".concat(NAMESPACE,"-canvas")),o=s.querySelector(".".concat(NAMESPACE,"-drag-box")),h=s.querySelector(".".concat(NAMESPACE,"-crop-box")),c=h.querySelector(".".concat(NAMESPACE,"-face"));this.container=a,this.cropper=s,this.canvas=r,this.dragBox=o,this.cropBox=h,this.viewBox=s.querySelector(".".concat(NAMESPACE,"-view-box")),this.face=c,r.appendChild(i),addClass(t,CLASS_HIDDEN),a.insertBefore(s,t.nextSibling),this.isImg||removeClass(i,CLASS_HIDE),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,addClass(h,CLASS_HIDDEN),e.guides||addClass(h.getElementsByClassName("".concat(NAMESPACE,"-dashed")),CLASS_HIDDEN),e.center||addClass(h.getElementsByClassName("".concat(NAMESPACE,"-center")),CLASS_HIDDEN),e.background&&addClass(s,"".concat(NAMESPACE,"-bg")),e.highlight||addClass(c,CLASS_INVISIBLE),e.cropBoxMovable&&(addClass(c,CLASS_MOVE),setData(c,DATA_ACTION,ACTION_ALL)),e.cropBoxResizable||(addClass(h.getElementsByClassName("".concat(NAMESPACE,"-line")),CLASS_HIDDEN),addClass(h.getElementsByClassName("".concat(NAMESPACE,"-point")),CLASS_HIDDEN)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),isFunction(e.ready)&&addListener(t,EVENT_READY,e.ready,{once:!0}),dispatchEvent(t,EVENT_READY)}}},{key:"unbuild",value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),removeClass(this.element,CLASS_HIDDEN))}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=AnotherCropper,t}},{key:"setDefaults",value:function(t){assign(DEFAULTS,isPlainObject(t)&&t)}}]),t}();assign(Cropper.prototype,render,preview,events,handlers,change,methods),module.exports=Cropper;