chunk-1d9e4e87.7603c17e.js.map 125 KB

1
  1. {"version":3,"sources":["webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/style/style.css?e66d","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/props.js","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/style/crop.css?0ff1","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/lib/drag.js","webpack:///./node_modules/_daycaca@1.0.11@daycaca/dist/index.js","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/lib/resize.js","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/rotate-bar.vue?227e","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/lib/loading-gif.js","webpack:///./node_modules/_core-image-xhr@1.0.3@core-image-xhr/index.js","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/vue-core-image-upload.vue?1cdc","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/crop.vue?7850","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/resize-bar.vue?b57d","webpack:///node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/resize-bar.vue","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/resize-bar.vue?5aa6","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/resize-bar.vue","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/rotate-bar.vue?a5f2","webpack:///node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/rotate-bar.vue","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/rotate-bar.vue?50d5","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/rotate-bar.vue","webpack:///node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/crop.vue","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/crop.vue?d67b","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/crop.vue","webpack:///node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/vue-core-image-upload.vue","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/vue-core-image-upload.vue?095b","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/vue-core-image-upload.vue","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/lib/helper.js","webpack:///./node_modules/_vue-core-image-upload@2.4.11@vue-core-image-upload/dist/resize-bar.vue?39d9"],"names":["root","factory","module","exports","this","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","23","default","url","type","String","text","extensions","inputOfFile","crop","Boolean","cropBtn","ok","cancel","cropRatio","resize","rotate","ResizeBtn","maxFileSize","Number","maxWidth","maxHeight","fixedWidth","fixedHeight","inputAccept","isXhr","headers","data","multiple","multipleSize","minWidth","compress","credentials","0","isMobile","test","navigator","userAgent","setCssText","obj","cssArr","keys","forEach","key","val","push","join","isFunction","fn","13","drag","_helper","_helper2","_interopRequireDefault","e","el","coor","currentX","changedTouches","clientX","currentY","clientY","left","x","top","y","minLeft","maxLeft","minTop","maxTop","self","_typeof","Symbol","iterator","constructor","_extends","assign","target","arguments","length","source","isNumber","num","imageReg","defaultConfig","ratio","enableWebWorker","setConfig","config","_config","init","src","callback","_this","scrTypes","split","srcType","image","_createImage","replace","onload","cvs","_getCanvas","naturalWidth","naturalHeight","ctx","getContext","drawImage","newImageData","toDataURL","base64","_getSrc","_readFile","video","videoWidth","videoHeight","quality","_this2","_getSrc2","_compress","_this3","_loadImage","mimeType","_getImageType","options","_this4","_getSrc3","_crop","_this5","w","width","h","height","_this6","_getSrc4","_resize","_this7","isNeedCrop","ow","oh","aspect","Math","floor","degree","_this8","_getSrc5","_rotate","_this9","clearRect","fillStyle","fillRect","translate","PI","file","reader","FileReader","event","result","readAsDataURL","canvas","document","createElement","Image","crossOrigin","_isImageElement","imgSrc","Error","_isVideoElement","_isFileObject","size","tagName","_getSrc6","fileType","outputType","match","arr","exec","22","W","body","offsetWidth","container","H","offsetHeight","ratioRemainder","dotBoxW","parseFloat","window","getComputedStyle","dotBoxH","$topH","querySelector","halfX","topH","halfY","resetX","resetY","elOffsetWidth","elOffsetHeight","CSSObj","style","14","GIF_LOADING_SRC","undefined","XMLHttpRequest","sendAsBinary","string","bytes","Array","map","charCodeAt","send","Uint8Array","buffer","method","err","isBinary","withCredentials","r","error","console","boundary","binary","toUpperCase","json","response","JSON","parse","responseText","_e","status","statusText","headersToJSON","getAllResponseHeaders","statusCode","onerror","keyData","code","base64Code","filed","filename","atob","keyArr","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","k","indexOf","stringify","encodeURI","return","open","responseType","overrideMimeType","setRequestHeader","reg","render","_vm","_h","$createElement","_c","_self","staticClass","_t","_v","_s","directives","rawName","hasImage","expression","attrs","uploading","on","change","dragover","dragleave","ref","staticStyle","doRotate","doReverseRotate","doCrop","doResize","staticRenderFns","backgroundImage","cursor","isResize","cropCSS","bottom","right","$event","currentTarget","resizeImage","rotateImage","props","minProgress","progress","methods","setProgress","preventDefault","stopPropagation","$el","touches","offsetLeft","offsetTop","parseInt","$container","newCoor","$emit","removeEventListener","move","stopMove","addEventListener","component","rotateLeft","rotateRight","rotateDegree","components","ResizeBar","RotateBar","minHeight","isRotate","initWidth","initHeight","setImage","originSrc","setOriginalSrc","ratioW","ratioH","ratioVal","natrualWidth","natrualHeight","setLayout","resizeBar","imgChangeRatio","R","Rs","marginLeft","_setStyle","marginTop","cssText","setCropBox","areaWidth","cropWidth","baseCropWidth","imageWidth","imageHeight","$selectCropBox","baseCropHeight","getCropData","getCropImage","$refs","__find","dq","str","_$container","newCropStyle","maxCoor","end","_getMaxCropAreaWidth","$cropBox"],"mappings":"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","file":"h5/js/chunk-1d9e4e87.7603c17e.js","sourcesContent":["import mod from \"-!../../../_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../_vue-loader@15.9.0@vue-loader/lib/loaders/stylePostLoader.js!../../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!./style.css?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../_vue-loader@15.9.0@vue-loader/lib/loaders/stylePostLoader.js!../../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!./style.css?vue&type=style&index=0&lang=css&\"","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueCoreImageUpload\"] = factory();\n\telse\n\t\troot[\"VueCoreImageUpload\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 23);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n url: {\n type: String\n },\n text: {\n type: String,\n default: 'Upload Image'\n },\n extensions: {\n type: String,\n default: 'png,jpg,jpeg,gif,svg,webp'\n },\n inputOfFile: {\n type: String,\n default: 'files'\n },\n crop: {\n type: [String, Boolean],\n default: ''\n },\n cropBtn: {\n type: Object,\n default: function _default() {\n return {\n ok: 'Ok',\n cancel: 'Cancel'\n };\n }\n },\n cropRatio: {\n type: String,\n default: '1:1'\n },\n resize: {\n type: [String, Boolean],\n default: false\n },\n rotate: {\n type: Boolean,\n default: false\n },\n ResizeBtn: {\n type: Object,\n default: function _default() {\n return {\n ok: 'Ok',\n cancel: 'Cancel'\n };\n }\n },\n maxFileSize: {\n type: Number,\n default: 1024 * 1024 * 100\n },\n maxWidth: {\n type: Number\n },\n maxHeight: {\n type: Number\n },\n fixedWidth: {\n type: Number\n },\n fixedHeight: {\n type: Number\n },\n inputAccept: {\n type: String,\n default: 'image/jpg,image/jpeg,image/png,image/gif'\n },\n isXhr: {\n type: Boolean,\n default: true\n },\n headers: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n data: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n multiple: {\n type: Boolean,\n default: false\n },\n multipleSize: {\n type: Number,\n default: 0\n },\n minWidth: {\n type: Number,\n default: 50\n },\n compress: {\n type: [Number, String],\n default: 0\n },\n credentials: {\n type: [String, Boolean],\n default: true\n }\n};\n\n/***/ })\n\n/******/ });\n});","import mod from \"-!../../../_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../_vue-loader@15.9.0@vue-loader/lib/loaders/stylePostLoader.js!../../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!./crop.css?vue&type=style&index=0&id=7616bef4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../_vue-loader@15.9.0@vue-loader/lib/loaders/stylePostLoader.js!../../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!./crop.css?vue&type=style&index=0&id=7616bef4&scoped=true&lang=css&\"","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueCoreImageUpload\"] = factory();\n\telse\n\t\troot[\"VueCoreImageUpload\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 13);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n\n isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),\n\n /**\n * transform object to css text\n */\n setCssText: function setCssText(obj) {\n var cssArr = [];\n Object.keys(obj).forEach(function (key) {\n var val = obj[key];\n if (typeof val === 'number') {\n val = '' + val + 'px';\n }\n cssArr.push(key + ': ' + val + ';');\n });\n return cssArr.join('');\n },\n isFunction: function isFunction(fn) {\n return typeof fn === 'function';\n }\n};\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = drag;\n\nvar _helper = __webpack_require__(0);\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isMobile = _helper2.default.isMobile; /**\n * return drag element coordinate\n */\nfunction drag(e, el, coor) {\n if (!el) {\n return;\n }\n var currentX = isMobile ? e.changedTouches[0]['clientX'] : e.clientX;\n var currentY = isMobile ? e.changedTouches[0]['clientY'] : e.clientY;\n\n var left = currentX - coor.x;\n var top = currentY - coor.y;\n if (left <= coor.minLeft) {\n left = coor.minLeft;\n }\n if (left >= coor.maxLeft) {\n left = coor.maxLeft;\n }\n if (top <= coor.minTop) {\n top = coor.minTop;\n }\n if (top >= coor.maxTop) {\n top = coor.maxTop;\n }\n return {\n left: left,\n top: top\n };\n};\n\n/***/ })\n\n/******/ });\n});","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"daycaca\"] = factory();\n\telse\n\t\troot[\"daycaca\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n// a canvas lib to compress or crop images\n\nvar isNumber = function isNumber(num) {\n return typeof num === 'number';\n};\nvar imageReg = /[./](png|jpeg|jpg|gif|bmp)/;\n\nvar defaultConfig = {\n ratio: 1,\n compress: 80,\n enableWebWorker: false\n};\n\nmodule.exports = {\n setConfig: function setConfig(config) {\n this._config = _extends(defaultConfig, config);\n },\n\n\n /**\n * init image for reset size and rotation\n */\n init: function init(src, callback) {\n var _this = this;\n\n var scrTypes = src.split(';');\n var srcType = null;\n var image = this._createImage(src);\n if (scrTypes.length > 1) {\n srcType = scrTypes[0].replace('data:', '');\n }\n image.onload = function () {\n var cvs = _this._getCanvas(image.naturalWidth, image.naturalHeight);\n var ctx = cvs.getContext('2d');\n ctx.drawImage(image, 0, 0);\n var newImageData = cvs.toDataURL(srcType);\n callback(newImageData);\n };\n },\n\n\n /**\n * encode image to base64\n * @param {Element|String} el\n * @param {Function} callback\n */\n base64: function base64(el, callback) {\n var _getSrc = this._getSrc(el),\n src = _getSrc.src,\n type = _getSrc.type;\n\n if (type === 'file') {\n return this._readFile(src, callback);\n } else if (type === 'video') {\n var video = el;\n var cvs = this._getCanvas(video.videoWidth, video.videoHeight);\n var ctx = cvs.getContext('2d');\n ctx.drawImage(video, 0, 0);\n var newImageData = cvs.toDataURL();\n callback(newImageData, cvs);\n }\n return this.init(src, callback);\n },\n\n\n /**\n * compress image\n * @param {el|String} src the source of image\n * @param {Number} the quality of image ( 100 = the highest quality)\n * @param {Function} callback\n */\n compress: function compress(source, quality, callback) {\n var _this2 = this;\n\n var _getSrc2 = this._getSrc(source),\n src = _getSrc2.src,\n type = _getSrc2.type;\n\n if (type === 'file') {\n return this._readFile(src, function (data) {\n _this2._compress(data, source, quality, callback);\n });\n }\n this._compress(src, source, quality, callback);\n },\n _compress: function _compress(src, source, quality, callback) {\n var _this3 = this;\n\n this._loadImage(src, function (image) {\n var mimeType = _this3._getImageType(source);\n var cvs = _this3._getCanvas(image.naturalWidth, image.naturalHeight);\n var ctx = cvs.getContext('2d');\n ctx.drawImage(image, 0, 0);\n var newImageData = cvs.toDataURL(mimeType, quality / 100);\n callback(newImageData);\n });\n },\n\n\n /**\n * crop image via canvas and generate data\n */\n crop: function crop(source, options, callback) {\n var _this4 = this;\n\n var _getSrc3 = this._getSrc(source),\n src = _getSrc3.src,\n type = _getSrc3.type;\n\n if (type === 'file') {\n return this._readFile(src, function (data) {\n _this4._crop(data, source, options, callback);\n });\n }\n this._crop(src, source, options, callback);\n },\n _crop: function _crop(src, source, options, callback) {\n var _this5 = this;\n\n this._loadImage(src, function (image) {\n // alias w and h props\n if (!options.w && options.width) {\n options.w = options.width;\n options.h = options.height;\n }\n\n // check crop options\n if (isNumber(options.x) && isNumber(options.y) && options.w > 0 && options.h > 0) {\n var w = options.w,\n h = options.h;\n\n if (options.maxWidth && options.maxWidth < w) {\n w = options.maxWidth;\n h = options.h * w / options.w;\n }\n if (options.maxHeight && options.maxHeight < h) {\n h = options.maxHeight;\n }\n if (options.fixedWidth && options.fixedHeight) {\n w = options.fixedWidth;\n h = options.fixedHeight;\n }\n var cvs = _this5._getCanvas(w, h);\n cvs.getContext('2d').drawImage(image, options.x, options.y, options.w, options.h, 0, 0, w, h);\n var mimeType = _this5._getImageType(source);\n var data = cvs.toDataURL(mimeType, options.compress / 100);\n callback(data);\n }\n });\n },\n resize: function resize(source, ratio, callback) {\n var _this6 = this;\n\n var _getSrc4 = this._getSrc(source),\n src = _getSrc4.src,\n type = _getSrc4.type;\n\n var options = {};\n if (typeof ratio === 'number' || typeof ratio === 'string') {\n options = {\n ratio: ratio,\n compress: defaultConfig.compress\n };\n }\n if ((typeof ratio === 'undefined' ? 'undefined' : _typeof(ratio)) === 'object') {\n options = ratio;\n }\n if (type === 'file') {\n return this._readFile(src, function (data) {\n _this6._resize(data, source, options, callback);\n });\n }\n this._resize(src, source, options, callback);\n },\n _resize: function _resize(src, source, options, callback) {\n var _this7 = this;\n\n function isNeedCrop(w, h, ow, oh) {\n return w / h === ow / oh;\n }\n this._loadImage(src, function (image) {\n var w = image.naturalWidth;\n var h = image.naturalHeight;\n var aspect = w / h;\n if (options.ratio > 0) {\n w = Math.floor(image.naturalWidth * options.ratio);\n h = Math.floor(image.naturalHeight * options.ratio);\n } else if (typeof options.width === 'number' && typeof options.height === 'number') {\n if (!isNeedCrop(options.width, options.height, w, h)) {\n w = Math.floor(options.width);\n h = Math.floor(options.height);\n } else {\n if (w > options.width || h > options.height) {\n options.x = (w - options.width) / 2;\n options.y = (h - options.height) / 2;\n return _this7._crop(src, source, options, callback);\n } else if (w < options.width) {\n w = options.width;\n h = w / aspect;\n options.x = 0;\n options.y = (h - options.height) / 2;\n return _this7._crop(src, source, options, callback);\n } else if (h < options.height) {\n h = options.height;\n w = h * aspect;\n options.y = 0;\n options.x = (w - options.width) / 2;\n return _this7._crop(src, source, options, callback);\n }\n }\n }\n var cvs = _this7._getCanvas(w, h);\n cvs.getContext('2d').drawImage(image, 0, 0, image.naturalWidth, image.naturalHeight, 0, 0, w, h);\n var mimeType = _this7._getImageType(source);\n var data = cvs.toDataURL(mimeType, options.compress / 100);\n callback(data);\n });\n },\n\n\n /**\n * rotate image\n */\n rotate: function rotate(source, degree, callback) {\n var _this8 = this;\n\n var _getSrc5 = this._getSrc(source),\n src = _getSrc5.src,\n type = _getSrc5.type;\n\n if (type === 'file') {\n return this._readFile(src, function () {\n _this8._rotate(src, source, degree, callback);\n });\n }\n if (degree % 360 === 0) {\n return callback(src);\n }\n this._rotate(src, source, degree, callback);\n },\n _rotate: function _rotate(src, source, degree, callback) {\n var _this9 = this;\n\n this._loadImage(src, function (image) {\n var w = image.naturalWidth;\n var h = image.naturalHeight;\n degree %= 360;\n if (degree === 90 || degree === 270) {\n w = image.naturalHeight;\n h = image.naturalWidth;\n }\n var cvs = _this9._getCanvas(w, h);\n var ctx = cvs.getContext('2d');\n ctx.clearRect(0, 0, w, h);\n ctx.fillStyle = 'white';\n ctx.fillRect(0, 0, w, h);\n ctx.translate(w / 2, h / 2);\n ctx.rotate(degree * Math.PI / 180);\n ctx.drawImage(image, -image.naturalWidth / 2, -image.naturalHeight / 2);\n var mimeType = _this9._getImageType(source);\n var data = cvs.toDataURL(mimeType, 1);\n callback(data, w, h);\n cvs = null;\n ctx = null;\n });\n },\n _loadImage: function _loadImage(src, callback) {\n var image = this._createImage(src);\n image.onload = function () {\n callback(image);\n };\n },\n _readFile: function _readFile(file, callback) {\n var reader = new FileReader();\n reader.onload = function (event) {\n var data = event.target.result;\n callback(data);\n };\n reader.readAsDataURL(file);\n },\n _getCanvas: function _getCanvas(width, height) {\n var canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n },\n _createImage: function _createImage(src) {\n var image = new Image();\n image.src = src;\n image.crossOrigin = 'anonymous';\n return image;\n },\n _getSrc: function _getSrc(source) {\n var src = source;\n var type = 'url';\n if (this._isImageElement(source)) {\n var imgSrc = source.src;\n if (!imgSrc) {\n throw new Error('Element must hava src');\n }\n src = imgSrc;\n type = 'element';\n } else if (this._isVideoElement(source)) {\n src = source;\n type = 'video';\n } else if (this._isFileObject(source)) {\n src = source;\n type = 'file';\n }\n return {\n src: src,\n type: type\n };\n },\n _isFileObject: function _isFileObject(file) {\n return (typeof file === 'undefined' ? 'undefined' : _typeof(file)) === 'object' && file.type && file.size > 0;\n },\n _isImageElement: function _isImageElement(el) {\n return (typeof el === 'undefined' ? 'undefined' : _typeof(el)) === 'object' && el.tagName === 'IMG';\n },\n _isVideoElement: function _isVideoElement(el) {\n return (typeof el === 'undefined' ? 'undefined' : _typeof(el)) === 'object' && el.tagName === 'VIDEO';\n },\n _getImageType: function _getImageType(source) {\n var _getSrc6 = this._getSrc(source),\n src = _getSrc6.src,\n type = _getSrc6.type;\n\n var mimeType = 'image/jpeg';\n if (type === 'file') {\n var fileType = source.type;\n var outputType = fileType.match(/(image\\/[\\w]+)\\.*/)[0];\n if (typeof outputType !== 'undefined') {\n mimeType = outputType;\n }\n } else {\n var arr = imageReg.exec(src);\n if (arr && arr[1]) {\n mimeType = 'image/' + arr[1];\n }\n }\n return mimeType;\n }\n};\n\n/***/ })\n/******/ ]);\n});","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueCoreImageUpload\"] = factory();\n\telse\n\t\troot[\"VueCoreImageUpload\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 22);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n\n isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),\n\n /**\n * transform object to css text\n */\n setCssText: function setCssText(obj) {\n var cssArr = [];\n Object.keys(obj).forEach(function (key) {\n var val = obj[key];\n if (typeof val === 'number') {\n val = '' + val + 'px';\n }\n cssArr.push(key + ': ' + val + ';');\n });\n return cssArr.join('');\n },\n isFunction: function isFunction(fn) {\n return typeof fn === 'function';\n }\n};\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = resize;\n\nvar _helper = __webpack_require__(0);\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isMobile = _helper2.default.isMobile; /** Reszie an element\n * @el dom\n * @container dom\n * @ratio string '1:1' like this\n * e events\n **/\n\nvar W = document.body.offsetWidth;\n\nfunction resize(e, el, container, coor, ratio) {\n if (!el) {\n return null;\n }\n var H = document.body.offsetHeight;\n var ratioRemainder = 1 / ratio;\n var dotBoxW = parseFloat(window.getComputedStyle(container).width);\n var dotBoxH = parseFloat(window.getComputedStyle(container).height);\n var $topH = document.querySelector('.info-aside');\n var halfX = (W - dotBoxW) / 2;\n var topH = parseFloat(window.getComputedStyle($topH).height);\n var halfY = (H - dotBoxH - topH) / 2;\n var resetX = isMobile ? e.changedTouches[0]['clientX'] : e.clientX;\n var resetY = isMobile ? e.changedTouches[0]['clientY'] : e.clientY;\n var elOffsetWidth = el.offsetWidth;\n var elOffsetHeight = el.offsetHeight;\n var CSSObj = {};\n if (ratio >= 1 && resetX <= halfX + dotBoxW) {\n if (elOffsetWidth >= dotBoxW) {\n CSSObj.width = dotBoxW;\n }\n CSSObj.width = coor.w + resetX - coor.x;\n CSSObj.height = elOffsetWidth * ratioRemainder;\n if (dotBoxW > dotBoxH) {\n if (elOffsetWidth > dotBoxH) {\n CSSObj.height = dotBoxH;\n CSSObj.width = dotBoxH * ratio;\n }\n } else if (dotBoxW < dotBoxH) {\n if (elOffsetWidth > dotBoxW) {\n CSSObj.width = dotBoxW;\n CSSObj.height = dotBoxW * ratioRemainder;\n }\n } else if (elOffsetWidth >= dotBoxW) {\n CSSObj.width = dotBoxW;\n CSSObj.height = dotBoxW * ratioRemainder;\n }\n } else if (ratio < 1 && resetY < halfY + dotBoxH + topH) {\n CSSObj.height = coor.h + resetY - coor.y;\n CSSObj.width = elOffsetHeight * ratio;\n // 限制拖拉的范围在图片内\n if (dotBoxW > dotBoxH) {\n if (elOffsetHeight > dotBoxH) {\n CSSObj.height = dotBoxH;\n CSSObj.width = dotBoxH * ratio;\n }\n } else if (dotBoxW < dotBoxH) {\n if (elOffsetWidth > dotBoxW) {\n CSSObj.width = dotBoxW;\n CSSObj.height = dotBoxW * ratioRemainder;\n }\n } else if (elOffsetWidth > dotBoxW) {\n CSSObj.width = dotBoxW;\n CSSObj.height = dotBoxW * ratioRemainder;\n }\n } else if (ratio === 'auto' && resetY <= halfY + dotBoxH + topH && resetX <= halfY + dotBoxW) {\n CSSObj.height = coor.h + resetY - coor.y;\n CSSObj.width = coor.w + resetX - coor.x;\n } else if (resetX <= halfX + dotBoxW) {\n CSSObj.width = coor.w + resetX - coor.x;\n CSSObj.height = el.style.width;\n // limit the crop box area\n if (dotBoxW > dotBoxH) {\n if (elOffsetHeight > dotBoxH) {\n CSSObj.height = dotBoxH;\n CSSObj.width = dotBoxH;\n }\n } else if (dotBoxW < dotBoxH) {\n if (elOffsetWidth > dotBoxW) {\n CSSObj.width = dotBoxW;\n CSSObj.height = dotBoxW;\n }\n } else if (elOffsetWidth > dotBoxW) {\n CSSObj.width = dotBoxW;\n el.style.height = dotBoxW;\n }\n }\n return CSSObj;\n};\n\n/***/ })\n\n/******/ });\n});","import mod from \"-!../../_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../_vue-loader@15.9.0@vue-loader/lib/loaders/stylePostLoader.js!../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./rotate-bar.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../_vue-loader@15.9.0@vue-loader/lib/loaders/stylePostLoader.js!../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./rotate-bar.vue?vue&type=style&index=0&lang=css&\"","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueCoreImageUpload\"] = factory();\n\telse\n\t\troot[\"VueCoreImageUpload\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 14);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 14:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GIF_LOADING_SRC = 'data:image/gif;base64,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';\n\nexports.default = GIF_LOADING_SRC;\n\n/***/ })\n\n/******/ });\n});","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * simple ajax handler\n **/\n\n//ADD sendAsBinary compatibilty to older browsers\nif (XMLHttpRequest.prototype.sendAsBinary === undefined) {\n XMLHttpRequest.prototype.sendAsBinary = function (string) {\n var bytes = Array.prototype.map.call(string, function (c) {\n return c.charCodeAt(0) & 0xff;\n });\n this.send(new Uint8Array(bytes).buffer);\n };\n}\n\nmodule.exports = function (method, url, headers, data, callback, err, isBinary, withCredentials) {\n\n var r = new XMLHttpRequest();\n var error = err || function () {\n console.error('AJAX ERROR!');\n };\n var boundary = 'webcodeimageupload';\n // Binary?\n var binary = false;\n if (method === 'blob') {\n binary = method;\n method = 'GET';\n }\n method = method.toUpperCase();\n // Xhr.responseType 'json' is not supported in any of the vendors yet.\n r.onload = function () {\n var json = r.response;\n try {\n json = JSON.parse(r.responseText);\n } catch (_e) {\n if (r.status === 401) {\n json = error('access_denied', r.statusText);\n }\n }\n var headers = headersToJSON(r.getAllResponseHeaders());\n headers.statusCode = r.status;\n callback(json || (method === 'GET' ? error('empty_response', 'Could not get resource') : {}), headers);\n };\n r.onerror = function () {\n var json = r.responseText;\n try {\n json = JSON.parse(r.responseText);\n } catch (_e) {\n console.error(_e);\n }\n callback(json || error('access_denied', 'Could not get resource'));\n };\n var x = void 0;\n // Should we add the query to the URL?\n if (method === 'GET' || method === 'DELETE') {\n data = null;\n } else if (isBinary) {\n var keyData = data;\n var code = data.base64Code.replace('data:' + data.type + ';base64,', '');\n data = ['--' + boundary, 'Content-Disposition: form-data; name=\"' + data.filed + '\"; filename=\"' + data.filename + '\"', 'Content-Type: ' + data.type, '', window.atob(code), ''].join('\\r\\n');\n var keyArr = Object.keys(keyData);\n if (keyArr.length > 4) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = keyArr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var k = _step.value;\n\n if (['filed', 'filename', 'type', 'base64Code'].indexOf(k) == -1) {\n data += ['--' + boundary, 'Content-Disposition: form-data; name=\"' + k + '\";', '', ''].join('\\r\\n');\n data += [_typeof(keyData[k]) === 'object' ? JSON.stringify(keyData[k]) : encodeURI(keyData[k]), ''].join('\\r\\n');\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n data += '--' + boundary + '--';\n }\n // Open the path, async\n r.open(method, url, true);\n if (binary) {\n if ('responseType' in r) {\n r.responseType = binary;\n } else {\n r.overrideMimeType('text/plain; charset=x-user-defined');\n }\n }\n // Set any bespoke headers\n if (headers) {\n for (x in headers) {\n r.setRequestHeader(x, headers[x]);\n }\n }\n r.withCredentials = typeof withCredentials === 'undefined' ? true : withCredentials;\n if (isBinary) {\n r.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary);\n return r.sendAsBinary(data);\n }\n\n r.send(data);\n return r;\n // Headers are returned as a string\n function headersToJSON(s) {\n var o = {};\n var reg = /([a-z\\-]+):\\s?(.*);?/gi;\n var m = void 0;\n while (m = reg.exec(s)) {\n o[m[1]] = m[2];\n }\n return o;\n }\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g-core-image-upload-btn\"},[_vm._t(\"default\",[_vm._v(_vm._s(_vm.text))]),_c('form',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hasImage),expression:\"!hasImage\"}],staticClass:\"g-core-image-upload-form\",attrs:{\"method\":\"post\",\"enctype\":\"multipart/form-data\",\"action\":\"\"}},[_c('input',{attrs:{\"disabled\":_vm.uploading,\"name\":_vm.name,\"multiple\":_vm.multiple,\"type\":\"file\",\"accept\":_vm.inputAccept},on:{\"change\":_vm.change,\"dragover\":_vm.dragover,\"dragenter\":_vm.dragover,\"dragleave\":_vm.dragleave,\"dragend\":_vm.dragleave,\"drop\":_vm.dragleave}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasImage),expression:\"hasImage\"}],staticClass:\"g-core-image-corp-container\"},[_c('crop',{ref:\"cropBox\",attrs:{\"is-resize\":_vm.resize && !_vm.crop,\"ratio\":_vm.cropRatio,\"is-rotate\":_vm.rotate}}),_c('div',{staticClass:\"info-aside\"},[_c('p',{staticClass:\"btn-groups rotate-groups\",staticStyle:{\"display\":\"none\"}},[_c('button',{staticClass:\"btn btn-rotate\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.doRotate}},[_vm._v(\"↺\")]),_c('button',{staticClass:\"btn btn-reverserotate\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.doReverseRotate}},[_vm._v(\"↻\")])]),(_vm.crop)?_c('p',{staticClass:\"btn-groups\"},[_c('button',{staticClass:\"btn btn-upload\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.doCrop}},[_vm._v(_vm._s(_vm.cropBtn.ok))]),_c('button',{staticClass:\"btn btn-cancel\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancel}},[_vm._v(_vm._s(_vm.cropBtn.cancel))])]):_vm._e(),(_vm.resize && !_vm.crop)?_c('p',{staticClass:\"btn-groups\"},[_c('button',{staticClass:\"btn btn-upload\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.doResize}},[_vm._v(_vm._s(_vm.ResizeBtn.ok))]),_c('button',{staticClass:\"btn btn-cancel\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancel}},[_vm._v(_vm._s(_vm.ResizeBtn.cancel))])]):_vm._e()])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image-aside\"},[_c('div',{staticClass:\"g-crop-image-box\"},[_c('div',{staticClass:\"g-crop-image-principal\",on:{\"touchstart\":_vm.drag,\":mousedown\":_vm.drag}},[_c('div',{staticClass:\"image-wrap\",style:({ width: _vm.width + 'px',height: _vm.height + 'px', left: _vm.left+ 'px', top: _vm.top + 'px', backgroundImage: 'url(' + _vm.src + ')', cursor: _vm.isResize ? 'default' : 'move'})},[_c('img',{ref:\"crop-image\",staticStyle:{\"width\":\"0\",\"height\":\"0\"},attrs:{\"src\":_vm.src}})]),(!_vm.isResize)?_c('div',{staticClass:\"image-mask\"},[_c('div',{staticClass:\"mask top\",style:({ top:0, height: _vm.cropCSS.top + 'px', left: 0, width: '100%'})}),_c('div',{staticClass:\"mask bottom\",style:({ bottom:0, top: (_vm.cropCSS.top + _vm.cropCSS.height) + 'px', left: 0, width: '100%'})}),_c('div',{staticClass:\"mask left\",style:({top: _vm.cropCSS.top + 'px', height: _vm.cropCSS.height + 'px', left:0, width: _vm.cropCSS.left + 'px'})}),_c('div',{staticClass:\"mask right\",style:({top: _vm.cropCSS.top + 'px', height: _vm.cropCSS.height + 'px', left: (_vm.cropCSS.left + _vm.cropCSS.width) + 'px', right: 0})})]):_vm._e(),(!_vm.isResize)?_c('div',{staticClass:\"crop-box\",style:({top: _vm.cropCSS.top + 'px', left: _vm.cropCSS.left + 'px', height: _vm.cropCSS.height + 'px', width: _vm.cropCSS.width + 'px'})},[_c('div',{staticClass:\"reference-line v\"}),_c('div',{staticClass:\"reference-line h\"}),_c('a',{staticClass:\"g-resize\",on:{\"touchstart\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.resize($event)},\"mousedown\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.resize($event)}}})]):_vm._e()]),(_vm.resize)?_c('resize-bar',{ref:\"resizeBar\",on:{\"resize\":_vm.resizeImage}}):_vm._e(),(_vm.isRotate)?_c('rotate-bar',{on:{\"rotate\":_vm.rotateImage}}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g-resize-bar\"},[_c('div',{staticClass:\"g-resize-highlight\",style:({width: _vm.left + '%',})}),_c('button',{staticClass:\"circle-btn\",style:({left: _vm.left + '%',}),on:{\"touchstart\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.drag($event)},\"mousedown\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.drag($event)}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"g-resize-bar\">\n <div class=\"g-resize-highlight\" :style=\"{width: left + '%',}\"></div>\n <button class=\"circle-btn\" @touchstart.self=\"drag\" @mousedown.self=\"drag\" :style=\"{left: left + '%',}\"></button>\n </div>\n</template>\n\n<style scoped>\n .g-resize-bar{\n position: absolute;\n bottom: 0px;\n margin: 17px auto;\n height: 6px;\n border-radius: 3px;\n width:200px;\n margin-left: -100px;\n left: 50%;\n background-color: #a8f9ca;\n box-shadow: 0 2px 3px -1px rgba(0,0,0,.3);\n }\n .g-resize-highlight{\n position: absolute;\n left: 0;\n top:0;\n height: 6px;\n background-color: #27ae60;\n border-radius: 3px;\n }\n .circle-btn{\n display: block;\n position: absolute;\n left:0;\n top: -5px;\n width: 14px;\n height: 14px;\n margin-left: -7px;\n background-color: #fff;\n border-radius: 7px;\n box-shadow: 0 2px 3px -2px rgba(0,0,0,.6), 0 -2px 3px -2px rgba(0,0,0,.55);\n border-width: 0;\n }\n</style>\n\n<script>\nimport helper from './lib/helper';\nimport drag from './lib/drag';\n\nexport default {\n props: {\n minProgress: {\n type:[Number, String],\n default: 0,\n }\n\n },\n data() {\n return {\n progress: 100,\n left: 100,\n }\n },\n\n methods: {\n setProgress(num) {\n this.left = num;\n },\n\n drag(e) {\n e.preventDefault();\n e.stopPropagation();\n const $el = e.target;\n this.el = $el;\n const $container = this.$el.parentElement;\n const self = this;\n const isMobile = helper.isMobile;\n const width = 200;\n const coor = {\n x: (isMobile ? e.touches[0]['clientX'] : e.clientX) - $el.offsetLeft,\n y: (isMobile ? e.touches[0]['clientY'] : e.clientY) - $el.offsetTop,\n maxLeft: width,\n maxTop: parseInt($container.style.height) - parseInt($el.style.height),\n minLeft: 0,\n minTop: 0,\n };\n const move = function (ev) {\n const newCoor = drag(ev, self.el, coor);\n if (newCoor) {\n if((newCoor.left / width) < self.minProgress) {\n return;\n }\n self.progress = (newCoor.left-width/2) / width;\n self.left = newCoor.left / width * 100;\n\n self.$emit('resize', self.progress);\n }\n };\n const stopMove = function (ev) {\n self.el = null;\n if (isMobile) {\n document.removeEventListener('touchmove', move, false);\n document.removeEventListener('touchend', stopMove, false);\n return;\n }\n document.removeEventListener('mousemove', move, false);\n document.removeEventListener('mouseup', stopMove, false);\n };\n if (isMobile) {\n document.addEventListener('touchmove', move, false);\n document.addEventListener('touchend', stopMove, false);\n return;\n }\n document.addEventListener('mousemove', move, false);\n document.addEventListener('mouseup', stopMove, false);\n }\n\n },\n\n\n};\n</script>\n","import mod from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./resize-bar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./resize-bar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./resize-bar.vue?vue&type=template&id=6844435b&scoped=true&\"\nimport script from \"./resize-bar.vue?vue&type=script&lang=js&\"\nexport * from \"./resize-bar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./resize-bar.vue?vue&type=style&index=0&id=6844435b&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../_vue-loader@15.9.0@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6844435b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g-rotate-bar\"},[_c('a',{attrs:{\"href\":\"javascript:;\"},on:{\"click\":_vm.rotateLeft}},[_c('svg',{staticClass:\"svg-icon\",attrs:{\"viewBox\":\"0 0 481.95 481.95\"}},[_c('path',{attrs:{\"d\":\"M281.7,243.8V138.2c75.9,13.5,135.4,78.6,135.4,159.8s-59.6,146.3-135.4,159.8V512\\n c105.7-13.5,189.6-102.9,189.6-214s-84-200.5-189.6-214V0L159.8,121.9L281.7,243.8z M94.8,270.9c2.7-24.4,13.5-46.1,27.1-67.7\\n L84,165.2C59.6,197.8,46.1,233,40.6,270.9H94.8z M159.8,430.7l-37.9,37.9c32.5,24.4,67.7,37.9,105.7,43.3v-54.2\\n C203.2,455.1,181.5,444.3,159.8,430.7z M94.8,325.1H40.6c2.7,37.9,19,73.1,43.3,105.7l37.9-37.9\\n C108.4,371.1,97.5,349.5,94.8,325.1z\",\"fill\":\"#27ae60\"}})])]),_c('a',{attrs:{\"href\":\"javascript:;\"},on:{\"click\":_vm.rotateRight}},[_c('svg',{staticClass:\"svg-icon\",attrs:{\"viewBox\":\"0 0 481.95 481.95\"}},[_c('path',{attrs:{\"d\":\"M331.5,114.75L216.75,0v79.05C117.3,91.8,38.25,175.95,38.25,280.5s79.05,188.7,178.5,201.45v-51 C145.35,418.2,89.25,357,89.25,280.5s56.1-137.7,127.5-150.45v99.45L331.5,114.75z M443.7,255 c-5.101-35.7-17.851-68.85-40.8-99.45l-35.7,35.7c12.75,20.4,22.95,40.8,25.5,63.75H443.7z M267.75,430.95v51 c35.7-5.101,68.85-17.851,99.45-40.8l-35.7-35.7C311.1,418.2,290.7,428.4,267.75,430.95z M367.2,369.75l35.7,35.7 c22.949-30.601,38.25-63.75,40.8-99.45h-51C390.15,328.95,379.95,349.35,367.2,369.75z\",\"fill\":\"#27ae60\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"g-rotate-bar\">\n <a href=\"javascript:;\" @click=\"rotateLeft\">\n <svg class=\"svg-icon\" viewBox=\"0 0 481.95 481.95\">\n <path d=\"M281.7,243.8V138.2c75.9,13.5,135.4,78.6,135.4,159.8s-59.6,146.3-135.4,159.8V512\n c105.7-13.5,189.6-102.9,189.6-214s-84-200.5-189.6-214V0L159.8,121.9L281.7,243.8z M94.8,270.9c2.7-24.4,13.5-46.1,27.1-67.7\n L84,165.2C59.6,197.8,46.1,233,40.6,270.9H94.8z M159.8,430.7l-37.9,37.9c32.5,24.4,67.7,37.9,105.7,43.3v-54.2\n C203.2,455.1,181.5,444.3,159.8,430.7z M94.8,325.1H40.6c2.7,37.9,19,73.1,43.3,105.7l37.9-37.9\n C108.4,371.1,97.5,349.5,94.8,325.1z\" fill=\"#27ae60\" />\n </svg>\n </a>\n <a href=\"javascript:;\" @click=\"rotateRight\">\n <svg class=\"svg-icon\" viewBox=\"0 0 481.95 481.95\">\n \t\t<path d=\"M331.5,114.75L216.75,0v79.05C117.3,91.8,38.25,175.95,38.25,280.5s79.05,188.7,178.5,201.45v-51 C145.35,418.2,89.25,357,89.25,280.5s56.1-137.7,127.5-150.45v99.45L331.5,114.75z M443.7,255 c-5.101-35.7-17.851-68.85-40.8-99.45l-35.7,35.7c12.75,20.4,22.95,40.8,25.5,63.75H443.7z M267.75,430.95v51 c35.7-5.101,68.85-17.851,99.45-40.8l-35.7-35.7C311.1,418.2,290.7,428.4,267.75,430.95z M367.2,369.75l35.7,35.7 c22.949-30.601,38.25-63.75,40.8-99.45h-51C390.15,328.95,379.95,349.35,367.2,369.75z\" fill=\"#27ae60\"/>\n </svg>\n </a>\n </div>\n</template>\n\n<style>\n.g-rotate-bar{\n position: absolute;\n bottom: 30px;\n left: 0;\n right: 0;\n text-align: center;\n}\n.g-rotate-bar .svg-icon{\n display: inline-block;\n width: 1.2em;\n height: 1.2em;\n margin: 0 2em;\n}\n</style>\n\n<script>\nexport default {\n data() {\n return {\n rotateDegree: 0,\n }\n },\n\n methods: {\n rotateRight() {\n this.rotateDegree += 90;\n this.$emit('rotate', this.rotateDegree);\n },\n\n rotateLeft() {\n this.rotateDegree -= 90;\n this.$emit('rotate', this.rotateDegree);\n },\n }\n};\n\n</script>\n","import mod from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./rotate-bar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./rotate-bar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./rotate-bar.vue?vue&type=template&id=411d2bc2&\"\nimport script from \"./rotate-bar.vue?vue&type=script&lang=js&\"\nexport * from \"./rotate-bar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./rotate-bar.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../_vue-loader@15.9.0@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n<div class=\"image-aside\">\n <div class=\"g-crop-image-box\" >\n <div class=\"g-crop-image-principal\" @touchstart=\"drag\" @:mousedown=\"drag\">\n <div class=\"image-wrap\" :style=\"{ width: width + 'px',height: height + 'px', left: left+ 'px', top: top + 'px', backgroundImage: 'url(' + src + ')', cursor: isResize ? 'default' : 'move'}\">\n <img ref=\"crop-image\" style=\"width:0;height:0;\" :src=\"src\" />\n </div>\n <div class=\"image-mask\" v-if=\"!isResize\">\n <div class=\"mask top\" :style=\"{ top:0, height: cropCSS.top + 'px', left: 0, width: '100%'}\"></div>\n <div class=\"mask bottom\" :style=\"{ bottom:0, top: (cropCSS.top + cropCSS.height) + 'px', left: 0, width: '100%'}\"></div>\n <div class=\"mask left\" :style=\"{top: cropCSS.top + 'px', height: cropCSS.height + 'px', left:0, width: cropCSS.left + 'px'}\"></div>\n <div class=\"mask right\" :style=\"{top: cropCSS.top + 'px', height: cropCSS.height + 'px', left: (cropCSS.left + cropCSS.width) + 'px', right: 0}\"></div>\n </div>\n <div class=\"crop-box\" v-if=\"!isResize\" :style=\"{top: cropCSS.top + 'px', left: cropCSS.left + 'px', height: cropCSS.height + 'px', width: cropCSS.width + 'px'}\">\n <div class=\"reference-line v\"></div>\n <div class=\"reference-line h\"></div>\n <a class=\"g-resize\" @touchstart.self=\"resize\" @mousedown.self=\"resize\"></a>\n </div>\n </div>\n <resize-bar v-if=\"resize\" ref=\"resizeBar\" @resize=\"resizeImage\"></resize-bar>\n <rotate-bar v-if=\"isRotate\" @rotate=\"rotateImage\"></rotate-bar>\n </div>\n</div>\n</template>\n\n<style src=\"./style/crop.css\" scoped>\n</style>\n\n<script>\nimport daycaca from 'daycaca';\nimport drag from './lib/drag';\nimport resize from './lib/resize';\nimport GIF_LOADING_SRC from './lib/loading-gif';\nimport helper from './lib/helper';\nimport ResizeBar from './resize-bar.vue';\nimport RotateBar from './rotate-bar.vue';\n// set cropbox size in image\nconst CROPBOX_PERCENT = 75;\nconst isMobile = helper.isMobile;\nconst areaWidth = window.innerWidth - 60;\nconst areaHeight = window.innerHeight - 110;\nexport default {\n components: {\n ResizeBar,\n RotateBar,\n },\n props: {\n ratio: {\n type: String,\n default: '1:1'\n },\n minWidth: {\n type: Number,\n default: 50,\n },\n minHeight: {\n type: Number,\n default: 50,\n },\n isResize: {\n type: [Boolean],\n default: false,\n },\n isRotate: {\n type: [Boolean],\n default: true,\n }\n },\n\n data() {\n return {\n src: GIF_LOADING_SRC,\n width: 24,\n height: 24,\n initWidth: 24,\n initHeight: 24,\n left: 0,\n top: 0,\n cropCSS: {\n\n }\n }\n },\n\n methods: {\n setImage(src, w, h) {\n this.src = src;\n if (!this.originSrc) {\n this.setOriginalSrc(this.src);\n }\n if (this.ratio.indexOf(':') > 0) {\n this.ratioW = this.ratio.split(':')[0];\n this.ratioH = this.ratio.split(':')[1];\n this.ratioVal = this.ratioW / this.ratioH;\n } else {\n this.ratioW = 1;\n this.ratioH = 1;\n this.ratioVal = this.ratio;\n }\n this.natrualWidth = w;\n this.natrualHeight = h;\n this.setLayout(w, h);\n const resizeBar = this.$refs.resizeBar;\n if (this.isResize) {\n resizeBar.setProgress(100);\n } else {\n resizeBar.setProgress(50);\n }\n return this.imgChangeRatio;\n },\n\n setOriginalSrc(src) {\n this.originSrc = src;\n },\n\n resizeImage(progress) {\n let w,\n h;\n if (this.isResize) {\n w = this.natrualWidth * this.imgChangeRatio * progress;\n h = this.natrualHeight * this.imgChangeRatio * progress;\n } else {\n w = this.initWidth + progress * (this.natrualWidth - this.initWidth);\n h = this.initHeight + progress * (this.natrualHeight - this.initHeight);\n }\n if (w <= this.minWidth || h < this.minHeight) {\n return;\n }\n this.left += (this.width - w) / 2;\n this.top += (this.height - h) / 2;\n this.width = w;\n this.height = h;\n this.imgChangeRatio = this.width / this.natrualWidth;\n },\n\n rotateImage(degress) {\n const data = daycaca.rotate2(this.originSrc, degress, (data, w, h) => {\n this.setImage(data, w, h);\n });\n //this.src = src;\n },\n\n setLayout(w, h) {\n let H = areaHeight,\n W = areaWidth,\n width = w,\n height = h,\n marginLeft = 0,\n marginTop = 0;\n // caculate the image ratio\n let R = width / height;\n let Rs = W / H;\n if (R > Rs) {\n height = H;\n width = H * R;\n marginLeft = (W - H * R) / 2;\n } else {\n width = H * R,\n height = H;\n marginLeft = (W - H * R) / 2;\n }\n this._setStyle(width, height, marginLeft, marginTop, R, true);\n },\n\n _setStyle(w, h, ml, mt, r, isInit) {\n const $container = this.$el.querySelector('.g-crop-image-principal');\n if(!isInit) {\n this.marginLeft = this.marginLeft + (this.width - w) / 2;\n this.marginTop = this.marginTop + (this.height - h) / 2;\n }\n $container.style.cssText = 'width:' + w + 'px;height:' + h + 'px;margin-left:'\n + ml + 'px;' + 'margin-top:' + mt + 'px';\n this.setCropBox(w, h);\n if (this.isResize) {\n this.width = w;\n this.height = h;\n } else {\n if (r >= this.cropCSS.width/this.cropCSS.height) {\n this.height = this.cropCSS.height;\n this.width = this.height * r;\n } else {\n this.width = this.cropCSS.width;\n this.height = this.width / r;\n }\n this.initWidth = this.width;\n this.initHeight = this.height;\n this.left = (w - this.width) / 2;\n this.top = (h - this.height) / 2;\n }\n this.imgChangeRatio = this.width / this.natrualWidth;\n },\n\n setCropBox(w, h, r) {\n if (this.isResize) {\n return;\n }\n let $selectCropBox = this.__find('.crop-box');\n let $wrap = this.$el;\n let imageWidth = w,\n imageHeight = h,\n ratioW = this.ratioW,\n ratioH = this.ratioH;\n let cropWidth = imageWidth;\n if (areaWidth < w) {\n cropWidth = areaWidth;\n }\n const baseCropWidth = (cropWidth / 100) * CROPBOX_PERCENT;\n const CSSObj = {\n width: baseCropWidth,\n height: (baseCropWidth / ratioW) * ratioH,\n }\n CSSObj.left = (imageWidth - baseCropWidth) / 2;\n CSSObj.top = (imageHeight - CSSObj.height) / 2;\n $selectCropBox.style.cssText = helper.setCssText(CSSObj);\n if (CSSObj.height > imageHeight) {\n const baseCropHeight = (imageHeight / 100) * CROPBOX_PERCENT\n CSSObj.height = baseCropHeight;\n CSSObj.width = (CSSObj.height * ratioW) / ratioH;\n CSSObj.left = (imageWidth - CSSObj.width) / 2,\n CSSObj.top = (imageHeight - CSSObj.height) / 2,\n $selectCropBox.style.cssText = helper.setCssText(CSSObj);\n };\n this.cropCSS = CSSObj;\n\n },\n\n getCropData() {\n // keep compatible with old api\n if (this.isResize) {\n return {\n imgChangeRatio: this.imgChangeRatio,\n x: 0,\n y: 0,\n w: this.natrualWidth,\n h: this.natrualHeight,\n };\n }\n return {\n x: (this.cropCSS.left - this.left) / this.imgChangeRatio,\n y: (this.cropCSS.top - this.top) / this.imgChangeRatio,\n w: this.cropCSS.width / this.imgChangeRatio,\n h: this.cropCSS.height / this.imgChangeRatio,\n };\n },\n\n getCropImage() {\n return this.$refs['crop-image'];\n },\n\n __find(str) {\n let dq = this.$el;\n return dq.querySelector(str);\n },\n // resize and drag move\n resize(e) {\n e.stopPropagation();\n if (!this.ratio.indexOf(':')) {\n return;\n }\n let $el = e.target.parentElement;\n let $container = this.__find('.g-crop-image-principal');\n if (this._$container) {\n this._$container = container;\n }\n const self = this;\n const coor = {\n x: helper.isMobile ? e.touches[0].clientX : e.clientX,\n y: helper.isMobile ? e.touches[0].clientY : e.clientY,\n w: $el.offsetWidth,\n h: $el.offsetHeight,\n };\n this.el = $el;\n this.container = $container;\n const maxCoor = this._getMaxCropAreaWidth();\n const move = function (ev) {\n const newCropStyle = resize(ev, self.el, $container, coor, self.ratioVal);\n if (newCropStyle && (newCropStyle.width <= maxCoor.maxWidth || newCropStyle.height <= maxCoor.maxHeight)) {\n self.cropCSS.width = newCropStyle.width;\n self.cropCSS.height = newCropStyle.height;\n }\n };\n const end = function (ev) {\n this.el = null;\n if (helper.isMobile) {\n document.removeEventListener('touchmove', move, false);\n document.removeEventListener('touchend', end, false);\n }\n document.removeEventListener('mousemove', move, false);\n document.removeEventListener('mouseup', end, false);\n };\n if (helper.isMobile) {\n document.addEventListener('touchmove', move, false);\n document.addEventListener('touchend', end, false);\n }\n document.addEventListener('mousemove', move, false);\n document.addEventListener('mouseup', end, false);\n },\n\n _getMaxCropAreaWidth() {\n const $cropBox = this.__find('.crop-box');\n if (this.width > this.height) {\n return {\n maxWidth: this.height * this.ratioW / this.ratioH,\n maxHeight: this.height,\n }\n }\n return {\n maxWidth: this.width,\n maxHeight: this.width * this.ratioH / this.ratioW,\n };\n },\n\n drag(e) {\n e.preventDefault();\n const $el = this.__find('.image-wrap');\n this.el = $el;\n const $cropBox = this.__find('.crop-box');\n const $container = e.currentTarget;\n const self = this;\n const isMobile = helper.isMobile;\n const coor = {\n x: (isMobile ? e.touches[0]['clientX'] : e.clientX) - $el.offsetLeft,\n y: (isMobile ? e.touches[0]['clientY'] : e.clientY) - $el.offsetTop,\n maxLeft: $cropBox.offsetLeft,\n maxTop: $cropBox.offsetTop,\n minLeft: ($cropBox.offsetWidth + $cropBox.offsetLeft) - $el.offsetWidth,\n minTop: ($cropBox.offsetHeight + $cropBox.offsetTop) - $el.offsetHeight,\n };\n const move = function (ev) {\n const newCropStyle = drag(ev, self.el, coor);\n if (newCropStyle) {\n self.left = newCropStyle.left;\n self.top = newCropStyle.top;\n }\n };\n const stopMove = function (ev) {\n self.el = null;\n if (isMobile) {\n document.removeEventListener('touchmove', move, false);\n document.removeEventListener('touchend', stopMove, false);\n return;\n }\n document.removeEventListener('mousemove', move, false);\n document.removeEventListener('mouseup', stopMove, false);\n };\n if (isMobile) {\n document.addEventListener('touchmove', move, false);\n document.addEventListener('touchend', stopMove, false);\n return;\n }\n document.addEventListener('mousemove', move, false);\n document.addEventListener('mouseup', stopMove, false);\n },\n },\n\n}\n</script>\n","import mod from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./crop.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./crop.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./crop.vue?vue&type=template&id=7616bef4&scoped=true&\"\nimport script from \"./crop.vue?vue&type=script&lang=js&\"\nexport * from \"./crop.vue?vue&type=script&lang=js&\"\nimport style0 from \"./style/crop.css?vue&type=style&index=0&id=7616bef4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../_vue-loader@15.9.0@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7616bef4\",\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"g-core-image-upload-btn\">\n <slot>{{text}}</slot>\n <form class=\"g-core-image-upload-form\" v-show=\"!hasImage\" method=\"post\" enctype=\"multipart/form-data\" action=\"\" style=\"\">\n <input\n :disabled=\"uploading\"\n :name=\"name\"\n :multiple=\"multiple\"\n type=\"file\"\n :accept=\"inputAccept\"\n @change=\"change\"\n @dragover=\"dragover\"\n @dragenter=\"dragover\"\n @dragleave=\"dragleave\"\n @dragend=\"dragleave\"\n @drop=\"dragleave\" />\n </form>\n <div class=\"g-core-image-corp-container\" v-show=\"hasImage\">\n <crop\n ref=\"cropBox\"\n :is-resize=\"resize && !crop\"\n :ratio=\"cropRatio\"\n :is-rotate=\"rotate\">\n </crop>\n <div class=\"info-aside\">\n <p class=\"btn-groups rotate-groups\" style=\"display:none\">\n <button type=\"button\" @click=\"doRotate\" class=\"btn btn-rotate\">↺</button>\n <button type=\"button\" @click=\"doReverseRotate\" class=\"btn btn-reverserotate\">↻</button>\n </p>\n <p class=\"btn-groups\" v-if=\"crop\">\n <button type=\"button\" @click=\"doCrop\" class=\"btn btn-upload\">{{cropBtn.ok}}</button>\n <button type=\"button\" @click=\"cancel\" class=\"btn btn-cancel\">{{cropBtn.cancel}}</button>\n </p>\n <p class=\"btn-groups\" v-if=\"resize && !crop\">\n <button type=\"button\" @click=\"doResize\" class=\"btn btn-upload\">{{ResizeBtn.ok}}</button>\n <button type=\"button\" @click=\"cancel\" class=\"btn btn-cancel\">{{ResizeBtn.cancel}}</button>\n </p>\n </div>\n </div>\n </div>\n</template>\n\n<style src=\"./style/style.css\">\n</style>\n\n<script>\n import xhr from 'core-image-xhr';\n import daycaca from 'daycaca';\n import GIF_LOADING_SRC from './lib/loading-gif';\n import props from './props';\n import Crop from './crop.vue';\n import ResizeBar from './resize-bar.vue';\n // remember the overflow value\n let overflowVal = '';\n export default {\n components: {\n Crop,\n ResizeBar\n },\n props: props,\n data() {\n return {\n files: [],\n hasImage: false,\n options: this.props,\n uploading: false,\n image:{\n src: GIF_LOADING_SRC,\n width:24,\n height:24,\n minProgress: 0.05,\n },\n }\n },\n\n computed: {\n name() {\n if(this.multiple) {\n return this.inputOfFile + '[]';\n }\n return this.inputOfFile;\n }\n },\n\n methods: {\n __dispatch(name,res, data) {\n this.$emit && this.$emit(name, res, data);\n },\n\n __find(el) {\n return this.$el.querySelector(el);\n },\n\n dragover() {\n this.$el.classList.add('is-dragover');\n },\n\n dragleave() {\n let element = this.$refs.container;\n this.$el.classList.remove('is-dragover');\n },\n\n change(e) {\n let fileVal = e.target.value.replace(/C:\\\\fakepath\\\\/i, \"\");\n let fileExt = fileVal.substring(fileVal.lastIndexOf(\".\") + 1);\n const extensionsArr = this.extensions.split(',');\n if(extensionsArr.length>1) {\n var reg = new RegExp('^[' + extensionsArr.join('|') + ']+$','i');\n if (!reg.test(fileExt)) {\n return this.__dispatch('errorhandle','TYPE ERROR');\n }\n }\n if (e.target.files[0].size > this.maxFileSize) {\n var formatSize;\n if (parseInt(this.maxFileSize / 1024 / 1024) > 0) {\n formatSize = (this.maxFileSize / 1024 / 1024).toFixed(2) + 'MB';\n } else if (parseInt(this.maxFileSize / 1024) > 0) {\n formatSize = (this.maxFileSize / 1024).toFixed(2) + 'kB';\n } else {\n formatSize = options.maxFileSize.toFixed(2) + 'Byte';\n }\n console.warn('FILE IS TOO LARGER MAX FILE IS ' + formatSize);\n return this.__dispatch('errorhandle','FILE IS TOO LARGER MAX FILE IS ' + formatSize);\n }\n\n if (this.multipleSize > 0 && e.target.files.length > this.multipleSize) {\n console.warn('FILE NUM IS LARGER THAN ' + this.multipleSize);\n return this.__dispatch('errorhandle', 'FILE NUM OVERLOAD');\n }\n\n this.files = e.target.files;\n if (this.crop || this.resize) {\n this.__showImage();\n return;\n }\n const file = this.files.length > 1 ? this.files : this.files[0];\n this. __dispatch('imagechanged', file);\n if (this.compress && this.files[0]['type'] !== 'image/png' && this.files[0]['type'] !== 'image/gif') {\n daycaca.compress(file, 100 - this.compress, (code) => {\n this.tryAjaxUpload('', true, code);\n });\n } else {\n this.tryAjaxUpload();\n }\n },\n\n __showImage() {\n this.hasImage = true;\n this.__readFiles();\n },\n\n __readFiles() {\n let reader = new FileReader();\n let self = this;\n reader.onload = function(e) {\n let src = e.target.result;\n overflowVal = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n self.__initImage(src);\n }\n reader.readAsDataURL(this.files[0]);\n },\n\n // set the image size\n __initImage(src) {\n let pic = new Image();\n let self = this;\n pic.src = src;\n const cropBox = this.$refs.cropBox;\n pic.onload= function() {\n self.image.minProgress = self.minWidth / pic.naturalWidth;\n daycaca.init(src, (src) => {\n self.imgChangeRatio = cropBox.setImage(src, pic.naturalWidth, pic.naturalHeight);\n });\n }\n },\n\n resizeImage(progress) {\n const cropBox = this.$refs.cropBox;\n cropBox.resizeImage(progress);\n },\n\n doRotate(e) {\n let self = this;\n const cropBox = this.$refs.cropBox;\n const targetImage = cropBox.getCropImage();\n this.data.compress = 100 - this.compress;\n return daycaca.rotate(targetImage, 1, (src) => {\n self.__initImage(src)\n })\n },\n\n doReverseRotate(e) {\n let self = this;\n const cropBox = this.$refs.cropBox;\n const targetImage = cropBox.getCropImage();\n this.data.compress = 100 - this.compress;\n return daycaca.rotate(targetImage, -1, (src) => {\n self.__initImage(src)\n })\n },\n\n doCrop(e) {\n this.__setData('crop');\n const cropBox = this.$refs.cropBox;\n const upload = this.__setUpload(e.target);\n if (this.crop === 'local') {\n const targetImage = cropBox.getCropImage();\n this.data.compress = 100 - this.compress;\n return daycaca.crop(targetImage, this.data, (code) => {\n upload(code);\n this.__dispatch('imagechanged', code);\n })\n }\n upload();\n },\n\n doResize(e) {\n this.__setData('resize');\n const cropBox = this.$refs.cropBox;\n const upload = this.__setUpload(e.target);\n if (this.resize === 'local') {\n const targetImage = cropBox.getCropImage();\n this.data.compress = 100 - this.compress;\n return daycaca.resize(targetImage, this.data, (code) => {\n upload(code);\n this.__dispatch('imagechanged', code);\n })\n }\n upload();\n },\n\n __setData(type) {\n if (typeof this.data !== 'object') {\n this.data = {};\n }\n this.data[\"request\"] = type;\n const cropBox = this.$refs.cropBox;\n const newCSSObj = cropBox.getCropData();\n for (const k of Object.keys(newCSSObj)) {\n this.data[k] = newCSSObj[k];\n }\n if (this.maxWidth) {\n this.data['maxWidth'] = this.maxWidth;\n }\n if (this.maxHeight) {\n this.data['maxHeight'] = this.maxHeight;\n }\n if (this.minWidth) {\n this.data['minWidth'] = this.minWidth;\n }\n if (this.minHeight) {\n this.data['minHeight'] = this.minHeight;\n }\n if (this.fixedWidth) {\n this.data['fixedWidth'] = this.fixedWidth;\n }\n if (this.fixedHeight) {\n this.data['fixedHeight'] = this.fixedHeight;\n }\n },\n\n __setUpload(btn) {\n btn.value = btn.value + '...';\n btn.disabled = true;\n const upload = (code) => {\n this.tryAjaxUpload(() => {\n btn.value = btn.value.replace('...','');\n btn.disabled = false;\n }, code ? true: false, code);\n };\n return upload;\n },\n\n cancel() {\n this.hasImage = false;\n document.body.style.overflow = overflowVal;\n this.files = '';\n const cropBox = this.$refs.cropBox;\n cropBox.setOriginalSrc(null);\n this.$input.value = '';\n },\n\n // use ajax upload IE10+\n tryAjaxUpload(callback, isBinary, base64Code) {\n const self = this;\n this. __dispatch('imageuploading',this.files[0]);\n const done = function(res) {\n if(typeof callback === 'function') {\n callback();\n }\n self.uploading = false;\n self.cancel();\n self.__dispatch('imageuploaded',res, self.data);\n };\n const errorUpload = function(err) {\n self.__dispatch('errorhandle', err);\n };\n if (!this.isXhr) {\n if(this.crop) {\n this.hasImage = false;\n }\n console.log(base64Code)\n return done({\n src: base64Code\n });\n }\n let data;\n if (isBinary) {\n data = {\n type: this.files[0]['type'],\n filename: this.files[0]['name'],\n filed: this.inputOfFile,\n base64Code: base64Code\n };\n if (typeof this.data === 'object') {\n data = Object.assign(this.data, data);\n }\n } else {\n data = new FormData();\n for (let i=0;i<this.files.length;i++) {\n data.append(this.name, this.files[i]);\n }\n if (typeof this.data === 'object') {\n for(let k in this.data) {\n if(this.data[k] !== undefined) {\n data.append(k,this.data[k]);\n }\n }\n }\n }\n xhr('POST',this.url, this.headers, data, done, errorUpload, isBinary, this.credentials);\n },\n },\n mounted() {\n this.$input = this.__find('input');\n }\n\n };\n\n</script>\n","import mod from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./vue-core-image-upload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./vue-core-image-upload.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vue-core-image-upload.vue?vue&type=template&id=6524d2b2&\"\nimport script from \"./vue-core-image-upload.vue?vue&type=script&lang=js&\"\nexport * from \"./vue-core-image-upload.vue?vue&type=script&lang=js&\"\nimport style0 from \"./style/style.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../_vue-loader@15.9.0@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueCoreImageUpload\"] = factory();\n\telse\n\t\troot[\"VueCoreImageUpload\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n\n isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),\n\n /**\n * transform object to css text\n */\n setCssText: function setCssText(obj) {\n var cssArr = [];\n Object.keys(obj).forEach(function (key) {\n var val = obj[key];\n if (typeof val === 'number') {\n val = '' + val + 'px';\n }\n cssArr.push(key + ': ' + val + ';');\n });\n return cssArr.join('');\n },\n isFunction: function isFunction(fn) {\n return typeof fn === 'function';\n }\n};\n\n/***/ })\n/******/ ]);\n});","import mod from \"-!../../_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../_vue-loader@15.9.0@vue-loader/lib/loaders/stylePostLoader.js!../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./resize-bar.vue?vue&type=style&index=0&id=6844435b&scoped=true&lang=css&\"; export default mod; export * from \"-!../../_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../_vue-loader@15.9.0@vue-loader/lib/loaders/stylePostLoader.js!../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.0@vue-loader/lib/index.js??vue-loader-options!./resize-bar.vue?vue&type=style&index=0&id=6844435b&scoped=true&lang=css&\""],"sourceRoot":""}