fastlion-picture-viewer
Version:
图片查看器
14 lines • 25.4 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ReactPictureViewer=t():e.ReactPictureViewer=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=19)}([function(e,t,n){e.exports=n(12)()},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";e.exports=n(10)},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(9);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(1).default,o=n(3);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?o(e):t},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,n(t,r)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){"use strict";
/** @license React v16.14.0
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var r=n(11),o="function"==typeof Symbol&&Symbol.for,i=o?Symbol.for("react.element"):60103,u=o?Symbol.for("react.portal"):60106,a=o?Symbol.for("react.fragment"):60107,c=o?Symbol.for("react.strict_mode"):60108,s=o?Symbol.for("react.profiler"):60114,f=o?Symbol.for("react.provider"):60109,l=o?Symbol.for("react.context"):60110,p=o?Symbol.for("react.forward_ref"):60112,d=o?Symbol.for("react.suspense"):60113,h=o?Symbol.for("react.memo"):60115,y=o?Symbol.for("react.lazy"):60116,m="function"==typeof Symbol&&Symbol.iterator;function v(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b={};function x(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}function w(){}function O(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}x.prototype.isReactComponent={},x.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(v(85));this.updater.enqueueSetState(this,e,t,"setState")},x.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=x.prototype;var S=O.prototype=new w;S.constructor=O,r(S,x.prototype),S.isPureReactComponent=!0;var _={current:null},j=Object.prototype.hasOwnProperty,M={key:!0,ref:!0,__self:!0,__source:!0};function T(e,t,n){var r,o={},u=null,a=null;if(null!=t)for(r in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(u=""+t.key),t)j.call(t,r)&&!M.hasOwnProperty(r)&&(o[r]=t[r]);var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){for(var s=Array(c),f=0;f<c;f++)s[f]=arguments[f+2];o.children=s}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===o[r]&&(o[r]=c[r]);return{$$typeof:i,type:e,key:u,ref:a,props:o,_owner:_.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===i}var R=/\/+/g,E=[];function P(e,t,n,r){if(E.length){var o=E.pop();return o.result=e,o.keyPrefix=t,o.func=n,o.context=r,o.count=0,o}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function k(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>E.length&&E.push(e)}function L(e,t,n){return null==e?0:function e(t,n,r,o){var a=typeof t;"undefined"!==a&&"boolean"!==a||(t=null);var c=!1;if(null===t)c=!0;else switch(a){case"string":case"number":c=!0;break;case"object":switch(t.$$typeof){case i:case u:c=!0}}if(c)return r(o,t,""===n?"."+I(t,0):n),1;if(c=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;s<t.length;s++){var f=n+I(a=t[s],s);c+=e(a,f,r,o)}else if(null===t||"object"!=typeof t?f=null:f="function"==typeof(f=m&&t[m]||t["@@iterator"])?f:null,"function"==typeof f)for(t=f.call(t),s=0;!(a=t.next()).done;)c+=e(a=a.value,f=n+I(a,s++),r,o);else if("object"===a)throw r=""+t,Error(v(31,"[object Object]"===r?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return c}(e,"",t,n)}function I(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function U(e,t){e.func.call(e.context,t,e.count++)}function D(e,t,n){var r=e.result,o=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?A(e,r,n,(function(e){return e})):null!=e&&(C(e)&&(e=function(e,t){return{$$typeof:i,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,o+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(R,"$&/")+"/")+n)),r.push(e))}function A(e,t,n,r,o){var i="";null!=n&&(i=(""+n).replace(R,"$&/")+"/"),L(e,D,t=P(t,i,r,o)),k(t)}var $={current:null};function W(){var e=$.current;if(null===e)throw Error(v(321));return e}var H={ReactCurrentDispatcher:$,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:_,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:function(e,t,n){if(null==e)return e;var r=[];return A(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;L(e,U,t=P(null,null,t,n)),k(t)},count:function(e){return L(e,(function(){return null}),null)},toArray:function(e){var t=[];return A(e,t,null,(function(e){return e})),t},only:function(e){if(!C(e))throw Error(v(143));return e}},t.Component=x,t.Fragment=a,t.Profiler=s,t.PureComponent=O,t.StrictMode=c,t.Suspense=d,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=H,t.cloneElement=function(e,t,n){if(null==e)throw Error(v(267,e));var o=r({},e.props),u=e.key,a=e.ref,c=e._owner;if(null!=t){if(void 0!==t.ref&&(a=t.ref,c=_.current),void 0!==t.key&&(u=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(f in t)j.call(t,f)&&!M.hasOwnProperty(f)&&(o[f]=void 0===t[f]&&void 0!==s?s[f]:t[f])}var f=arguments.length-2;if(1===f)o.children=n;else if(1<f){s=Array(f);for(var l=0;l<f;l++)s[l]=arguments[l+2];o.children=s}return{$$typeof:i,type:e.type,key:u,ref:a,props:o,_owner:c}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:l,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:f,_context:e},e.Consumer=e},t.createElement=T,t.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:p,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:y,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:h,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return W().useCallback(e,t)},t.useContext=function(e,t){return W().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return W().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return W().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return W().useLayoutEffect(e,t)},t.useMemo=function(e,t){return W().useMemo(e,t)},t.useReducer=function(e,t,n){return W().useReducer(e,t,n)},t.useRef=function(e){return W().useRef(e)},t.useState=function(e){return W().useState(e)},t.version="16.14.0"},function(e,t,n){"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function u(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,c=u(e),s=1;s<arguments.length;s++){for(var f in n=Object(arguments[s]))o.call(n,f)&&(c[f]=n[f]);if(r){a=r(n);for(var l=0;l<a.length;l++)i.call(n,a[l])&&(c[a[l]]=n[a[l]])}}return c}},function(e,t,n){"use strict";var r=n(13);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,u){if(u!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(15);"string"==typeof r&&(r=[[e.i,r,""]]);var o={singleton:!0,hmr:!0,transform:void 0,insertInto:void 0};n(17)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(16)(!1)).push([e.i,".react-picture-viewer {\n position: relative;\n display: block;\n margin: 0;\n padding: 0;\n overflow: hidden;\n}\n\n.react-picture-viewer-bofore-loaded {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.react-picture-viewer-bofore-loaded img {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n}\n\n.react-picture-viewer img {\n cursor: move;\n position: absolute;\n}\n",""])},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var o=(u=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(u))))+" */"),i=r.sources.map((function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"}));return[n].concat(i).concat([o]).join("\n")}var u;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o<this.length;o++){var i=this[o][0];null!=i&&(r[i]=!0)}for(o=0;o<e.length;o++){var u=e[o];null!=u[0]&&r[u[0]]||(n&&!u[2]?u[2]=n:n&&(u[2]="("+u[2]+") and ("+n+")"),t.push(u))}},t}},function(e,t,n){var r,o,i={},u=(r=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===o&&(o=r.apply(this,arguments)),o}),a=function(e,t){return t?t.querySelector(e):document.querySelector(e)},c=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var r=a.call(this,e,n);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}}(),s=null,f=0,l=[],p=n(18);function d(e,t){for(var n=0;n<e.length;n++){var r=e[n],o=i[r.id];if(o){o.refs++;for(var u=0;u<o.parts.length;u++)o.parts[u](r.parts[u]);for(;u<r.parts.length;u++)o.parts.push(b(r.parts[u],t))}else{var a=[];for(u=0;u<r.parts.length;u++)a.push(b(r.parts[u],t));i[r.id]={id:r.id,refs:1,parts:a}}}}function h(e,t){for(var n=[],r={},o=0;o<e.length;o++){var i=e[o],u=t.base?i[0]+t.base:i[0],a={css:i[1],media:i[2],sourceMap:i[3]};r[u]?r[u].parts.push(a):n.push(r[u]={id:u,parts:[a]})}return n}function y(e,t){var n=c(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var r=l[l.length-1];if("top"===e.insertAt)r?r.nextSibling?n.insertBefore(t,r.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),l.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var o=c(e.insertAt.before,n);n.insertBefore(t,o)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=l.indexOf(e);t>=0&&l.splice(t,1)}function v(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=function(){0;return n.nc}();r&&(e.attrs.nonce=r)}return g(t,e.attrs),y(e,t),t}function g(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function b(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=i}if(t.singleton){var u=f++;n=s||(s=v(t)),r=O.bind(null,n,u,!1),o=O.bind(null,n,u,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),y(e,t),t}(t),r=_.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),r=S.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=u()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return d(n,t),function(e){for(var r=[],o=0;o<n.length;o++){var u=n[o];(a=i[u.id]).refs--,r.push(a)}e&&d(h(e,t),t);for(o=0;o<r.length;o++){var a;if(0===(a=r[o]).refs){for(var c=0;c<a.parts.length;c++)a.parts[c]();delete i[a.id]}}}};var x,w=(x=[],function(e,t){return x[e]=t,x.filter(Boolean).join("\n")});function O(e,t,n,r){var o=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=w(t,o);else{var i=document.createTextNode(o),u=e.childNodes;u[t]&&e.removeChild(u[t]),u.length?e.insertBefore(i,u[t]):e.appendChild(i)}}function S(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function _(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=p(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var u=new Blob([r],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(u),a&&URL.revokeObjectURL(a)}},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")}))}},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return T}));var r=n(1),o=n.n(r),i=n(5),u=n.n(i),a=n(6),c=n.n(a),s=n(3),f=n.n(s),l=n(7),p=n.n(l),d=n(8),h=n.n(d),y=n(4),m=n.n(y),v=n(2),g=n.n(v),b=n(0),x=n.n(b);function w(e){return{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Object]":"object"}[Object.prototype.toString.call(e)]}function O(e){return"NaN"===e.toString()}function S(e){return"function"===w(e)}function _(e,t,n){if(o()(e)!==o()(t))return!1;if("object"===o()(e)){if(e===t)return!0;if(Array.isArray(e))return e.length===t.length&&e.every((function(e,r){return _(e,t[r],n)}));var r=Object.keys(e),i=Object.keys(t);return r.length===i.length&&r.every((function(r){return r===n||_(e[r],t[r],n)}))}return e===t}n(14);function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=m()(e);if(t){var o=m()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return h()(this,n)}}var M=function(e){p()(n,e);var t=j(n);function n(){var e;return u()(this,n),(e=t.call(this)).state={focus:!1,imageWidth:0,imageHeight:0,startX:0,startY:0,startLeft:0,startTop:0,currentLeft:0,currentTop:0,scale:1,hasLoaded:!1},e.initViewport=function(t,n){e.viewportDOM.current.style.width=O(+t)?t:"".concat(t,"px"),e.viewportDOM.current.style.height=O(+n)?n:"".concat(n,"px")},e.initPicture=function(t){var n=t=t||e.props,r=n.children.props.src,o=n.center,i=n.contain,u=n.cover,a=o?e.changeToCenter:e.changeToBasePoint;u?e.changeToCover(r,a):i?e.changeToContain(r,a):e._getImageOriginSize(r).then((function(t){var n=t.width,r=t.height;e.setState({scale:1,imageWidth:n,imageHeight:r},a)})).catch((function(e){console.error(e)}))},e.changeToContain=function(t,n){t=t||e.props.src,n=S(n)?n:function(){},e._getImageOriginSize(t).then((function(t){var r=t.width,o=t.height,i=e.recalcImageSizeToContain(r,o),u=i.imageWidth,a=i.imageHeight;e.setState({scale:1,imageWidth:u,imageHeight:a},(function(){n(u,a)}))})).catch((function(e){console.error(e)}))},e.changeToCenter=function(){var t=e.state,n=t.imageWidth,r=t.imageHeight,o=[e.viewportDOM.current][0],i=[o.clientWidth,o.clientHeight],u=(i[1]-r)/2,a=(i[0]-n)/2;e.setState({currentLeft:a,currentTop:u,startLeft:a,startTop:u})},e.changeToBasePoint=function(){e.setState({currentLeft:0,currentTop:0,startLeft:0,startTop:0})},e.recalcImageSizeToContain=function(t,n){var r=t/n,o=e.viewportDOM.current,i=[o.clientWidth,o.clientHeight],u=i[0],a=i[1];return t>u?(n=(t=u)/r,e.recalcImageSizeToContain(t,n)):n>a?(t=(n=a)*r,e.recalcImageSizeToContain(t,n)):{imageWidth:t,imageHeight:n}},e.recalcImageSizeToCover=function(t,n){var r=t/n,o=e.viewportDOM.current,i=[o.clientWidth,o.clientHeight],u=i[1];return(n=(t=i[0])/r)<u&&(t=(n=u)*r),{imageWidth:t,imageHeight:n}},e.changeToCover=function(t,n){t=t||e.props.src,n=S(n)?n:function(){},e._getImageOriginSize(t).then((function(t){var r=t.width,o=t.height,i=e.recalcImageSizeToCover(r,o),u=i.imageWidth,a=i.imageHeight;e.setState({scale:1,imageWidth:u,imageHeight:a},(function(){n(u,a)}))})).catch((function(e){console.error(e)}))},e.handleMouseDown=function(t){if((t.target||t.toElement)===e.imgDOM.current){var n=e._getOffsetInElement(t,e.viewportDOM.current),r=n.top,o=n.left;e.setState({focus:!0,startX:o,startY:r})}},e.handleMouseMove=function(t){var n=e.state,r=n.focus,o=n.startX,i=n.startY,u=n.startTop,a=n.startLeft;if(r){var c=e._getOffsetInElement(t,e.viewportDOM.current),s=c.left-o,f=c.top-i;e.setState({currentLeft:a+s,currentTop:u+f})}},e.handleMouseUp=function(){var t=e.state,n=t.currentLeft,r=t.currentTop;e.setState({focus:!1,startX:0,startY:0,startLeft:n,startTop:r})},e.handleMouseLeave=function(){e.handleMouseUp()},e.changeScale=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=t,o=e.state.scale,i=e.props,u=i.minimum,a=i.maximum;n||(r=o>=a&&r>=o||o<=u&&r<=o?o:t<=u?u:t>=a?a:t),e.setState({scale:r})},e.handleMouseWheel=function(t){var n=e.imgDOM.current,r=e.props,o=r.minimum,i=r.maximum,u=r.rate,a=e.state,c=a.imageWidth,s=a.imageHeight,f=a.currentLeft,l=a.currentTop,p=a.scale,d=[n.clientWidth,n.clientHeight],h=d[0],y=d[1],m=t.nativeEvent||t;m.preventDefault();var v=1+m.wheelDelta/(12e3/u);if(!(p<=o&&v<1||p>=i&&v>1)){var g=h*v/c,b=(g=g<=o?o:g>=i?i:g)*c,x=g*s,w=e._getOffsetInElement(t,e.imgDOM.current),O=w.left,S=w.top,_=O/h*b,j=S/y*x;e.setState({scale:g,startLeft:f+(O-_),startTop:l+(S-j),currentLeft:f+(O-_),currentTop:l+(S-j)})}},e._getOffsetInElement=function(t,n){var r,o,i=t.target||t.toElement;if(!e._inTargetArea(i,n))return null;var u=e._getOffset(n),a=u.left,c=u.top;return r=t.clientX-a,{top:o=t.clientY-c,left:r,right:n.offsetWidth-r,bottom:n.offsetHeight-o}},e._inTargetArea=function(e,t){if(e===t)return!0;for(var n=e.parentNode;null!=n;){if(n===t)return!0;n=(e=n).parentNode}return!1},e._getOffset=function(e){var t=document.documentElement,n=t.clientWidth,r=t.clientHeight,o=e.getBoundingClientRect();return{left:o.left,top:o.top,right:n-o.right,bottom:r-o.bottom}},e._getImageOriginSize=function(t){var n="object"===o()(t)?t.src:t,r=f()(e);return new Promise((function(e){var t=new Image;t.src=n,t.onload=function(){r.state.hasLoaded||r.setState({hasLoaded:!0});var n=t.width,o=t.height;e({width:n,height:o})}}))},e.viewportDOM=g.a.createRef(),e.imgDOM=g.a.createRef(),e}return c()(n,[{key:"componentDidMount",value:function(){var e=this.props,t=e.width,n=e.height;this.imgDOM.current=this.viewportDOM.current.querySelector("img"),this.initViewport(t,n),this.imgDOM.current.addEventListener("wheel",this.handleMouseWheel,{passive:!1}),this.initPicture()}},{key:"componentWillReceiveProps",value:function(e){(!_(this.props,e,"children")||!_(this.props.children.props,e.children.props))&&this.initPicture(e)}},{key:"shouldComponentUpdate",value:function(e,t,n){return!_(this.state,t)||!_(this.props,e,"children")||!_(this.props.children.props,e.children.props)}},{key:"componentWillUpdate",value:function(e,t){var n=t.scale,r=t.imageWidth,o=t.imageHeight,i=t.currentLeft,u=t.currentTop,a=n*r,c=n*o;this.changePosition(i,u),this.changeSize(a,c)}},{key:"changePosition",value:function(e,t){var n=this.imgDOM.current;n.style.top="".concat(t,"px"),n.style.left="".concat(e,"px")}},{key:"changeSize",value:function(e,t){var n=this.imgDOM.current;n.style.maxWidth=n.style.maxHeight="none",n.style.width="".concat(e,"px"),n.style.height="".concat(t,"px")}},{key:"render",value:function(){var e=this.props,t=e.children,n=e.className;return g.a.createElement("div",{ref:this.viewportDOM,className:"react-picture-viewer ".concat(this.state.hasLoaded?"":"react-picture-viewer-bofore-loaded"," ").concat(n),onMouseLeave:this.handleMouseLeave,onMouseDown:this.handleMouseDown,onMouseMove:this.handleMouseMove,onMouseUp:this.handleMouseUp},t)}}]),n}(g.a.Component);M.propTypes={width:x.a.oneOfType([x.a.number,x.a.string]),height:x.a.oneOfType([x.a.number,x.a.string]),minimum:x.a.number,maximum:x.a.number,rate:x.a.number,children:x.a.object.isRequired,className:x.a.string,center:x.a.bool,contain:x.a.bool,cover:x.a.bool},M.defaultProps={width:"600px",height:"400px",minimum:.8,maximum:8,rate:10,center:!0,contain:!0};var T=M}])}));