From b5abe3054241efd80bc5ce2dd536033d522f64ce Mon Sep 17 00:00:00 2001 From: lianyue Date: Sat, 23 Jan 2021 16:58:08 +0800 Subject: [PATCH] fix beforeUnmount watchActive --- dist/vue-upload-component.js | 6 ++++-- dist/vue-upload-component.js.map | 2 +- dist/vue-upload-component.min.js | 4 ++-- dist/vue-upload-component.min.js.map | 2 +- dist/vue-upload-component.part.js | 6 ++++-- dist/vue-upload-component.part.js.map | 2 +- dist/vue-upload-component.ssr.js | 4 +++- dist/vue-upload-component.ssr.js.map | 2 +- docs/dist/docs.js | 2 +- docs/dist/docs.js.LICENSE.txt | 4 ++-- docs/dist/docs.js.map | 2 +- package.json | 2 +- src/FileUpload.vue | 2 ++ 13 files changed, 24 insertions(+), 16 deletions(-) diff --git a/dist/vue-upload-component.js b/dist/vue-upload-component.js index dd2d3d3..b3c07a6 100644 --- a/dist/vue-upload-component.js +++ b/dist/vue-upload-component.js @@ -1,7 +1,7 @@ /*! Name: vue-upload-component Component URI: https://github.com/lian-yue/vue-upload-component#readme -Version: 3.0.47 +Version: 3.0.49 Author: LianYue License: Apache-2.0 Description: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter @@ -864,7 +864,9 @@ Description: Vue.js file upload component, Multi-file upload, Upload directory, this.active = false; // 销毁拖拽事件 - this.watchDrop(false); + this.watchDrop(false); // 销毁不激活 + + this.watchActive(false); }, computed: { /** diff --git a/dist/vue-upload-component.js.map b/dist/vue-upload-component.js.map index 4922ec2..d1adeb8 100644 --- a/dist/vue-upload-component.js.map +++ b/dist/vue-upload-component.js.map @@ -1 +1 @@ -{"version":3,"file":"vue-upload-component.js","sources":["vue-upload-component.js"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { _ownKeys(Object(source), true).forEach(function (key) { _defineProperty2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { defineComponent, openBlock, createBlock, renderSlot, createVNode, createCommentVNode } from 'vue';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\nvar createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n};\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\nvar sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n};\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\nvar sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n};\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\nfunction request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n}\n\nvar ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"createChunks\",\n\n /**\n * Creates all the chunks in the initial state\n */\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this2.file.response = res;\n return _this2.reject('server');\n }\n\n _this2.sessionId = res.data.session_id;\n _this2.chunkSize = res.data.end_offset;\n\n _this2.createChunks();\n\n _this2.startChunking();\n }).catch(function (res) {\n _this2.file.response = res;\n\n _this2.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this3 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n }\n\n _this3.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n\n _this3.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this4 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this4.file.response = res;\n\n if (res.status !== 'success') {\n return _this4.reject('server');\n }\n\n _this4.resolve(res);\n }).catch(function (res) {\n _this4.file.response = res;\n\n _this4.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this5 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this5.progress / 100 * _this5.fileSize;\n _this5.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }, {\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this6 = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this6.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n }]);\n\n return ChunkUploadHandler;\n}();\n\nvar CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n};\nvar script = defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\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 timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive() {\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(addFiles));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n var maximumValue = this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n entry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + entry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + entry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = entry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + entry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions) {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size) {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // @ts-ignore\n\n\n form.append(this.name, file.file, file.file.name || file.file.filename || file.name);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDragenter, false);\n document.removeEventListener('dragleave', this.onDragleave, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n // @ts-ignore\n el = this.$parent.$el;\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDragenter, false);\n document.addEventListener('dragleave', this.onDragleave, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n onDragenter: function onDragenter(e) {\n var _dt$files, _dt$types;\n\n e.preventDefault();\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n },\n onDragleave: function onDragleave(e) {\n e.preventDefault();\n\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target.nodeName === 'HTML' || e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n }\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n var target = e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"span\", {\n class: _ctx.className\n }, [renderSlot(_ctx.$slots, \"default\"), createVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, [\"for\"]), !_ctx.reload ? (openBlock(), createBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.directory && _ctx.features.directory,\n allowdirs: _ctx.directory && _ctx.features.directory,\n directory: _ctx.directory && _ctx.features.directory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[1] || (_cache[1] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"])) : createCommentVNode(\"\", true)], 2);\n}\n\nfunction styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input, .file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input, .file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\";\nstyleInject(css_248z);\nscript.render = render;\nexport default script;\n//# sourceMappingURL=vue-upload-component.js.map\n"],"names":["defineComponent","openBlock","createBlock","renderSlot","createVNode","createCommentVNode"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.js","sources":["vue-upload-component.js"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { _ownKeys(Object(source), true).forEach(function (key) { _defineProperty2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { defineComponent, openBlock, createBlock, renderSlot, createVNode, createCommentVNode } from 'vue';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\nvar createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n};\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\nvar sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n};\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\nvar sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n};\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\nfunction request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n}\n\nvar ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"createChunks\",\n\n /**\n * Creates all the chunks in the initial state\n */\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this2.file.response = res;\n return _this2.reject('server');\n }\n\n _this2.sessionId = res.data.session_id;\n _this2.chunkSize = res.data.end_offset;\n\n _this2.createChunks();\n\n _this2.startChunking();\n }).catch(function (res) {\n _this2.file.response = res;\n\n _this2.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this3 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n }\n\n _this3.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n\n _this3.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this4 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this4.file.response = res;\n\n if (res.status !== 'success') {\n return _this4.reject('server');\n }\n\n _this4.resolve(res);\n }).catch(function (res) {\n _this4.file.response = res;\n\n _this4.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this5 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this5.progress / 100 * _this5.fileSize;\n _this5.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }, {\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this6 = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this6.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n }]);\n\n return ChunkUploadHandler;\n}();\n\nvar CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n};\nvar script = defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\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 timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive() {\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(addFiles));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n var maximumValue = this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n entry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + entry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + entry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = entry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + entry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions) {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size) {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // @ts-ignore\n\n\n form.append(this.name, file.file, file.file.name || file.file.filename || file.name);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDragenter, false);\n document.removeEventListener('dragleave', this.onDragleave, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n // @ts-ignore\n el = this.$parent.$el;\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDragenter, false);\n document.addEventListener('dragleave', this.onDragleave, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n onDragenter: function onDragenter(e) {\n var _dt$files, _dt$types;\n\n e.preventDefault();\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n },\n onDragleave: function onDragleave(e) {\n e.preventDefault();\n\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target.nodeName === 'HTML' || e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n }\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n var target = e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"span\", {\n class: _ctx.className\n }, [renderSlot(_ctx.$slots, \"default\"), createVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, [\"for\"]), !_ctx.reload ? (openBlock(), createBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.directory && _ctx.features.directory,\n allowdirs: _ctx.directory && _ctx.features.directory,\n directory: _ctx.directory && _ctx.features.directory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[1] || (_cache[1] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"])) : createCommentVNode(\"\", true)], 2);\n}\n\nfunction styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input, .file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input, .file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\";\nstyleInject(css_248z);\nscript.render = render;\nexport default script;\n//# sourceMappingURL=vue-upload-component.js.map\n"],"names":["defineComponent","openBlock","createBlock","renderSlot","createVNode","createCommentVNode"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vue-upload-component.min.js b/dist/vue-upload-component.min.js index cb4ad52..b4a4a06 100644 --- a/dist/vue-upload-component.min.js +++ b/dist/vue-upload-component.min.js @@ -1,10 +1,10 @@ /*! Name: vue-upload-component Component URI: https://github.com/lian-yue/vue-upload-component#readme -Version: 3.0.47 +Version: 3.0.49 Author: LianYue License: Apache-2.0 Description: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VueUploadComponent=t(e.Vue)}(this,function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,h=t(e);return function(e){function c(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=this.iMaximum)break;if(i.push(s),1===this.iMaximum)break}}if(i.length){1===this.iMaximum&&this.clear(),!0===t||0===t?n=i.concat(this.files):t?(n=this.files.concat([])).splice.apply(n,[t,0].concat(i)):n=this.files.concat(i),this.files=n;for(var u=0;u=a));l++);return Promise.resolve(this.add(u))}return Promise.resolve([])},getFileSystemEntry:function(a){var u=this,l=1=s)return i(n);u.getFileSystemEntry(e,l).then(function(e){n.push.apply(n,c(e)),t(r+1)})}(0)):a instanceof Blob?i([{id:"",size:a.size,name:l+a.name,type:a.type,file:a}]):a.isFile?a.file(function(e){i([{id:"",size:e.size,name:l+e.name,type:e.type,file:e}])}):a.isDirectory&&u.dropDirectory?(o=[],u.createDirectory&&o.push({id:"",name:l+a.name,size:0,type:"text/directory",file:new File([],l+a.name,{type:"text/directory"})}),e=a.createReader(),function n(){e.readEntries(function(e){(function t(r){return!e[r]&&0===r||0=s?i(o):e[r]?void u.getFileSystemEntry(e[r],l+a.name+"/").then(function(e){o.push.apply(o,c(e)),t(r+1)}):n()})(0)})}()):i([]):i([])})},replace:function(e,t){var r=this.get(e),n=this.get(t);if(!r||!n||r===n)return!1;var i=this.files.concat([]),e=i.indexOf(r),t=i.indexOf(n);return-1!==e&&-1!==t&&(i[e]=n,i[t]=r,this.files=i,this.emitInput(),!0)},remove:function(e){var t=this.get(e);if(t){if(this.emitFilter(void 0,t))return!1;var r=this.files.concat([]),e=r.indexOf(t);if(-1===e)return console.error("remove",t),!1;r.splice(e,1),this.files=r,delete this.maps[t.id],this.emitInput(),this.emitFile(void 0,t)}return t},update:function(e,t){var r=this.get(e);if(r){var n=d(d({},r),t);if(!r.fileObject||!r.active||n.active||n.error||n.success||(n.error="abort"),this.emitFilter(n,r))return!1;e=this.files.concat([]),t=e.indexOf(r);return-1===t?(console.error("update",r),!1):(e.splice(t,1,n),this.files=e,delete this.maps[r.id],this.maps[n.id]=n,this.emitInput(),this.emitFile(n,r),n)}return!1},emitFilter:function(e,t){var r=!1;return this.$emit("input-filter",e,t,function(){return r=!(0this.size)return Promise.reject(new Error("size"));if(this.customAction)return this.customAction(e,this);if(this.features.html5){if(this.shouldUseChunkUpload(e))return this.uploadChunk(e);if(e.putAction)return this.uploadPut(e);if(e.postAction)return this.uploadHtml5(e)}return e.postAction?this.uploadHtml4(e):Promise.reject(new Error("No action configured"))},shouldUseChunkUpload:function(e){return this.chunkEnabled&&!!this.chunkOptions.handler&&e.size&&e.size>this.chunkOptions.minSize},uploadChunk:function(t){var e=this.chunkOptions.handler;return t.chunk=new e(t,this.chunkOptions),t.chunk.upload().then(function(e){return t})},uploadPut:function(e){var t,r,n=[];for(r in e.data)null!=(t=e.data[r])&&n.push(encodeURIComponent(r)+"="+encodeURIComponent(t));var i=e.putAction||"",o=n.length?(-1===i.indexOf("?")?"?":"&")+n.join("&"):"",s=new XMLHttpRequest;return s.open("PUT",i+o),this.uploadXhr(s,e,e.file)},uploadHtml5:function(e){var t,r,n=new window.FormData;for(r in e.data)(t=e.data[r])&&"object"===o(t)&&"function"!=typeof t.toString?t instanceof File?n.append(r,t,t.name):n.append(r,JSON.stringify(t)):null!=t&&n.append(r,t);n.append(this.name,e.file,e.file.name||e.file.filename||e.name);var i=new XMLHttpRequest;return i.open("POST",e.postAction||""),this.uploadXhr(i,e,n)},uploadXhr:function(s,e,r){var a=this,u=e,n=0,i=0;s.upload.onprogress=function(e){var t;u&&(u=a.get(u),e.lengthComputable&&u&&u.fileObject&&u.active&&((t=Math.round(Date.now()/1e3))!==n&&(n=t,u=a.update(u,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-i}),i=e.loaded)))};var l=window.setInterval(function(){if(u&&((u=a.get(u))&&null!==u&&void 0!==u&&u.fileObject&&!u.success&&!u.error&&u.active))return;l&&(clearInterval(l),l=void 0);try{s.abort(),s.timeout=1}catch(e){}},100);return new Promise(function(n,i){if(u){var o,e,t=function(e){if(!o){if(o=!0,l&&(clearInterval(l),l=void 0),!u)return i(new Error("not_exists"));if(!(u=a.get(u)))return i(new Error("not_exists"));if(!u.fileObject)return i(new Error("file_object"));if(u.error)return u.error instanceof Error?i(u.error):i(new Error(u.error));if(!u.active)return i(new Error("abort"));if(u.success)return n(u);var t,r={};switch(e.type){case"timeout":case"abort":r.error=e.type;break;case"error":s.status?500<=s.status?r.error="server":400<=s.status&&(r.error="denied"):r.error="network";break;default:500<=s.status?r.error="server":400<=s.status?r.error="denied":r.progress="100.00"}return s.responseText&&((t=s.getResponseHeader("Content-Type"))&&-1!==t.indexOf("/json")?r.response=JSON.parse(s.responseText):r.response=s.responseText),(u=a.update(u,r))?u.error?u.error instanceof Error?i(u.error):i(new Error(u.error)):n(u):i(new Error("abort"))}};for(e in s.onload=t,s.onerror=t,s.onabort=t,s.ontimeout=t,u.timeout&&(s.timeout=u.timeout),u.headers)s.setRequestHeader(e,u.headers[e]);(u=a.update(u,{xhr:s}))&&s.send(r)}else i(new Error("not_exists"))})},uploadHtml4:function(e){var a=this,u=e;if(!u)return Promise.reject(new Error("not_exists"));function l(e){27===e.keyCode&&e.preventDefault()}var c=document.createElement("iframe");c.id="upload-iframe-"+u.id,c.name="upload-iframe-"+u.id,c.src="about:blank",c.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var t,r=document.createElement("form");for(t in r.setAttribute("action",u.postAction||""),r.name="upload-form-"+u.id,r.setAttribute("method","POST"),r.setAttribute("target","upload-iframe-"+u.id),r.setAttribute("enctype","multipart/form-data"),u.data){var n,i=u.data[t];i&&"object"===o(i)&&"function"!=typeof i.toString&&(i=JSON.stringify(i)),null!=i&&((n=document.createElement("input")).type="hidden",n.name=t,n.value=i,r.appendChild(n))}r.appendChild(u.el),document.body.appendChild(c).appendChild(r);return new Promise(function(o,s){setTimeout(function(){if(u){if(!(u=a.update(u,{iframe:c})))return s(new Error("not_exists"));var n,i=window.setInterval(function(){(u=u&&a.get(u))&&u.fileObject&&!u.success&&!u.error&&u.active||(i&&(clearInterval(i),i=void 0),c.onabort({type:u?"abort":"not_exists"}))},100),e=function(e){if(!n){if(n=!0,i&&(clearInterval(i),i=void 0),document.body.removeEventListener("keydown",l),!u)return s(new Error("not_exists"));if(!(u=a.get(u)))return s(new Error("not_exists"));if(!u.fileObject)return s(new Error("file_object"));if(u.error)return u.error instanceof Error?s(u.error):s(new Error(u.error));if(!u.active)return s(new Error("abort"));if(u.success)return o(u);var t=function(){var t;try{c.contentWindow&&(t=c.contentWindow.document)}catch(e){}if(!t)try{t=c.contentDocument||c.document}catch(e){t=c.document}return null!==t&&void 0!==t&&t.body?t.body.innerHTML:null}(),r={};if("string"==typeof e)return s(new Error(e));switch(e.type){case"abort":r.error="abort";break;case"error":u.error?r.error=u.error:r.error=null===t?"network":"denied";break;default:u.error?r.error=u.error:null===t?r.error="network":r.progress="100.00"}if(null!==t){if(t&&"{"===t.substr(0,1)&&"}"===t.substr(t.length-1,1))try{t=JSON.parse(t)}catch(e){}r.response=t}return(u=a.update(u,r))?null!==u&&void 0!==u&&u.error?u.error instanceof Error?s(u.error):s(new Error(u.error)):o(u):s(new Error("not_exists"))}};c.onload=e,c.onerror=e,c.onabort=e,document.body.addEventListener("keydown",l),r.submit()}else s(new Error("not_exists"))},50)}).then(function(e){var t;return null==c||null!==(t=c.parentNode)&&void 0!==t&&t.removeChild(c),e}).catch(function(e){var t;return null==c||null!==(t=c.parentNode)&&void 0!==t&&t.removeChild(c),e})},watchActive:function(e){for(var t,r=0;t=this.files[r];)if(r++,t.fileObject)if(e&&!this.destroy){if(this.uploading>=this.thread||this.uploading&&!this.features.html5)break;t.active||t.error||t.success||this.update(t,{active:!0})}else t.active&&this.update(t,{active:!1});else;0===this.uploading&&(this.active=!1)},watchDrop:function(e){var t=1=window.innerWidth||e.clientY>=window.innerHeight))&&(this.dropActive=!1)},onDragover:function(e){e.preventDefault()},onDocumentDrop:function(){this.dropActive=!1},onDrop:function(e){e.preventDefault(),e.dataTransfer&&this.addDataTransfer(e.dataTransfer)},inputOnChange:async function(e){var t=this;if(!(e.target instanceof HTMLInputElement))return Promise.reject(new Error("not HTMLInputElement"));function r(e){return t.reload=!0,t.$nextTick(function(){t.reload=!1}),e}e.target;return this.addInputFile(e.target).then(r).catch(r)}}}),function(e,t){void 0===t&&(t={});var r,n=t.insertAt;e&&"undefined"!=typeof document&&(r=document.head||document.getElementsByTagName("head")[0],(t=document.createElement("style")).type="text/css","top"===n&&r.firstChild?r.insertBefore(t,r.firstChild):r.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e)))}("\n.file-uploads {\n overflow: hidden;\n position: relative;\n text-align: center;\n display: inline-block;\n}\n.file-uploads.file-uploads-html4 input, .file-uploads.file-uploads-html5 label {\n /* background fix ie click */\n background: #fff;\n opacity: 0;\n font-size: 20em;\n z-index: 1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.file-uploads.file-uploads-html5 input, .file-uploads.file-uploads-html4 label {\n /* background fix ie click */\n background: rgba(255, 255, 255, 0);\n overflow: hidden;\n position: fixed;\n width: 1px;\n height: 1px;\n z-index: -1;\n opacity: 0;\n}\n"),e.render=function(e,t,r,n,i,o){return u.openBlock(),u.createBlock("span",{class:e.className},[u.renderSlot(e.$slots,"default"),u.createVNode("label",{for:e.forId},null,8,["for"]),e.reload?u.createCommentVNode("",!0):(u.openBlock(),u.createBlock("input",{key:0,ref:"input",type:"file",name:e.name,id:e.forId,accept:e.accept,capture:e.capture,disabled:e.disabled,webkitdirectory:e.directory&&e.features.directory,allowdirs:e.directory&&e.features.directory,directory:e.directory&&e.features.directory,multiple:e.multiple&&e.features.html5,onChange:t[1]||(t[1]=function(){return e.inputOnChange&&e.inputOnChange.apply(e,arguments)})},null,40,["name","id","accept","capture","disabled","webkitdirectory","allowdirs","directory","multiple"]))],2)},e)}(r={exports:{}}),r.exports}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VueUploadComponent=t(e.Vue)}(this,function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,h=t(e);return function(e){function c(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=this.iMaximum)break;if(i.push(s),1===this.iMaximum)break}}if(i.length){1===this.iMaximum&&this.clear(),!0===t||0===t?n=i.concat(this.files):t?(n=this.files.concat([])).splice.apply(n,[t,0].concat(i)):n=this.files.concat(i),this.files=n;for(var u=0;u=a));l++);return Promise.resolve(this.add(u))}return Promise.resolve([])},getFileSystemEntry:function(a){var u=this,l=1=s)return i(n);u.getFileSystemEntry(e,l).then(function(e){n.push.apply(n,c(e)),t(r+1)})}(0)):a instanceof Blob?i([{id:"",size:a.size,name:l+a.name,type:a.type,file:a}]):a.isFile?a.file(function(e){i([{id:"",size:e.size,name:l+e.name,type:e.type,file:e}])}):a.isDirectory&&u.dropDirectory?(o=[],u.createDirectory&&o.push({id:"",name:l+a.name,size:0,type:"text/directory",file:new File([],l+a.name,{type:"text/directory"})}),e=a.createReader(),function n(){e.readEntries(function(e){(function t(r){return!e[r]&&0===r||0=s?i(o):e[r]?void u.getFileSystemEntry(e[r],l+a.name+"/").then(function(e){o.push.apply(o,c(e)),t(r+1)}):n()})(0)})}()):i([]):i([])})},replace:function(e,t){var r=this.get(e),n=this.get(t);if(!r||!n||r===n)return!1;var i=this.files.concat([]),e=i.indexOf(r),t=i.indexOf(n);return-1!==e&&-1!==t&&(i[e]=n,i[t]=r,this.files=i,this.emitInput(),!0)},remove:function(e){var t=this.get(e);if(t){if(this.emitFilter(void 0,t))return!1;var r=this.files.concat([]),e=r.indexOf(t);if(-1===e)return console.error("remove",t),!1;r.splice(e,1),this.files=r,delete this.maps[t.id],this.emitInput(),this.emitFile(void 0,t)}return t},update:function(e,t){var r=this.get(e);if(r){var n=d(d({},r),t);if(!r.fileObject||!r.active||n.active||n.error||n.success||(n.error="abort"),this.emitFilter(n,r))return!1;e=this.files.concat([]),t=e.indexOf(r);return-1===t?(console.error("update",r),!1):(e.splice(t,1,n),this.files=e,delete this.maps[r.id],this.maps[n.id]=n,this.emitInput(),this.emitFile(n,r),n)}return!1},emitFilter:function(e,t){var r=!1;return this.$emit("input-filter",e,t,function(){return r=!(0this.size)return Promise.reject(new Error("size"));if(this.customAction)return this.customAction(e,this);if(this.features.html5){if(this.shouldUseChunkUpload(e))return this.uploadChunk(e);if(e.putAction)return this.uploadPut(e);if(e.postAction)return this.uploadHtml5(e)}return e.postAction?this.uploadHtml4(e):Promise.reject(new Error("No action configured"))},shouldUseChunkUpload:function(e){return this.chunkEnabled&&!!this.chunkOptions.handler&&e.size&&e.size>this.chunkOptions.minSize},uploadChunk:function(t){var e=this.chunkOptions.handler;return t.chunk=new e(t,this.chunkOptions),t.chunk.upload().then(function(e){return t})},uploadPut:function(e){var t,r,n=[];for(r in e.data)null!=(t=e.data[r])&&n.push(encodeURIComponent(r)+"="+encodeURIComponent(t));var i=e.putAction||"",o=n.length?(-1===i.indexOf("?")?"?":"&")+n.join("&"):"",s=new XMLHttpRequest;return s.open("PUT",i+o),this.uploadXhr(s,e,e.file)},uploadHtml5:function(e){var t,r,n=new window.FormData;for(r in e.data)(t=e.data[r])&&"object"===o(t)&&"function"!=typeof t.toString?t instanceof File?n.append(r,t,t.name):n.append(r,JSON.stringify(t)):null!=t&&n.append(r,t);n.append(this.name,e.file,e.file.name||e.file.filename||e.name);var i=new XMLHttpRequest;return i.open("POST",e.postAction||""),this.uploadXhr(i,e,n)},uploadXhr:function(s,e,r){var a=this,u=e,n=0,i=0;s.upload.onprogress=function(e){var t;u&&(u=a.get(u),e.lengthComputable&&u&&u.fileObject&&u.active&&((t=Math.round(Date.now()/1e3))!==n&&(n=t,u=a.update(u,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-i}),i=e.loaded)))};var l=window.setInterval(function(){if(u&&((u=a.get(u))&&null!==u&&void 0!==u&&u.fileObject&&!u.success&&!u.error&&u.active))return;l&&(clearInterval(l),l=void 0);try{s.abort(),s.timeout=1}catch(e){}},100);return new Promise(function(n,i){if(u){var o,e,t=function(e){if(!o){if(o=!0,l&&(clearInterval(l),l=void 0),!u)return i(new Error("not_exists"));if(!(u=a.get(u)))return i(new Error("not_exists"));if(!u.fileObject)return i(new Error("file_object"));if(u.error)return u.error instanceof Error?i(u.error):i(new Error(u.error));if(!u.active)return i(new Error("abort"));if(u.success)return n(u);var t,r={};switch(e.type){case"timeout":case"abort":r.error=e.type;break;case"error":s.status?500<=s.status?r.error="server":400<=s.status&&(r.error="denied"):r.error="network";break;default:500<=s.status?r.error="server":400<=s.status?r.error="denied":r.progress="100.00"}return s.responseText&&((t=s.getResponseHeader("Content-Type"))&&-1!==t.indexOf("/json")?r.response=JSON.parse(s.responseText):r.response=s.responseText),(u=a.update(u,r))?u.error?u.error instanceof Error?i(u.error):i(new Error(u.error)):n(u):i(new Error("abort"))}};for(e in s.onload=t,s.onerror=t,s.onabort=t,s.ontimeout=t,u.timeout&&(s.timeout=u.timeout),u.headers)s.setRequestHeader(e,u.headers[e]);(u=a.update(u,{xhr:s}))&&s.send(r)}else i(new Error("not_exists"))})},uploadHtml4:function(e){var a=this,u=e;if(!u)return Promise.reject(new Error("not_exists"));function l(e){27===e.keyCode&&e.preventDefault()}var c=document.createElement("iframe");c.id="upload-iframe-"+u.id,c.name="upload-iframe-"+u.id,c.src="about:blank",c.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var t,r=document.createElement("form");for(t in r.setAttribute("action",u.postAction||""),r.name="upload-form-"+u.id,r.setAttribute("method","POST"),r.setAttribute("target","upload-iframe-"+u.id),r.setAttribute("enctype","multipart/form-data"),u.data){var n,i=u.data[t];i&&"object"===o(i)&&"function"!=typeof i.toString&&(i=JSON.stringify(i)),null!=i&&((n=document.createElement("input")).type="hidden",n.name=t,n.value=i,r.appendChild(n))}r.appendChild(u.el),document.body.appendChild(c).appendChild(r);return new Promise(function(o,s){setTimeout(function(){if(u){if(!(u=a.update(u,{iframe:c})))return s(new Error("not_exists"));var n,i=window.setInterval(function(){(u=u&&a.get(u))&&u.fileObject&&!u.success&&!u.error&&u.active||(i&&(clearInterval(i),i=void 0),c.onabort({type:u?"abort":"not_exists"}))},100),e=function(e){if(!n){if(n=!0,i&&(clearInterval(i),i=void 0),document.body.removeEventListener("keydown",l),!u)return s(new Error("not_exists"));if(!(u=a.get(u)))return s(new Error("not_exists"));if(!u.fileObject)return s(new Error("file_object"));if(u.error)return u.error instanceof Error?s(u.error):s(new Error(u.error));if(!u.active)return s(new Error("abort"));if(u.success)return o(u);var t=function(){var t;try{c.contentWindow&&(t=c.contentWindow.document)}catch(e){}if(!t)try{t=c.contentDocument||c.document}catch(e){t=c.document}return null!==t&&void 0!==t&&t.body?t.body.innerHTML:null}(),r={};if("string"==typeof e)return s(new Error(e));switch(e.type){case"abort":r.error="abort";break;case"error":u.error?r.error=u.error:r.error=null===t?"network":"denied";break;default:u.error?r.error=u.error:null===t?r.error="network":r.progress="100.00"}if(null!==t){if(t&&"{"===t.substr(0,1)&&"}"===t.substr(t.length-1,1))try{t=JSON.parse(t)}catch(e){}r.response=t}return(u=a.update(u,r))?null!==u&&void 0!==u&&u.error?u.error instanceof Error?s(u.error):s(new Error(u.error)):o(u):s(new Error("not_exists"))}};c.onload=e,c.onerror=e,c.onabort=e,document.body.addEventListener("keydown",l),r.submit()}else s(new Error("not_exists"))},50)}).then(function(e){var t;return null==c||null!==(t=c.parentNode)&&void 0!==t&&t.removeChild(c),e}).catch(function(e){var t;return null==c||null!==(t=c.parentNode)&&void 0!==t&&t.removeChild(c),e})},watchActive:function(e){for(var t,r=0;t=this.files[r];)if(r++,t.fileObject)if(e&&!this.destroy){if(this.uploading>=this.thread||this.uploading&&!this.features.html5)break;t.active||t.error||t.success||this.update(t,{active:!0})}else t.active&&this.update(t,{active:!1});else;0===this.uploading&&(this.active=!1)},watchDrop:function(e){var t=1=window.innerWidth||e.clientY>=window.innerHeight))&&(this.dropActive=!1)},onDragover:function(e){e.preventDefault()},onDocumentDrop:function(){this.dropActive=!1},onDrop:function(e){e.preventDefault(),e.dataTransfer&&this.addDataTransfer(e.dataTransfer)},inputOnChange:async function(e){var t=this;if(!(e.target instanceof HTMLInputElement))return Promise.reject(new Error("not HTMLInputElement"));function r(e){return t.reload=!0,t.$nextTick(function(){t.reload=!1}),e}e.target;return this.addInputFile(e.target).then(r).catch(r)}}}),function(e,t){void 0===t&&(t={});var r,n=t.insertAt;e&&"undefined"!=typeof document&&(r=document.head||document.getElementsByTagName("head")[0],(t=document.createElement("style")).type="text/css","top"===n&&r.firstChild?r.insertBefore(t,r.firstChild):r.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e)))}("\n.file-uploads {\n overflow: hidden;\n position: relative;\n text-align: center;\n display: inline-block;\n}\n.file-uploads.file-uploads-html4 input, .file-uploads.file-uploads-html5 label {\n /* background fix ie click */\n background: #fff;\n opacity: 0;\n font-size: 20em;\n z-index: 1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.file-uploads.file-uploads-html5 input, .file-uploads.file-uploads-html4 label {\n /* background fix ie click */\n background: rgba(255, 255, 255, 0);\n overflow: hidden;\n position: fixed;\n width: 1px;\n height: 1px;\n z-index: -1;\n opacity: 0;\n}\n"),e.render=function(e,t,r,n,i,o){return u.openBlock(),u.createBlock("span",{class:e.className},[u.renderSlot(e.$slots,"default"),u.createVNode("label",{for:e.forId},null,8,["for"]),e.reload?u.createCommentVNode("",!0):(u.openBlock(),u.createBlock("input",{key:0,ref:"input",type:"file",name:e.name,id:e.forId,accept:e.accept,capture:e.capture,disabled:e.disabled,webkitdirectory:e.directory&&e.features.directory,allowdirs:e.directory&&e.features.directory,directory:e.directory&&e.features.directory,multiple:e.multiple&&e.features.html5,onChange:t[1]||(t[1]=function(){return e.inputOnChange&&e.inputOnChange.apply(e,arguments)})},null,40,["name","id","accept","capture","disabled","webkitdirectory","allowdirs","directory","multiple"]))],2)},e)}(r={exports:{}}),r.exports}); //# sourceMappingURL=vue-upload-component.min.js.map diff --git a/dist/vue-upload-component.min.js.map b/dist/vue-upload-component.min.js.map index aba7325..e8b84d0 100644 --- a/dist/vue-upload-component.min.js.map +++ b/dist/vue-upload-component.min.js.map @@ -1 +1 @@ -{"version":3,"file":"vue-upload-component.min.js","sources":["vue-upload-component.js"],"sourcesContent":["/*!\n Name: vue-upload-component \nComponent URI: https://github.com/lian-yue/vue-upload-component#readme \nVersion: 3.0.47 \nAuthor: LianYue \nLicense: Apache-2.0 \nDescription: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter \n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vue')) :\n typeof define === 'function' && define.amd ? define(['vue'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VueUploadComponent = factory(global.Vue));\n}(this, (function (vue) { 'use strict';\n\n function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\n function _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\n function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\n function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { _ownKeys(Object(source), true).forEach(function (key) { _defineProperty2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n function _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n /**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\n var createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n };\n /**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\n var sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n };\n /**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\n var sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n };\n /**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\n function request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n }\n\n var ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"createChunks\",\n\n /**\n * Creates all the chunks in the initial state\n */\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this2.file.response = res;\n return _this2.reject('server');\n }\n\n _this2.sessionId = res.data.session_id;\n _this2.chunkSize = res.data.end_offset;\n\n _this2.createChunks();\n\n _this2.startChunking();\n }).catch(function (res) {\n _this2.file.response = res;\n\n _this2.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this3 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n }\n\n _this3.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n\n _this3.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this4 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this4.file.response = res;\n\n if (res.status !== 'success') {\n return _this4.reject('server');\n }\n\n _this4.resolve(res);\n }).catch(function (res) {\n _this4.file.response = res;\n\n _this4.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this5 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this5.progress / 100 * _this5.fileSize;\n _this5.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }, {\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this6 = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this6.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n }]);\n\n return ChunkUploadHandler;\n }();\n\n var CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n };\n var script = vue.defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\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 timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive() {\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(addFiles));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n var maximumValue = this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n entry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + entry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + entry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = entry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + entry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions) {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size) {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // @ts-ignore\n\n\n form.append(this.name, file.file, file.file.name || file.file.filename || file.name);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDragenter, false);\n document.removeEventListener('dragleave', this.onDragleave, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n // @ts-ignore\n el = this.$parent.$el;\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDragenter, false);\n document.addEventListener('dragleave', this.onDragleave, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n onDragenter: function onDragenter(e) {\n var _dt$files, _dt$types;\n\n e.preventDefault();\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n },\n onDragleave: function onDragleave(e) {\n e.preventDefault();\n\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target.nodeName === 'HTML' || e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n }\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n var target = e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n });\n\n function render(_ctx, _cache, $props, $setup, $data, $options) {\n return vue.openBlock(), vue.createBlock(\"span\", {\n class: _ctx.className\n }, [vue.renderSlot(_ctx.$slots, \"default\"), vue.createVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, [\"for\"]), !_ctx.reload ? (vue.openBlock(), vue.createBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.directory && _ctx.features.directory,\n allowdirs: _ctx.directory && _ctx.features.directory,\n directory: _ctx.directory && _ctx.features.directory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[1] || (_cache[1] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"])) : vue.createCommentVNode(\"\", true)], 2);\n }\n\n function styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n }\n\n var css_248z = \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input, .file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input, .file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\";\n styleInject(css_248z);\n script.render = render;\n\n return script;\n\n})));\n//# sourceMappingURL=vue-upload-component.js.map\n"],"names":["_toConsumableArray","arr","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","Object","from","_iterableToArray","o","minLen","n","prototype","toString","call","slice","constructor","name","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","length","i","arr2","_ownKeys","object","enumerableOnly","symbols","keys","getOwnPropertySymbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","obj","value","defineProperty","configurable","writable","getOwnPropertyDescriptors","defineProperties","_typeof","_defineProperties","props","descriptor","ownKeys","_objectSpread2","request","options","xhr","body","createRequest","Promise","resolve","reject","onload","status","response","JSON","parse","err","onerror","send","stringify","vue","CHUNK_DEFAULT_OPTIONS","module","require$$0","XMLHttpRequest","open","method","url","responseType","headers","setRequestHeader","action","minSize","maxActive","maxRetries","handler","ChunkUploadHandler","file","instance","_classCallCheck","this","chunks","sessionId","chunkSize","speedInterval","Constructor","protoProps","staticProps","start","end","fileSize","blob","startOffset","active","retries","progress","stopChunks","chunksUploading","chunk","abort","stopSpeedCalc","startChunking","_this","promise","_this2","Content-Type","assign","startBody","phase","mime_type","fileType","size","fileName","then","res","data","session_id","end_offset","createChunks","catch","maxActiveChunks","uploadNextChunk","startSpeedCalc","hasChunksToUpload","uploadChunk","chunksToUpload","finish","_this3","updateFileProgress","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","FormData","append","sendFormRequest","uploadBody","start_offset","uploaded","_this4","finishBody","_this5","lastUploadedBytes","speed","window","setInterval","uploadedBytes","clearInterval","get","parseInt","type","_this6","completedProgress","chunksUploaded","uploadingProgress","reduce","min","script","defineComponent","inputId","String","default","accept","capture","disabled","multiple","Boolean","maximum","Number","addIndex","directory","createDirectory","postAction","putAction","customAction","Function","timeout","drop","dropDirectory","extensions","RegExp","modelValue","thread","chunkEnabled","emits","files","features","html5","dropActive","uploading","destroy","maps","dropElement","reload","mounted","_this7","input","document","createElement","webkitdirectory","ondrop","id","$nextTick","$parent","$forceUpdate","watchDrop","beforeUnmount","computed","fileObject","error","success","chunkOptions","className","undefined","forId","iMaximum","iExtensions","exts","split","map","trim","join","replace","watch","_active","watchActive","oldMaps","_key","newFile","oldFile","emitFile","methods","newId","random","substr","clear","emitInput","add","_files","index","newFiles","addFiles","Blob","webkitRelativePath","relativePath","Element","el","HTMLInputElement","emitFilter","concat","splice","_i","_file","_i2","addInputFile","_this8","entrys","webkitEntries","entries","getFileSystemEntry","names","__vuex__","addDataTransfer","dataTransfer","_dataTransfer$items","_this9","items","dataTransferTtem","entry","getAsEntry","getAsFile","webkitGetAsEntry","maximumValue","_i3","_this10","path","uploadFiles","_uploadFiles","dirReader","v","results","isFile","isDirectory","File","createReader","readEntries","id1","id2","file1","file2","index1","indexOf","index2","remove","console","update","isPrevent","$emit","_this11","setTimeout","e","code","message","ceil","Error","search","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","filename","ufile","_this12","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","complete","fn","contentType","responseText","getResponseHeader","onabort","ontimeout","_this13","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","removeEventListener","doc","contentWindow","contentDocument","innerHTML","getResponseData","submit","_iframe$parentNode","parentNode","removeChild","_iframe$parentNode2","newDrop","oldDrop","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","querySelector","$root","$el","_dt$types","dt","_dt$files","types","contains","nodeName","explicitOriginalTarget","fromElement","clientX","clientY","innerWidth","innerHeight","inputOnChange","async","_this14","reinput","css","ref","head","insertAt","getElementsByTagName","style","firstChild","insertBefore","styleSheet","cssText","createTextNode","styleInject","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createBlock","class","renderSlot","$slots","createVNode","for","createCommentVNode","allowdirs","onChange"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.min.js","sources":["vue-upload-component.js"],"sourcesContent":["/*!\n Name: vue-upload-component \nComponent URI: https://github.com/lian-yue/vue-upload-component#readme \nVersion: 3.0.49 \nAuthor: LianYue \nLicense: Apache-2.0 \nDescription: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter \n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vue')) :\n typeof define === 'function' && define.amd ? define(['vue'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VueUploadComponent = factory(global.Vue));\n}(this, (function (vue) { 'use strict';\n\n function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\n function _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\n function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\n function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { _ownKeys(Object(source), true).forEach(function (key) { _defineProperty2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n function _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n /**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\n var createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n };\n /**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\n var sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n };\n /**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\n var sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n };\n /**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\n function request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n }\n\n var ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"createChunks\",\n\n /**\n * Creates all the chunks in the initial state\n */\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this2.file.response = res;\n return _this2.reject('server');\n }\n\n _this2.sessionId = res.data.session_id;\n _this2.chunkSize = res.data.end_offset;\n\n _this2.createChunks();\n\n _this2.startChunking();\n }).catch(function (res) {\n _this2.file.response = res;\n\n _this2.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this3 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n }\n\n _this3.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n\n _this3.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this4 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this4.file.response = res;\n\n if (res.status !== 'success') {\n return _this4.reject('server');\n }\n\n _this4.resolve(res);\n }).catch(function (res) {\n _this4.file.response = res;\n\n _this4.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this5 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this5.progress / 100 * _this5.fileSize;\n _this5.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }, {\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this6 = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this6.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n }]);\n\n return ChunkUploadHandler;\n }();\n\n var CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n };\n var script = vue.defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\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 timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive() {\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(addFiles));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n var maximumValue = this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n entry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + entry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + entry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = entry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + entry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions) {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size) {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // @ts-ignore\n\n\n form.append(this.name, file.file, file.file.name || file.file.filename || file.name);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDragenter, false);\n document.removeEventListener('dragleave', this.onDragleave, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n // @ts-ignore\n el = this.$parent.$el;\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDragenter, false);\n document.addEventListener('dragleave', this.onDragleave, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n onDragenter: function onDragenter(e) {\n var _dt$files, _dt$types;\n\n e.preventDefault();\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n },\n onDragleave: function onDragleave(e) {\n e.preventDefault();\n\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target.nodeName === 'HTML' || e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n }\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n var target = e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n });\n\n function render(_ctx, _cache, $props, $setup, $data, $options) {\n return vue.openBlock(), vue.createBlock(\"span\", {\n class: _ctx.className\n }, [vue.renderSlot(_ctx.$slots, \"default\"), vue.createVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, [\"for\"]), !_ctx.reload ? (vue.openBlock(), vue.createBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.directory && _ctx.features.directory,\n allowdirs: _ctx.directory && _ctx.features.directory,\n directory: _ctx.directory && _ctx.features.directory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[1] || (_cache[1] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"])) : vue.createCommentVNode(\"\", true)], 2);\n }\n\n function styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n }\n\n var css_248z = \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input, .file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input, .file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\";\n styleInject(css_248z);\n script.render = render;\n\n return script;\n\n})));\n//# sourceMappingURL=vue-upload-component.js.map\n"],"names":["_toConsumableArray","arr","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","Object","from","_iterableToArray","o","minLen","n","prototype","toString","call","slice","constructor","name","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","length","i","arr2","_ownKeys","object","enumerableOnly","symbols","keys","getOwnPropertySymbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","obj","value","defineProperty","configurable","writable","getOwnPropertyDescriptors","defineProperties","_typeof","_defineProperties","props","descriptor","ownKeys","_objectSpread2","request","options","xhr","body","createRequest","Promise","resolve","reject","onload","status","response","JSON","parse","err","onerror","send","stringify","vue","CHUNK_DEFAULT_OPTIONS","module","require$$0","XMLHttpRequest","open","method","url","responseType","headers","setRequestHeader","action","minSize","maxActive","maxRetries","handler","ChunkUploadHandler","file","instance","_classCallCheck","this","chunks","sessionId","chunkSize","speedInterval","Constructor","protoProps","staticProps","start","end","fileSize","blob","startOffset","active","retries","progress","stopChunks","chunksUploading","chunk","abort","stopSpeedCalc","startChunking","_this","promise","_this2","Content-Type","assign","startBody","phase","mime_type","fileType","size","fileName","then","res","data","session_id","end_offset","createChunks","catch","maxActiveChunks","uploadNextChunk","startSpeedCalc","hasChunksToUpload","uploadChunk","chunksToUpload","finish","_this3","updateFileProgress","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","FormData","append","sendFormRequest","uploadBody","start_offset","uploaded","_this4","finishBody","_this5","lastUploadedBytes","speed","window","setInterval","uploadedBytes","clearInterval","get","parseInt","type","_this6","completedProgress","chunksUploaded","uploadingProgress","reduce","min","script","defineComponent","inputId","String","default","accept","capture","disabled","multiple","Boolean","maximum","Number","addIndex","directory","createDirectory","postAction","putAction","customAction","Function","timeout","drop","dropDirectory","extensions","RegExp","modelValue","thread","chunkEnabled","emits","files","features","html5","dropActive","uploading","destroy","maps","dropElement","reload","mounted","_this7","input","document","createElement","webkitdirectory","ondrop","id","$nextTick","$parent","$forceUpdate","watchDrop","beforeUnmount","watchActive","computed","fileObject","error","success","chunkOptions","className","undefined","forId","iMaximum","iExtensions","exts","split","map","trim","join","replace","watch","_active","oldMaps","_key","newFile","oldFile","emitFile","methods","newId","random","substr","clear","emitInput","add","_files","index","newFiles","addFiles","Blob","webkitRelativePath","relativePath","Element","el","HTMLInputElement","emitFilter","concat","splice","_i","_file","_i2","addInputFile","_this8","entrys","webkitEntries","entries","getFileSystemEntry","names","__vuex__","addDataTransfer","dataTransfer","_dataTransfer$items","_this9","items","dataTransferTtem","entry","getAsEntry","getAsFile","webkitGetAsEntry","maximumValue","_i3","_this10","path","uploadFiles","_uploadFiles","dirReader","v","results","isFile","isDirectory","File","createReader","readEntries","id1","id2","file1","file2","index1","indexOf","index2","remove","console","update","isPrevent","$emit","_this11","setTimeout","e","code","message","ceil","Error","search","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","filename","ufile","_this12","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","complete","fn","contentType","responseText","getResponseHeader","onabort","ontimeout","_this13","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","removeEventListener","doc","contentWindow","contentDocument","innerHTML","getResponseData","submit","_iframe$parentNode","parentNode","removeChild","_iframe$parentNode2","newDrop","oldDrop","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","querySelector","$root","$el","_dt$types","dt","_dt$files","types","contains","nodeName","explicitOriginalTarget","fromElement","clientX","clientY","innerWidth","innerHeight","inputOnChange","async","_this14","reinput","css","ref","head","insertAt","getElementsByTagName","style","firstChild","insertBefore","styleSheet","cssText","createTextNode","styleInject","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createBlock","class","renderSlot","$slots","createVNode","for","createCommentVNode","allowdirs","onChange"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vue-upload-component.part.js b/dist/vue-upload-component.part.js index 99eb06f..b3b98e8 100644 --- a/dist/vue-upload-component.part.js +++ b/dist/vue-upload-component.part.js @@ -1,7 +1,7 @@ /*! Name: vue-upload-component Component URI: https://github.com/lian-yue/vue-upload-component#readme -Version: 3.0.47 +Version: 3.0.49 Author: LianYue License: Apache-2.0 Description: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter @@ -864,7 +864,9 @@ Description: Vue.js file upload component, Multi-file upload, Upload directory, this.active = false; // 销毁拖拽事件 - this.watchDrop(false); + this.watchDrop(false); // 销毁不激活 + + this.watchActive(false); }, computed: { /** diff --git a/dist/vue-upload-component.part.js.map b/dist/vue-upload-component.part.js.map index 5f58da7..07f8ed9 100644 --- a/dist/vue-upload-component.part.js.map +++ b/dist/vue-upload-component.part.js.map @@ -1 +1 @@ -{"version":3,"file":"vue-upload-component.part.js","sources":["vue-upload-component.part.js"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { _ownKeys(Object(source), true).forEach(function (key) { _defineProperty2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { defineComponent, openBlock, createBlock, renderSlot, createVNode, createCommentVNode } from 'vue';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\nvar createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n};\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\nvar sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n};\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\nvar sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n};\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\nfunction request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n}\n\nvar ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"createChunks\",\n\n /**\n * Creates all the chunks in the initial state\n */\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this2.file.response = res;\n return _this2.reject('server');\n }\n\n _this2.sessionId = res.data.session_id;\n _this2.chunkSize = res.data.end_offset;\n\n _this2.createChunks();\n\n _this2.startChunking();\n }).catch(function (res) {\n _this2.file.response = res;\n\n _this2.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this3 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n }\n\n _this3.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n\n _this3.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this4 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this4.file.response = res;\n\n if (res.status !== 'success') {\n return _this4.reject('server');\n }\n\n _this4.resolve(res);\n }).catch(function (res) {\n _this4.file.response = res;\n\n _this4.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this5 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this5.progress / 100 * _this5.fileSize;\n _this5.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }, {\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this6 = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this6.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n }]);\n\n return ChunkUploadHandler;\n}();\n\nvar CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n};\nvar script = defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\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 timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive() {\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(addFiles));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n var maximumValue = this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n entry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + entry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + entry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = entry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + entry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions) {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size) {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // @ts-ignore\n\n\n form.append(this.name, file.file, file.file.name || file.file.filename || file.name);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDragenter, false);\n document.removeEventListener('dragleave', this.onDragleave, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n // @ts-ignore\n el = this.$parent.$el;\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDragenter, false);\n document.addEventListener('dragleave', this.onDragleave, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n onDragenter: function onDragenter(e) {\n var _dt$files, _dt$types;\n\n e.preventDefault();\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n },\n onDragleave: function onDragleave(e) {\n e.preventDefault();\n\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target.nodeName === 'HTML' || e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n }\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n var target = e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"span\", {\n class: _ctx.className\n }, [renderSlot(_ctx.$slots, \"default\"), createVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, [\"for\"]), !_ctx.reload ? (openBlock(), createBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.directory && _ctx.features.directory,\n allowdirs: _ctx.directory && _ctx.features.directory,\n directory: _ctx.directory && _ctx.features.directory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[1] || (_cache[1] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"])) : createCommentVNode(\"\", true)], 2);\n}\n\nfunction styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\";\nstyleInject(css_248z);\nscript.render = render;\nexport default script;\n//# sourceMappingURL=vue-upload-component.part.js.map\n"],"names":["defineComponent","openBlock","createBlock","renderSlot","createVNode","createCommentVNode"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.part.js","sources":["vue-upload-component.part.js"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { _ownKeys(Object(source), true).forEach(function (key) { _defineProperty2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { defineComponent, openBlock, createBlock, renderSlot, createVNode, createCommentVNode } from 'vue';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\nvar createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n};\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\nvar sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n};\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\nvar sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n};\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\nfunction request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n}\n\nvar ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"createChunks\",\n\n /**\n * Creates all the chunks in the initial state\n */\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this2.file.response = res;\n return _this2.reject('server');\n }\n\n _this2.sessionId = res.data.session_id;\n _this2.chunkSize = res.data.end_offset;\n\n _this2.createChunks();\n\n _this2.startChunking();\n }).catch(function (res) {\n _this2.file.response = res;\n\n _this2.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this3 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n }\n\n _this3.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n\n _this3.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this4 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this4.file.response = res;\n\n if (res.status !== 'success') {\n return _this4.reject('server');\n }\n\n _this4.resolve(res);\n }).catch(function (res) {\n _this4.file.response = res;\n\n _this4.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this5 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this5.progress / 100 * _this5.fileSize;\n _this5.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }, {\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this6 = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this6.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n }]);\n\n return ChunkUploadHandler;\n}();\n\nvar CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n};\nvar script = defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\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 timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive() {\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(addFiles));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n var maximumValue = this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n entry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + entry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + entry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = entry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + entry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions) {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size) {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // @ts-ignore\n\n\n form.append(this.name, file.file, file.file.name || file.file.filename || file.name);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDragenter, false);\n document.removeEventListener('dragleave', this.onDragleave, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n // @ts-ignore\n el = this.$parent.$el;\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDragenter, false);\n document.addEventListener('dragleave', this.onDragleave, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n onDragenter: function onDragenter(e) {\n var _dt$files, _dt$types;\n\n e.preventDefault();\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n },\n onDragleave: function onDragleave(e) {\n e.preventDefault();\n\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target.nodeName === 'HTML' || e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n }\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n var target = e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"span\", {\n class: _ctx.className\n }, [renderSlot(_ctx.$slots, \"default\"), createVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, [\"for\"]), !_ctx.reload ? (openBlock(), createBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.directory && _ctx.features.directory,\n allowdirs: _ctx.directory && _ctx.features.directory,\n directory: _ctx.directory && _ctx.features.directory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[1] || (_cache[1] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"])) : createCommentVNode(\"\", true)], 2);\n}\n\nfunction styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\";\nstyleInject(css_248z);\nscript.render = render;\nexport default script;\n//# sourceMappingURL=vue-upload-component.part.js.map\n"],"names":["defineComponent","openBlock","createBlock","renderSlot","createVNode","createCommentVNode"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vue-upload-component.ssr.js b/dist/vue-upload-component.ssr.js index e67629a..52f7273 100644 --- a/dist/vue-upload-component.ssr.js +++ b/dist/vue-upload-component.ssr.js @@ -1,7 +1,7 @@ /*! Name: vue-upload-component Component URI: https://github.com/lian-yue/vue-upload-component#readme -Version: 3.0.47 +Version: 3.0.49 Author: LianYue License: Apache-2.0 Description: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter @@ -672,6 +672,8 @@ Description: Vue.js file upload component, Multi-file upload, Upload directory, this.active = false; // 销毁拖拽事件 this.watchDrop(false); + // 销毁不激活 + this.watchActive(false); }, computed: { /** diff --git a/dist/vue-upload-component.ssr.js.map b/dist/vue-upload-component.ssr.js.map index 2a65b93..ecb629a 100644 --- a/dist/vue-upload-component.ssr.js.map +++ b/dist/vue-upload-component.ssr.js.map @@ -1 +1 @@ -{"version":3,"file":"vue-upload-component.ssr.js","sources":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/FileUpload.vue","../src/FileUpload.vue?vue&type=template&id=5f28f5e8&lang.js","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\nexport const createRequest = (options) => {\n const xhr = new XMLHttpRequest()\n xhr.open(options.method || 'GET', options.url)\n xhr.responseType = 'json'\n if (options.headers) {\n Object.keys(options.headers).forEach(key => {\n xhr.setRequestHeader(key, options.headers[key])\n })\n }\n\n return xhr\n}\n\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\nexport const sendRequest = (xhr, body) => {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(JSON.stringify(body))\n })\n}\n\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\nexport const sendFormRequest = (xhr, data) => {\n const body = new FormData()\n for (let name in data) {\n body.append(name, data[name])\n }\n\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(body)\n })\n}\n\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\nexport default function (options) {\n const xhr = createRequest(options)\n\n return sendRequest(xhr, options.body)\n}\n","import {\n default as request,\n createRequest,\n sendFormRequest\n} from '../utils/request'\n\nexport default class ChunkUploadHandler {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n constructor(file, options) {\n this.file = file\n this.options = options\n this.chunks = []\n this.sessionId = null\n this.chunkSize = null\n this.speedInterval = null\n }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries() {\n return parseInt(this.options.maxRetries, 10)\n }\n\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n get maxActiveChunks() {\n return parseInt(this.options.maxActive, 10)\n }\n\n /**\n * Gets the file type\n */\n get fileType() {\n return this.file.type\n }\n\n /**\n * Gets the file size\n */\n get fileSize() {\n return this.file.size\n }\n\n /**\n * Gets the file name\n */\n get fileName() {\n return this.file.name\n }\n\n /**\n * Gets action (url) to upload the file\n */\n get action() {\n return this.options.action || null\n }\n\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n get startBody() {\n return this.options.startBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n get uploadBody() {\n return this.options.uploadBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n get finishBody() {\n return this.options.finishBody || {}\n }\n\n /**\n * Gets the headers of the requests from options\n */\n get headers() {\n return this.options.headers || {}\n }\n\n /**\n * Whether it's ready to upload files or not\n */\n get readyToUpload() {\n return !!this.chunks\n }\n\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n get progress() {\n const completedProgress = (this.chunksUploaded.length / this.chunks.length) * 100\n const uploadingProgress = this.chunksUploading.reduce((progress, chunk) => {\n return progress + ((chunk.progress | 0) / this.chunks.length)\n }, 0)\n\n return Math.min(completedProgress + uploadingProgress, 100)\n }\n\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n get chunksToUpload() {\n return this.chunks.filter(chunk => {\n return !chunk.active && !chunk.uploaded\n })\n }\n\n /**\n * Whether there are chunks to upload or not\n */\n get hasChunksToUpload() {\n return this.chunksToUpload.length > 0\n }\n\n /**\n * Gets all the chunks that are uploading\n */\n get chunksUploading() {\n return this.chunks.filter(chunk => {\n return !!chunk.xhr && !!chunk.active\n })\n }\n\n /**\n * Gets all the chunks that have finished uploading\n */\n get chunksUploaded() {\n return this.chunks.filter(chunk => {\n return !!chunk.uploaded\n })\n }\n\n /**\n * Creates all the chunks in the initial state\n */\n createChunks() {\n this.chunks = []\n\n let start = 0\n let end = this.chunkSize\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n })\n start = end\n end = start + this.chunkSize\n }\n }\n\n /**\n * Updates the progress of the file with the handler's progress\n */\n updateFileProgress() {\n this.file.progress = this.progress\n }\n\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n pause() {\n this.file.active = false\n this.stopChunks()\n }\n\n /**\n * Stops all the current chunks\n */\n stopChunks() {\n this.chunksUploading.forEach(chunk => {\n chunk.xhr.abort()\n chunk.active = false\n })\n\n this.stopSpeedCalc()\n }\n\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n resume() {\n this.file.active = true\n this.startChunking()\n }\n\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n upload() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve\n this.reject = reject\n })\n this.start()\n\n return this.promise\n }\n\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n start() {\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json'},\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(res => {\n if (res.status !== 'success') {\n this.file.response = res\n return this.reject('server')\n }\n\n this.sessionId = res.data.session_id\n this.chunkSize = res.data.end_offset\n\n this.createChunks()\n this.startChunking()\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n /**\n * Starts to upload chunks\n */\n startChunking() {\n for (let i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk()\n }\n\n this.startSpeedCalc()\n }\n\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0])\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish()\n }\n }\n }\n\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n uploadChunk(chunk) {\n chunk.progress = 0\n chunk.active = true\n this.updateFileProgress()\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n })\n\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100)\n }\n }, false)\n\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(res => {\n chunk.active = false\n if (res.status === 'success') {\n chunk.uploaded = true\n } else {\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n }\n\n this.uploadNextChunk()\n }).catch(() => {\n chunk.active = false\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n\n this.uploadNextChunk()\n })\n }\n\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n finish() {\n this.updateFileProgress()\n this.stopSpeedCalc()\n\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json' },\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(res => {\n this.file.response = res\n if (res.status !== 'success') {\n return this.reject('server')\n }\n\n this.resolve(res)\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n startSpeedCalc() {\n this.file.speed = 0\n let lastUploadedBytes = 0\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(() => {\n let uploadedBytes = (this.progress / 100) * this.fileSize\n this.file.speed = (uploadedBytes - lastUploadedBytes)\n lastUploadedBytes = uploadedBytes\n }, 1000)\n }\n }\n\n /**\n * Removes the upload speed interval\n */\n stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval)\n this.speedInterval = null\n this.file.speed = 0\n }\n}\n","\n\n\n","\n\n\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["ChunkUploadDefaultHandler","defineComponent","_mergeProps"],"mappings":";;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACO,MAAM,aAAa,GAAG,CAAC,OAAO,KAAK;EAC1C,EAAE,MAAM,GAAG,GAAG,IAAI,cAAc,GAAE;EAClC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,OAAO,CAAC,GAAG,EAAC;EAChD,EAAE,GAAG,CAAC,YAAY,GAAG,OAAM;EAC3B,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;EACvB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;EAChD,MAAM,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;EACrD,KAAK,EAAC;EACN,GAAG;AACH;EACA,EAAE,OAAO,GAAG;EACZ,EAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA;EACO,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK;EAC1C,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;EAC1C,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM;EACvB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;EACjD,QAAQ,IAAI,SAAQ;EACpB,QAAQ,IAAI;EACZ,UAAU,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAC;EAC7C,SAAS,CAAC,OAAO,GAAG,EAAE;EACtB,UAAU,QAAQ,GAAG,GAAG,CAAC,SAAQ;EACjC,SAAS;EACT,QAAQ,OAAO,CAAC,QAAQ,EAAC;EACzB,OAAO,MAAM;EACb,QAAQ,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAC;EAC5B,OAAO;EACP,MAAK;EACL,IAAI,GAAG,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAC;EAC5C,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC;EAClC,GAAG,CAAC;EACJ,EAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA;EACO,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK;EAC9C,EAAE,MAAM,IAAI,GAAG,IAAI,QAAQ,GAAE;EAC7B,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE;EACzB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAC;EACjC,GAAG;AACH;EACA,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;EAC1C,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM;EACvB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;EACjD,QAAQ,IAAI,SAAQ;EACpB,QAAQ,IAAI;EACZ,UAAU,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAC;EAC7C,SAAS,CAAC,OAAO,GAAG,EAAE;EACtB,UAAU,QAAQ,GAAG,GAAG,CAAC,SAAQ;EACjC,SAAS;EACT,QAAQ,OAAO,CAAC,QAAQ,EAAC;EACzB,OAAO,MAAM;EACb,QAAQ,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAC;EAC5B,OAAO;EACP,MAAK;EACL,IAAI,GAAG,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAC;EAC5C,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAC;EAClB,GAAG,CAAC;EACJ,EAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACe,gBAAQ,EAAE,OAAO,EAAE;EAClC,EAAE,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,EAAC;AACpC;EACA,EAAE,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC;EACvC;;EChFe,MAAM,kBAAkB,CAAC;EACxC;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE;EAC7B,IAAI,IAAI,CAAC,IAAI,GAAG,KAAI;EACpB,IAAI,IAAI,CAAC,OAAO,GAAG,QAAO;EAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,GAAE;EACpB,IAAI,IAAI,CAAC,SAAS,GAAG,KAAI;EACzB,IAAI,IAAI,CAAC,SAAS,GAAG,KAAI;EACzB,IAAI,IAAI,CAAC,aAAa,GAAG,KAAI;EAC7B,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,UAAU,GAAG;EACnB,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;EAChD,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,eAAe,GAAG;EACxB,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;EAC/C,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,QAAQ,GAAG;EACjB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;EACzB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,QAAQ,GAAG;EACjB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;EACzB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,QAAQ,GAAG;EACjB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;EACzB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,MAAM,GAAG;EACf,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI;EACtC,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,SAAS,GAAG;EAClB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE;EACvC,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,UAAU,GAAG;EACnB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EACxC,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,UAAU,GAAG;EACnB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EACxC,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,OAAO,GAAG;EAChB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE;EACrC,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,aAAa,GAAG;EACtB,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,QAAQ,GAAG;EACjB,IAAI,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAG;EACrF,IAAI,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK;EAC/E,MAAM,OAAO,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;EACnE,KAAK,EAAE,CAAC,EAAC;AACT;EACA,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,CAAC;EAC/D,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,cAAc,GAAG;EACvB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI;EACvC,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ;EAC7C,KAAK,CAAC;EACN,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,iBAAiB,GAAG;EAC1B,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;EACzC,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,eAAe,GAAG;EACxB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI;EACvC,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM;EAC1C,KAAK,CAAC;EACN,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,IAAI,cAAc,GAAG;EACvB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI;EACvC,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ;EAC7B,KAAK,CAAC;EACN,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,YAAY,GAAG;EACjB,IAAI,IAAI,CAAC,MAAM,GAAG,GAAE;AACpB;EACA,IAAI,IAAI,KAAK,GAAG,EAAC;EACjB,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,UAAS;EAC5B,IAAI,OAAO,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;EAClC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;EACvB,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;EAC9C,QAAQ,WAAW,EAAE,KAAK;EAC1B,QAAQ,MAAM,EAAE,KAAK;EACrB,QAAQ,OAAO,EAAE,IAAI,CAAC,UAAU;EAChC,OAAO,EAAC;EACR,MAAM,KAAK,GAAG,IAAG;EACjB,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,UAAS;EAClC,KAAK;EACL,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,kBAAkB,GAAG;EACvB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAQ;EACtC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,GAAG;EACV,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAK;EAC5B,IAAI,IAAI,CAAC,UAAU,GAAE;EACrB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,UAAU,GAAG;EACf,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI;EAC1C,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,GAAE;EACvB,MAAM,KAAK,CAAC,MAAM,GAAG,MAAK;EAC1B,KAAK,EAAC;AACN;EACA,IAAI,IAAI,CAAC,aAAa,GAAE;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAI;EAC3B,IAAI,IAAI,CAAC,aAAa,GAAE;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;EACpD,MAAM,IAAI,CAAC,OAAO,GAAG,QAAO;EAC5B,MAAM,IAAI,CAAC,MAAM,GAAG,OAAM;EAC1B,KAAK,EAAC;EACN,IAAI,IAAI,CAAC,KAAK,GAAE;AAChB;EACA,IAAI,OAAO,IAAI,CAAC,OAAO;EACvB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,GAAG;EACV,IAAI,OAAO,CAAC;EACZ,MAAM,MAAM,EAAE,MAAM;EACpB,MAAM,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC;EACrE,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM;EACtB,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;EAC1C,QAAQ,KAAK,EAAE,OAAO;EACtB,QAAQ,SAAS,EAAE,IAAI,CAAC,QAAQ;EAChC,QAAQ,IAAI,EAAE,IAAI,CAAC,QAAQ;EAC3B,QAAQ,IAAI,EAAE,IAAI,CAAC,QAAQ;EAC3B,OAAO,CAAC;EACR,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI;EACnB,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;EACpC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAG;EAChC,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;EACpC,OAAO;AACP;EACA,MAAM,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,WAAU;EAC1C,MAAM,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,WAAU;AAC1C;EACA,MAAM,IAAI,CAAC,YAAY,GAAE;EACzB,MAAM,IAAI,CAAC,aAAa,GAAE;EAC1B,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI;EACpB,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAG;EAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC;EAC3B,KAAK,EAAC;EACN,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE;EACnD,MAAM,IAAI,CAAC,eAAe,GAAE;EAC5B,KAAK;AACL;EACA,IAAI,IAAI,CAAC,cAAc,GAAE;EACzB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,GAAG;EACpB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;EAC1B,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;EAClC,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;EACvD,OAAO;AACP;EACA,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;EAC7C,QAAQ,OAAO,IAAI,CAAC,MAAM,EAAE;EAC5B,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,WAAW,CAAC,KAAK,EAAE;EACrB,IAAI,KAAK,CAAC,QAAQ,GAAG,EAAC;EACtB,IAAI,KAAK,CAAC,MAAM,GAAG,KAAI;EACvB,IAAI,IAAI,CAAC,kBAAkB,GAAE;EAC7B,IAAI,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC;EAC9B,MAAM,MAAM,EAAE,MAAM;EACpB,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;EAC3B,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM;EACtB,KAAK,EAAC;AACN;EACA,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,EAAE;EACjE,MAAM,IAAI,GAAG,CAAC,gBAAgB,EAAE;EAChC,QAAQ,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,EAAC;EACjE,OAAO;EACP,KAAK,EAAE,KAAK,EAAC;AACb;EACA,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;EAC9D,MAAM,KAAK,EAAE,QAAQ;EACrB,MAAM,UAAU,EAAE,IAAI,CAAC,SAAS;EAChC,MAAM,YAAY,EAAE,KAAK,CAAC,WAAW;EACrC,MAAM,KAAK,EAAE,KAAK,CAAC,IAAI;EACvB,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI;EACpB,MAAM,KAAK,CAAC,MAAM,GAAG,MAAK;EAC1B,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;EACpC,QAAQ,KAAK,CAAC,QAAQ,GAAG,KAAI;EAC7B,OAAO,MAAM;EACb,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;EAClC,UAAU,IAAI,CAAC,UAAU,GAAE;EAC3B,UAAU,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;EACtC,SAAS;EACT,OAAO;AACP;EACA,MAAM,IAAI,CAAC,eAAe,GAAE;EAC5B,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM;EACnB,MAAM,KAAK,CAAC,MAAM,GAAG,MAAK;EAC1B,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;EAChC,QAAQ,IAAI,CAAC,UAAU,GAAE;EACzB,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;EACpC,OAAO;AACP;EACA,MAAM,IAAI,CAAC,eAAe,GAAE;EAC5B,KAAK,EAAC;EACN,GAAG;AACH;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,CAAC,kBAAkB,GAAE;EAC7B,IAAI,IAAI,CAAC,aAAa,GAAE;AACxB;EACA,IAAI,OAAO,CAAC;EACZ,MAAM,MAAM,EAAE,MAAM;EACpB,MAAM,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;EACtE,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM;EACtB,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;EAC3C,QAAQ,KAAK,EAAE,QAAQ;EACvB,QAAQ,UAAU,EAAE,IAAI,CAAC,SAAS;EAClC,OAAO,CAAC;EACR,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI;EACnB,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAG;EAC9B,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;EACpC,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;EACpC,OAAO;AACP;EACA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAC;EACvB,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI;EACpB,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAG;EAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC;EAC3B,KAAK,EAAC;EACN,GAAG;AACH;AACA;EACA;EACA;EACA;EACA;EACA,EAAE,cAAc,GAAG;EACnB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAC;EACvB,IAAI,IAAI,iBAAiB,GAAG,EAAC;EAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;EAC7B,MAAM,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM;EACpD,QAAQ,IAAI,aAAa,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,SAAQ;EACjE,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,GAAG,iBAAiB,EAAC;EAC7D,QAAQ,iBAAiB,GAAG,cAAa;EACzC,OAAO,EAAE,IAAI,EAAC;EACd,KAAK;EACL,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAC;EAClE,IAAI,IAAI,CAAC,aAAa,GAAG,KAAI;EAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAC;EACvB,GAAG;EACH;;EC5UA,MAAM,wBAAwB;MAC5B,OAAO,EAAE,EAAE;MACX,MAAM,EAAE,EAAE;MACV,OAAO,EAAE,OAAO;MAChB,SAAS,EAAE,CAAC;MACZ,UAAU,EAAE,CAAC;MACb,OAAO,EAAEA;;AA2IX,eAAeC,mBAAe,CAAC;MAC7B,KAAK,EAAE;UACL,OAAO,EAAE;cACP,IAAI,EAAE,MAAM;WACb;UACD,IAAI,EAAE;cACJ,IAAI,EAAE,MAAM;cACZ,OAAO,EAAE,MAAM;WAChB;UACD,MAAM,EAAE;cACN,IAAI,EAAE,MAAM;WACb;UACD,OAAO,EAAE,EACR;UACD,QAAQ,EAAE;cACR,OAAO,EAAE,KAAK;WACf;UACD,QAAQ,EAAE;cACR,IAAI,EAAE,OAAO;cACb,OAAO,EAAE,KAAK;WACf;UACD,OAAO,EAAE;cACP,IAAI,EAAE,MAAM;WACb;UACD,QAAQ,EAAE;cACR,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;WACxB;UACD,SAAS,EAAE;cACT,IAAI,EAAE,OAAO;WACd;UACD,eAAe,EAAE;cACf,IAAI,EAAE,OAAO;cACb,OAAO,EAAE;WACV;UACD,UAAU,EAAE;cACV,IAAI,EAAE,MAAM;WACb;UACD,SAAS,EAAE;cACT,IAAI,EAAE,MAAM;WACb;UACD,YAAY,EAAE;cACZ,IAAI,EAAE;WACP;UACD,OAAO,EAAE;cACP,IAAI,EAAE,MAAuC;cAC7C,OAAO,EAAC;kBACN,OAAO;eACR;WACF;UAED,IAAI,EAAE;cACJ,IAAI,EAAE,MAAuC;cAC7C,OAAO,EAAC;kBACN,OAAO;eACR;WACF;UACD,OAAO,EAAE;cACP,IAAI,EAAE,MAAM;cACZ,OAAO,EAAE,CAAC;WACX;UACD,IAAI,EAAE;cACJ,OAAO,EAAE,KAAK;WACf;UACD,aAAa,EAAE;cACb,IAAI,EAAE,OAAO;cACb,OAAO,EAAE,IAAI;WACd;UACD,IAAI,EAAE;cACJ,IAAI,EAAE,MAAM;cACZ,OAAO,EAAE,CAAC;WACX;UACD,UAAU,EAAE;cACV,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAuC;cACnE,OAAO,EAAE;kBACP,OAAO;eACR;WACF;UACD,UAAU,EAAE;cACV,IAAI,EAAE,KAAkC;cACxC,OAAO,EAAC;kBACN,OAAO;eACR;WACF;UACD,MAAM,EAAE;cACN,IAAI,EAAE,MAAM;cACZ,OAAO,EAAE,CAAC;WACX;;UAED,YAAY,EAAE;cACZ,IAAI,EAAE,OAAO;cACb,OAAO,EAAE;WACV;;UAED,KAAK,EAAE;cACL,IAAI,EAAE,MAA+I;cACrJ,OAAO,EAAE;kBACP,OAAO;;;OAGZ;MACD,KAAK,EAAE;UACL,mBAAmB;UACnB,cAAc;UACd,YAAY;OACb;MACD,IAAI;UACF,OAAO;cACL,KAAK,EAAE,IAAI,CAAC,UAAU;cACtB,QAAQ,EAAE;kBACR,KAAK,EAAE,IAAI;kBACX,SAAS,EAAE,KAAK;kBAChB,IAAI,EAAE,KAAK;eACZ;cACD,MAAM,EAAE,KAAK;cACb,UAAU,EAAE,KAAK;cACjB,SAAS,EAAE,CAAC;cACZ,OAAO,EAAE,KAAK;cACd,IAAI,EAAE,EAAE;cACR,WAAW,EAAE,IAAI;cACjB,MAAM,EAAE,KAAK;;OAEhB;;;;;MAKD,OAAO;UACL,MAAM,QAAQ,QAAQ,CAAC,aAAa,CAAC,OAAO;UAC5C,KAAK,CAAC,OAAO;UACb,KAAK,CAAC,WAAW;;UAEjB,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,KAAK,EAAE;;;cAGlC,IAAI,OAAO,KAAK,CAAC,oBAAoB,aAAa,OAAO,KAAK,CAAC,cAAc,SAAS,EAAE;kBACtF,IAAI,CAAC,QAAQ,CAAC,YAAY;;;cAG5B,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,OAAO,KAAK,CAAC,WAAW,WAAW,EAAE;kBAC9D,IAAI,CAAC,QAAQ,CAAC,OAAO;;;eAElB;cACL,IAAI,CAAC,QAAQ,CAAC,QAAQ;;;UAGxB,IAAI,CAAC,OAAO;UACZ,IAAI,IAAI,CAAC,KAAK,EAAE;cACd,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;kBAC1C,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;kBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;;;;UAKzB,IAAI,CAAC,SAAS,CAAE;;cAEd,IAAI,IAAI,CAAC,OAAO,EAAE;kBAChB,IAAI,CAAC,OAAO,CAAC,YAAY;;kBAEzB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;sBACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;mBACzB;;mBACI;;kBAEL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;;WAE3B;OACF;;;;;MAKD,aAAa;;UAEX,IAAI,CAAC,UAAU;;UAEf,IAAI,CAAC,SAAS;;UAEd,IAAI,CAAC,SAAS,CAAC,KAAK;OACrB;MAED,QAAQ,EAAE;;;;;;;;;UASR,QAAQ;cACN,IAAI;cACJ,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;kBAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;kBACnB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;sBACnD,OAAO;;;cAGX,OAAO;WACR;UACD,YAAY;cACV,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK;WACvD;UACD,SAAS;cACP,OAAO;kBACL,cAAc;kBACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,uBAAuB,oBAAoB;kBACjE,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,YAAY,2BAA2B,SAAS;kBAChF,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,OAAO,sBAAsB,SAAS;kBACjE,IAAI,CAAC,WAAW,0BAA0B,SAAS;;WAEtD;UACD,KAAK;cACH,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC;WAC7B;UACD,QAAQ;cACN,IAAI,IAAI,CAAC,YAAY,SAAS,EAAE;kBAC9B,OAAO,IAAI,CAAC,WAAW,IAAI;;cAE7B,OAAO,IAAI,CAAC;WACb;UACD,WAAW;cACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;kBACpB;;cAEF,IAAI,IAAI,CAAC,sBAAsB,MAAM,EAAE;kBACrC,OAAO,IAAI,CAAC;;cAEd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;kBAC3B;;cAEF,IAAI,IAAI,GAAa;cACrB,IAAI,OAAO,IAAI,CAAC,eAAe,QAAQ,EAAE;kBACvC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG;;mBAC3B;kBACL,OAAO,IAAI,CAAC;;cAEd,OAAO,IAAI,CAAC,GAAG,CAAC,UAAS,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAI,CAAC,CAAC,MAAM,CAAC,UAAS,KAAK,IAAI,OAAO,QAAO;cAChG,OAAO,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG;WAC5E;OACF;MACD,KAAK,EAAE;UACL,MAAM,CAAC,MAAe;cACpB,IAAI,CAAC,WAAW,CAAC,MAAM;WACxB;UACD,UAAU;cACR,IAAI,IAAI,CAAC,OAAO,EAAE;kBAChB,IAAI,CAAC,OAAO,CAAC,YAAY;;WAE5B;UACD,IAAI,CAAC,KAAc;cACjB,IAAI,CAAC,SAAS,CAAC,KAAK;WACrB;UACD,UAAU,CAAC,KAAsB;cAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE;kBACxB;;cAEF,IAAI,CAAC,QAAQ;cACb,MAAM,UAAU,IAAI,CAAC;;cAErB,IAAI,CAAC,OAAO;cACZ,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;kBAC1C,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;kBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;;;cAGvB,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,EAAE;kBAC3B,MAAM,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG;kBAC7B,MAAM,UAAU,OAAO,CAAC,GAAG;kBAC3B,IAAI,YAAY,OAAO,EAAE;sBACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;;;;cAIlC,KAAK,MAAM,OAAO,OAAO,EAAE;kBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;sBACnB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;;;WAG1C;OACF;MACD,OAAO,EAAE;UACP,KAAK;cACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;WAC3C;;UAED,KAAK;cACH,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;kBACrB,MAAM,QAAQ,IAAI,CAAC;kBACnB,IAAI,CAAC,QAAQ;;kBAEb,IAAI,CAAC,OAAO;;kBAEZ,IAAI,CAAC,SAAS;kBACd,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;sBACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;;;cAGrC,OAAO;WACR;;UAED,GAAG,CAAC,EAA0B;cAC5B,IAAI,CAAC,EAAE,EAAE;kBACP,OAAO;;cAET,IAAI,OAAO,OAAO,QAAQ,EAAE;kBAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAG,EAAE,KAAK;;cAElC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK;WACzB;;UAED,GAAG,CAAC,MAA0D,EAAE,KAAwB;;cAEtF,IAAI;cACJ,IAAI,kBAAkB,KAAK,EAAE;kBAC3B,QAAQ;;mBACH;kBACL,QAAQ,CAAC,MAAM;;cAEjB,IAAI,UAAU,SAAS,EAAE;;kBAEvB,QAAQ,IAAI,CAAC;;;cAGf,MAAM,QAAQ,GAAoB;cAClC,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;kBACrC,IAAI,IAAI,GAAyB,KAAK,CAAC,CAAC;kBACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,gBAAgB,IAAI,EAAE;sBAC/C,OAAO;0BACL,EAAE,EAAE,EAAE;0BACN,IAAI;0BACJ,IAAI,EAAE,IAAI,CAAC,IAAI;;0BAEf,IAAI,EAAE,IAAI,CAAC,sBAAsB,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,SAAS;0BAC5E,IAAI,EAAE,IAAI,CAAC,IAAI;;;kBAGnB,OAAO;kBACP,IAAI,aAAa;kBACjB,IAAI,IAAI,CAAC,eAAe,KAAK,EAAE;uBAExB,IAAI,IAAI,CAAC,UAAU,EAAE;sBAC1B,aAAa;;uBACR,IAAI,OAAO,YAAY,eAAe,IAAI,CAAC,cAAc,gBAAgB,EAAE;sBAChF,aAAa;;uBACR,IAAI,OAAO,SAAS,eAAe,IAAI,CAAC,gBAAgB,IAAI,EAAE;sBACnE,aAAa;;kBAEf,IAAI,UAAU,EAAE;sBACd,OAAO;0BACL,UAAU,EAAE,IAAI;0BAChB,IAAI,EAAE,CAAC,CAAC;0BACR,IAAI,EAAE,UAAU;0BAChB,IAAI,EAAE,EAAE;0BACR,MAAM,EAAE,KAAK;0BACb,KAAK,EAAE,EAAE;0BACT,OAAO,EAAE,KAAK;0BACd,SAAS,EAAE,IAAI,CAAC,SAAS;0BACzB,UAAU,EAAE,IAAI,CAAC,UAAU;0BAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;0BACrB,GAAG,IAAI;0BACP,QAAQ,EAAE,EAAE;0BACZ,QAAQ,EAAE,MAAM;0BAChB,KAAK,EAAE,CAAC;;sBAMV,IAAI,CAAC,OAAO;0BACV,GAAG,IAAI,CAAC,IAAI;0BACZ,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE;;sBAE/B,IAAI,CAAC,UAAU;0BACb,GAAG,IAAI,CAAC,OAAO;0BACf,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;;;;kBAIvC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;sBACZ,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;;kBAExB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;sBACpC;;;kBAGF,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE;sBAC/E;;kBAEF,QAAQ,CAAC,IAAI,CAAC,IAAI;;kBAElB,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE;sBACvB;;;;cAIJ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;kBACpB;;;cAGF,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE;kBACvB,IAAI,CAAC,KAAK;;;cAGZ,IAAI;cACJ,IAAI,UAAU,QAAQ,UAAU,CAAC,EAAE;kBACjC,WAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;;mBAChC,IAAI,KAAK,EAAE;kBAChB,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;kBAC/B,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,QAAQ;;mBAChC;kBACL,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ;;cAEvC,IAAI,CAAC,QAAQ;;cAEb,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;kBACxC,MAAM,OAAO,QAAQ,CAAC,CAAC;kBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;;;cAGvB,IAAI,CAAC,SAAS;cACd,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;kBACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS;;cAEtC,OAAO,kBAAkB,QAAQ,WAAW,QAAQ,CAAC,CAAC;WACvD;;UAED,YAAY,CAAC,EAAoB;cAC/B,MAAM,KAAK,GAAgC;cAC3C,MAAM,eAAe,IAAI,CAAC;;cAE1B,MAAM,SAAS,EAAE,CAAC,iBAAiB,EAAE,CAAC,WAAW;cACjD,IAAI,MAAM,EAAE,MAAM,EAAE;kBAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK;sBAChD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK;mBACtB;;cAGH,IAAI,EAAE,CAAC,KAAK,EAAE;kBACZ,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;sBACxC,MAAM,IAAI,GAAS,EAAE,CAAC,KAAK,CAAC,CAAC;sBAC7B,KAAK,CAAC,IAAI,CAAC;0BACT,EAAE,EAAE,EAAE;0BACN,IAAI,EAAE,IAAI,CAAC,IAAI;;0BAEf,IAAI,EAAE,IAAI,CAAC,sBAAsB,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI;0BAC/D,IAAI,EAAE,IAAI,CAAC,IAAI;0BACf,IAAI;uBACL;;;mBAEE;kBACL,IAAI,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG;kBAClD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE;sBAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK;;;kBAGnB,OAAO,EAAE,CAAC;kBACV,KAAK,CAAC,IAAI,CAAC;sBACT,EAAE,EAAE,EAAE;sBACN,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;sBAC7B,EAAE;mBACH;;cAEH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAoB;WAC1D;;UAGD,eAAe,CAAC,YAA0B;;cAExC,IAAI,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;kBAC/B,MAAM,MAAM,GAAgE;;kBAE5E,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;sBAClD,MAAM,mBAAmB,YAAY,CAAC,KAAK,CAAC,CAAC;sBAC7C,IAAI;;sBAEJ,IAAI,gBAAgB,CAAC,UAAU,EAAE;;0BAE/B,QAAQ,gBAAgB,CAAC,UAAU,MAAM,gBAAgB,CAAC,SAAS;;2BAC9D,IAAI,gBAAgB,CAAC,gBAAgB,EAAE;0BAC5C,QAAQ,gBAAgB,CAAC,gBAAgB,MAAM,gBAAgB,CAAC,SAAS;;2BACpE;0BACL,QAAQ,gBAAgB,CAAC,SAAS;;sBAEpC,IAAI,KAAK,EAAE;0BACT,MAAM,CAAC,IAAI,CAAC,KAAK;;;kBAGrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK;sBAChD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK;mBACtB;;;cAIH,MAAM,eAAe,IAAI,CAAC;cAC1B,MAAM,KAAK,GAAgC;cAC3C,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE;kBAC7B,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;sBAClD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;sBAChC,IAAI,eAAe,KAAK,KAAK,CAAC,UAAU,YAAY,EAAE;0BACpD;;;kBAGJ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAoB;;cAG3D,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE;WAC1B;;UAID,kBAAkB,CAAC,KAA2H,EAAE,OAAO,EAAE;cACvJ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO;kBACzB,MAAM,eAAe,IAAI,CAAC;kBAE1B,IAAI,CAAC,KAAK,EAAE;sBACV,OAAO,CAAC,EAAE;sBACV;;kBAGF,IAAI,iBAAiB,KAAK,EAAE;;sBAE1B,MAAM,WAAW,GAAoB;sBACrC,MAAM,UAAU,CAAC,CAAQ;0BACvB,MAAM,IAAI,KAAK,CAAC,CAAC;0BACjB,IAAI,CAAC,MAAM,eAAe,KAAK,WAAW,CAAC,UAAU,YAAY,CAAC,EAAE;8BAClE,OAAO,OAAO,CAAC,WAAW;;0BAE5B,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAS,OAAO;8BACpD,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO;8BAC3B,OAAO,CAAC,IAAI,CAAC;2BACd;;sBAEH,OAAO,CAAC,CAAC;sBACT;;kBAGF,IAAI,iBAAiB,IAAI,EAAE;sBACzB,OAAO,CAAC;0BACN;8BACE,EAAE,EAAE,EAAE;8BACN,IAAI,EAAE,KAAK,CAAC,IAAI;8BAChB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI;8BACvB,IAAI,EAAE,KAAK,CAAC,IAAI;8BAChB,IAAI,EAAE,KAAK;;uBAEd;sBACD;;kBAKF,IAAI,KAAK,CAAC,MAAM,EAAE;sBAChB,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI;0BACvB,OAAO,CAAC;8BACN;kCACE,EAAE,EAAC,EAAE;kCACL,IAAI,EAAE,IAAI,CAAC,IAAI;kCACf,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI;kCACtB,IAAI,EAAE,IAAI,CAAC,IAAI;kCACf,IAAI;;2BAEP;uBACF;sBACD;;kBAGF,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,aAAa,EAAE;sBAC3C,MAAM,WAAW,GAAoB;;sBAErC,IAAI,IAAI,CAAC,eAAe,EAAE;0BACxB,WAAW,CAAC,IAAI,CAAC;8BACf,EAAE,EAAE,EAAE;8BACN,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI;8BACvB,IAAI,EAAE,CAAC;8BACP,IAAI,EAAE,gBAAgB;8BACtB,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAC,CAAC;2BAChE;;sBAGH,MAAM,YAAY,KAAK,CAAC,YAAY;sBACpC,MAAM,cAAc;0BAClB,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO;8BAC5B,MAAM,UAAU,CAAC,CAAQ;kCACvB,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,eAAe,KAAK,WAAW,CAAC,UAAU,YAAY,CAAC,EAAE;sCACxF,OAAO,OAAO,CAAC,WAAW;;kCAE5B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;sCACf,OAAO,WAAW;;kCAEpB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,UAAS,OAAO;sCAChF,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO;sCAC3B,OAAO,CAAC,IAAI,CAAC;mCACd;;8BAEH,OAAO,CAAC,CAAC;2BACV;;sBAEH,WAAW;sBACX;;kBAGF,OAAO,CAAC,EAAE;eACX;WACF;;UAED,OAAO,CAAC,GAA0B,EAAE,GAA2B;cAC7D,MAAM,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG;cAC1B,MAAM,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG;cAC1B,IAAI,CAAC,SAAS,CAAC,SAAS,UAAU,KAAK,EAAE;kBACvC,OAAO;;cAET,MAAM,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;cAClC,MAAM,SAAS,KAAK,CAAC,OAAO,CAAC,KAAK;cAClC,MAAM,SAAS,KAAK,CAAC,OAAO,CAAC,KAAK;cAClC,IAAI,WAAW,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE;kBAClC,OAAO;;cAET,KAAK,CAAC,MAAM,IAAI;cAChB,KAAK,CAAC,MAAM,IAAI;cAChB,IAAI,CAAC,QAAQ;cACb,IAAI,CAAC,SAAS;cACd,OAAO;WACR;;UAED,MAAM,CAAC,EAA0B;cAC/B,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE;cACxB,IAAI,IAAI,EAAE;kBACR,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;sBACpC,OAAO;;kBAET,MAAM,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;kBAClC,MAAM,QAAQ,KAAK,CAAC,OAAO,CAAC,IAAI;kBAChC,IAAI,UAAU,CAAC,CAAC,EAAE;sBAChB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI;sBAC5B,OAAO;;kBAET,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;kBACrB,IAAI,CAAC,QAAQ;;kBAEb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;;kBAExB,IAAI,CAAC,SAAS;kBACd,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI;;cAE/B,OAAO;WACR;;UAED,MAAM,CAAC,EAA0B,EAAE,IAAyB;cAC1D,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE;cACxB,IAAI,IAAI,EAAE;kBACR,MAAM,UAAU;sBACd,GAAG,IAAI;sBACP,GAAG;;;kBAGL,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE;sBAC3F,OAAO,CAAC,QAAQ;;kBAElB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;sBAClC,OAAO;;kBAET,MAAM,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;kBAClC,MAAM,QAAQ,KAAK,CAAC,OAAO,CAAC,IAAI;kBAChC,IAAI,UAAU,CAAC,CAAC,EAAE;sBAChB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI;sBAC5B,OAAO;;kBAET,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO;kBAC9B,IAAI,CAAC,QAAQ;;kBAEb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;kBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI;;kBAExB,IAAI,CAAC,SAAS;kBACd,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI;kBAC3B,OAAO;;cAET,OAAO;WACR;;UAED,UAAU,CAAC,OAAkC,EAAE,OAAkC;cAC/E,IAAI,YAAY;cAChB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,UAAS,UAAU,IAAI;kBAClE,YAAY;kBACZ,OAAO;eACR;cACD,OAAO;WACR;;UAGD,QAAQ,CAAC,OAAkC,EAAE,OAAkC;cAC7E,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO;cACzC,IAAI,OAAO,EAAE,cAAc,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;kBAC1E,IAAI,CAAC,SAAS;;;kBAGd,IAAI,CAAC,SAAS,CAAC;sBACb,UAAU,CAAC;0BACT,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;8BACnC,IAAI,OAAO,EAAE;;kCAEX,UAAU,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK;;8BAEjC,IAAI,OAAO,EAAE,UAAU,EAAE;kCACvB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;sCACnB,MAAM,EAAE,KAAK;sCACb,OAAO,EAAE,CAAC,OAAO,CAAC;mCACnB;;2BAEJ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM;8BACd,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;kCAC9B,MAAM,EAAE,KAAK;kCACb,OAAO,EAAE,KAAK;kCACd,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW;+BAC1C;2BACF;uBACF,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;mBACtC;;mBACI,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,OAAO,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE;;kBAElH,IAAI,CAAC,SAAS;;;;cAIhB,IAAI,IAAI,CAAC,WAAW,OAAO,CAAC,OAAO,MAAM,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,WAAW,OAAO,CAAC,MAAM,CAAC,EAAE;kBAC/F,IAAI,CAAC,WAAW,CAAC,IAAI;;WAExB;UACD,SAAS;cACP,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK;WAC3C;;UAED,MAAM,CAAC,EAA0B;cAC/B,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE;;cAExB,IAAI,CAAC,IAAI,EAAE;kBACT,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;;;cAG/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;kBACpB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC;;;cAGhD,IAAI,IAAI,CAAC,KAAK,EAAE;kBACd,IAAI,IAAI,CAAC,iBAAiB,KAAK,EAAE;sBAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;;kBAElC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;;cAG7C,IAAI,IAAI,CAAC,OAAO,EAAE;kBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI;;;cAG7B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE;kBACjC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC,EAAE;sBAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC;;;;cAKhD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE;kBACvF,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;;cAGzC,IAAI,IAAI,CAAC,YAAY,EAAE;kBACrB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI;;cAErC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;kBACvB,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE;sBACnC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI;;kBAE9B,IAAI,IAAI,CAAC,SAAS,EAAE;sBAClB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI;;kBAE5B,IAAI,IAAI,CAAC,UAAU,EAAE;sBACnB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI;;;cAGhC,IAAI,IAAI,CAAC,UAAU,EAAE;kBACnB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI;;cAE9B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC;WACxD;;;;;;UAMD,qBAAsB,IAAmB;cACvC,OAAO,IAAI,CAAC;kBACV,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;kBACpB,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC;WAC9C;;;;;;UAMD,WAAW,CAAC,IAAmB;cAC7B,MAAM,eAAe,IAAI,CAAC,YAAY,CAAC;cACvC,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY;cACrD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,GAAQ,OAAO,OAAO,OAAM;WAC9D;UACD,SAAS,CAAC,IAAmB;cAC3B,MAAM,SAAS;cACf,IAAI;cACJ,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,EAAE;kBAC3B,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG;kBACrB,IAAI,UAAU,QAAQ,UAAU,SAAS,EAAE;sBACzC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,MAAM,kBAAkB,CAAC,KAAK,CAAC;;;cAGzE,MAAM,YAAY,IAAI,CAAC,aAAa;cACpC,MAAM,cAAc,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI;cACrG,MAAM,MAAM,IAAI,cAAc;cAC9B,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,WAAW;cACvC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAY;WACnD;UACD,WAAW,CAAC,IAAmB;cAC7B,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;cAChC,IAAI;cACJ,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,EAAE;kBAC3B,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG;kBACrB,IAAI,SAAS,OAAO,UAAU,YAAY,OAAO,KAAK,CAAC,aAAa,UAAU,EAAE;sBAC9E,IAAI,iBAAiB,IAAI,EAAE;0BACzB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI;;2BAC7B;0BACL,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;uBAEnC,IAAI,UAAU,QAAQ,UAAU,SAAS,EAAE;sBAChD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK;;;;cAI1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAa,IAAI,CAAC,IAAI;cACpF,MAAM,MAAM,IAAI,cAAc;cAC9B,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;cACtC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI;WACtC;UAED,SAAS,CAAC,GAAkB,EAAE,KAAwC,EAAE,IAAqB;cAC3F,IAAI,OAAO;cACX,IAAI,YAAY;cAChB,IAAI,cAAc;;cAGlB,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAgB;;kBAEvC,IAAI,CAAC,IAAI,EAAE;sBACT;;kBAEF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI;kBACpB,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;sBACpE;;;kBAIF,MAAM,aAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI;kBAC/C,IAAI,eAAe,SAAS,EAAE;sBAC5B;;kBAEF,YAAY;kBAGZ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;sBACvB,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;sBAC/C,KAAK,EAAE,CAAC,CAAC,SAAS,WAAW;mBAC9B;kBACD,cAAc,CAAC,CAAC;;;cAIlB,IAAI,QAAQ,GAAsB,MAAM,CAAC,WAAW,CAAC;kBACnD,IAAI,IAAI,EAAE;sBACR,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;0BAC3B,IAAI,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE;8BACnE;;;;kBAKN,IAAI,QAAQ,EAAE;sBACZ,aAAa,CAAC,QAAQ;sBACtB,WAAW;;kBAGb,IAAI;sBACF,GAAG,CAAC,KAAK;sBACT,GAAG,CAAC,UAAU;;kBACd,OAAO,CAAC,EAAE;;eAEb,EAAE,GAAG;cAEN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAmC,EAAE,MAA0B;kBACjF,IAAI,CAAC,IAAI,EAAE;sBACT,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;sBAC9B;;kBAEF,IAAI;kBACJ,MAAM,KAAK,CAAC,CAAgB;;sBAE1B,IAAI,QAAQ,EAAE;0BACZ;;sBAEF,WAAW;sBACX,IAAI,QAAQ,EAAE;0BACZ,aAAa,CAAC,QAAQ;0BACtB,WAAW;;sBAEb,IAAI,CAAC,IAAI,EAAE;0BACT,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;;sBAEvC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI;;sBAGpB,IAAI,CAAC,IAAI,EAAE;0BACT,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;;;sBAIvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;0BACpB,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC;;;sBAIxC,IAAI,IAAI,CAAC,KAAK,EAAE;0BACd,IAAI,IAAI,CAAC,iBAAiB,KAAK,EAAE;8BAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK;;0BAE1B,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;;sBAIrC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;0BAChB,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC;;;sBAKlC,IAAI,IAAI,CAAC,OAAO,EAAE;0BAChB,OAAO,OAAO,CAAC,IAAI;;sBAGrB,MAAM,IAAI,GAAyB;sBAEnC,QAAQ,CAAC,CAAC,IAAI;0BACZ,KAAK,SAAS;0BACd,KAAK,OAAO;8BACV,IAAI,CAAC,QAAQ,CAAC,CAAC;8BACf;0BACF,KAAK,OAAO;8BACV,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;kCACf,IAAI,CAAC,QAAQ;;mCACR,IAAI,GAAG,CAAC,UAAU,GAAG,EAAE;kCAC5B,IAAI,CAAC,QAAQ;;mCACR,IAAI,GAAG,CAAC,UAAU,GAAG,EAAE;kCAC5B,IAAI,CAAC,QAAQ;;8BAEf;0BACF;8BACE,IAAI,GAAG,CAAC,UAAU,GAAG,EAAE;kCACrB,IAAI,CAAC,QAAQ;;mCACR,IAAI,GAAG,CAAC,UAAU,GAAG,EAAE;kCAC5B,IAAI,CAAC,QAAQ;;mCACR;kCACL,IAAI,CAAC,WAAW;;;sBAItB,IAAI,GAAG,CAAC,YAAY,EAAE;0BACpB,MAAM,cAAc,GAAG,CAAC,iBAAiB,CAAC,cAAc;0BACxD,IAAI,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,CAAC,EAAE;8BACtD,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY;;+BACtC;8BACL,IAAI,CAAC,WAAW,GAAG,CAAC;;;;;sBAMxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI;sBAE7B,IAAI,CAAC,IAAI,EAAE;0BACT,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC;;;sBAIlC,IAAI,IAAI,CAAC,KAAK,EAAE;0BACd,IAAI,IAAI,CAAC,iBAAiB,KAAK,EAAE;8BAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK;;0BAE1B,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;;sBAIrC,OAAO,OAAO,CAAC,IAAI;;;kBAIrB,GAAG,CAAC,SAAS;kBACb,GAAG,CAAC,UAAU;kBACd,GAAG,CAAC,UAAU;kBACd,GAAG,CAAC,YAAY;;kBAIhB,IAAI,IAAI,CAAC,OAAO,EAAE;sBAChB,GAAG,CAAC,UAAU,IAAI,CAAC;;;kBAIrB,KAAK,MAAM,OAAO,IAAI,CAAC,OAAO,EAAE;sBAC9B,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;;;;kBAK7C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK;;kBAGhC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI;eACtB;WACF;UACD,WAAW,CAAC,KAAwC;cAClD,IAAI,OAAO;cACX,IAAI,CAAC,IAAI,EAAE;kBACT,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;;cAE/C,MAAM,YAAY,UAAU,CAAM;kBAChC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;sBACpB,CAAC,CAAC,cAAc;;;cAIpB,MAAM,SAAS,QAAQ,CAAC,aAAa,CAAC,QAAQ;cAC9C,MAAM,CAAC,KAAK,mBAAmB,IAAI,CAAC;cACpC,MAAM,CAAC,OAAO,mBAAmB,IAAI,CAAC;cACtC,MAAM,CAAC,MAAM;cACb,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,uEAAuE;cAGpG,MAAM,IAAI,GAAoB,QAAQ,CAAC,aAAa,CAAC,MAAM;cAE3D,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;cAEjD,IAAI,CAAC,OAAO,iBAAiB,IAAI,CAAC;cAElC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM;cAClC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,mBAAmB,IAAI,CAAC,EAAE;cACtD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,qBAAqB;cAElD,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,EAAE;kBAC3B,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG;kBACzB,IAAI,SAAS,OAAO,UAAU,YAAY,OAAO,KAAK,CAAC,aAAa,UAAU,EAAE;sBAC9E,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK;;kBAE9B,IAAI,UAAU,QAAQ,UAAU,SAAS,EAAE;sBACzC,MAAM,KAAK,QAAQ,CAAC,aAAa,CAAC,OAAO;sBACzC,EAAE,CAAC,OAAO;sBACV,EAAE,CAAC,OAAO;sBACV,EAAE,CAAC,QAAQ;sBACX,IAAI,CAAC,WAAW,CAAC,EAAE;;;cAIvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAsB;cAE5C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI;cAGlD,MAAM,kBAAkB;kBACtB,IAAI;kBACJ,IAAI;sBACF,IAAI,MAAM,CAAC,aAAa,EAAE;0BACxB,MAAM,MAAM,CAAC,aAAa,CAAC;;;kBAE7B,OAAO,GAAG,EAAE;;kBAEd,IAAI,CAAC,GAAG,EAAE;sBACR,IAAI;;0BAEF,MAAM,MAAM,CAAC,kBAAkB,MAAM,CAAC,kBAAkB,MAAM,CAAC;;sBAC/D,OAAO,GAAG,EAAE;;0BAEZ,MAAM,MAAM,CAAC;;;;kBAIjB,IAAI,GAAG,EAAE,IAAI,EAAE;sBACb,OAAO,GAAG,CAAC,IAAI,CAAC;;kBAElB,OAAO;;cAGT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAmC,EAAE,MAA0B;kBACjF,UAAU,CAAC;sBACT,IAAI,CAAC,IAAI,EAAI;0BACX,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;0BAC9B;;sBAGF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ;;sBAGnC,IAAI,CAAC,IAAI,EAAE;0BACT,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;;;sBAIvC,IAAI,QAAQ,GAAuB,MAAM,CAAC,WAAW,CAAC;0BACpD,IAAI,IAAI,EAAE;8BACR,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;kCAC3B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE;sCAClE;;;;0BAKN,IAAI,QAAQ,EAAE;8BACZ,aAAa,CAAC,QAAQ;8BACtB,WAAW;;;0BAGb,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,UAAU,cAAc;uBACvD,EAAE,GAAG;sBAGN,IAAI;sBACJ,MAAM,KAAK,CAAC,CAAiB;;0BAE3B,IAAI,QAAQ,EAAE;8BACZ;;0BAEF,WAAW;0BAEX,IAAI,QAAQ,EAAE;8BACZ,aAAa,CAAC,QAAQ;8BACtB,WAAW;;;0BAIb,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS;0BAEtD,IAAI,CAAC,IAAI,EAAE;8BACT,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;;0BAGvC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI;;0BAGpB,IAAI,CAAC,IAAI,EAAE;8BACT,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;;;0BAIvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;8BACpB,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC;;;0BAIxC,IAAI,IAAI,CAAC,KAAK,EAAE;8BACd,IAAI,IAAI,CAAC,iBAAiB,KAAK,EAAE;kCAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK;;8BAE1B,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;;0BAIrC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;8BAChB,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC;;;0BAIlC,IAAI,IAAI,CAAC,OAAO,EAAE;8BAChB,OAAO,OAAO,CAAC,IAAI;;0BAGrB,IAAI,QAAQ,GAAQ,eAAe;0BACnC,MAAM,IAAI,GAAyB;0BACnC,IAAI,OAAO,MAAM,QAAQ,EAAE;8BACxB,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;;0BAE7B,QAAQ,CAAC,CAAC,IAAI;8BACZ,KAAK,OAAO;kCACV,IAAI,CAAC,QAAQ;kCACb;8BACF,KAAK,OAAO;kCACV,IAAI,IAAI,CAAC,KAAK,EAAE;sCACd,IAAI,CAAC,QAAQ,IAAI,CAAC;;uCACb,IAAI,aAAa,IAAI,EAAE;sCAC5B,IAAI,CAAC,QAAQ;;uCACR;sCACL,IAAI,CAAC,QAAQ;;kCAEf;8BACF;kCACE,IAAI,IAAI,CAAC,KAAK,EAAE;sCACd,IAAI,CAAC,QAAQ,IAAI,CAAC;;uCACb,IAAI,aAAa,IAAI,EAAE;sCAC5B,IAAI,CAAC,QAAQ;;uCACR;sCACL,IAAI,CAAC,WAAW;;;0BAItB,IAAI,aAAa,IAAI,EAAE;8BACrB,IAAI,YAAY,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE;kCAChG,IAAI;sCACF,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ;;kCAC9B,OAAO,GAAG,EAAE;;;8BAGhB,IAAI,CAAC,WAAW;;;0BAIlB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI;0BAC7B,IAAI,CAAC,IAAI,EAAE;8BACT,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;;0BAGvC,IAAI,IAAI,EAAE,KAAK,EAAE;8BACf,IAAI,IAAI,CAAC,iBAAiB,KAAK,EAAE;kCAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK;;8BAE1B,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;;0BAIrC,OAAO,OAAO,CAAC,IAAI;;;sBAKrB,MAAM,CAAC,SAAS;sBAChB,MAAM,CAAC,UAAU;sBACjB,MAAM,CAAC,UAAU;;sBAIjB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS;;sBAGnD,IAAI,CAAC,MAAM;mBACZ,EAAE,EAAE;eACN,CAAC,CAAC,IAAI,CAAC,UAAU,GAAkB;kBAClC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM;kBACtC,OAAO;eACR,CAAC,CAAC,KAAK,CAAC,UAAU,GAAQ;kBACzB,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM;kBACtC,OAAO;eACR;WACF;UAED,WAAW,CAAC,MAAe;cACzB,IAAI;cACJ,IAAI,QAAQ;cACZ,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;kBACjC,KAAK;kBACL,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;uBAEf,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE;sBAClC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;0BAC7E;;sBAEF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;0BAChD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM;;;uBAE/B;sBACL,IAAI,IAAI,CAAC,MAAM,EAAE;0BACf,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO;;;;cAIzC,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE;kBACxB,IAAI,CAAC,SAAS;;WAEjB;UAED,SAAS,CAAC,OAA8C,EAAE,UAAsD,SAAS;cACvH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;kBACvB;;cAEF,IAAI,YAAY,OAAO,EAAE;kBACvB;;;cAIF,IAAI,IAAI,CAAC,WAAW,EAAE;kBACpB,IAAI;sBACF,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK;sBACjE,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK;sBACjE,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK;sBAC/D,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK;sBACvE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK;;kBAC/D,OAAO,CAAC,EAAE;;;cAId,IAAI,EAAE,GAAuB;cAE7B,IAAI,CAAC,OAAO,EAAE;mBAEP,IAAI,OAAO,YAAY,QAAQ,EAAE;;kBAEtC,KAAK,QAAQ,CAAC,aAAa,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO;;mBACvE,IAAI,YAAY,IAAI,EAAE;;kBAE3B,KAAK,IAAI,CAAC,OAAO,CAAC;;mBACb;kBACL,KAAK;;cAEP,IAAI,CAAC,cAAc;cAEnB,IAAI,IAAI,CAAC,WAAW,EAAE;kBACpB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK;kBAC9D,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK;kBAC9D,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK;kBAC5D,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK;kBACpE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK;;WAE/D;UAED,WAAW,CAAC,CAAY;cACtB,CAAC,CAAC,cAAc;cAChB,IAAI,IAAI,CAAC,UAAU,EAAE;kBACnB;;cAEF,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;kBACnB;;cAEF,MAAM,KAAK,CAAC,CAAC;cACb,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;kBACrB,IAAI,CAAC,aAAa;;mBACb,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;kBACpB,IAAI,CAAC,aAAa;;mBACb,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,CAAC,EAAE;kBAC/D,IAAI,CAAC,aAAa;;;mBAEb,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;kBAC3D,IAAI,CAAC,aAAa;;WAErB;UACD,WAAW,CAAC,CAAY;cACtB,CAAC,CAAC,cAAc;cAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;kBACpB;;;cAIF,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;kBACxM,IAAI,CAAC,aAAa;;WAErB;UACD,UAAU,CAAC,CAAY;cACrB,CAAC,CAAC,cAAc;WACjB;UACD,cAAc;cACZ,IAAI,CAAC,aAAa;WACnB;UACD,MAAM,CAAC,CAAY;cACjB,CAAC,CAAC,cAAc;cAChB,CAAC,CAAC,gBAAgB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY;WACtD;UACD,MAAM,aAAa,CAAC,CAAQ;cAC1B,IAAI,EAAE,CAAC,CAAC,kBAAkB,gBAAgB,CAAC,EAAE;kBAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC;;cAEzD,MAAM,SAAS,CAAC,CAAC;cACjB,MAAM,UAAU,CAAC,GAAQ;kBACvB,IAAI,CAAC,SAAS;;kBAEd,IAAI,CAAC,SAAS,CAAC;sBACb,IAAI,CAAC,SAAS;mBACf;kBACD,OAAO;;cAGT,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO;WAC/D;OACF;GACF;;;gDCjjDCC,iBAAO,KAAK,EAAE,cAAS;;gDAEb,KAAG,EAAE,UAAK;SAET,WAAM;;mCAGZ,MAAI,EAAE,SAAI;;mCACV,IAAE,EAAE,UAAK;;mCACT,QAAM,EAAE,WAAM;;mCACd,SAAO,EAAE,YAAO;;OACN,aAAQ;;mCAClB,iBAAe,EAAE,kBAAa,aAAQ,CAAC,SAAS;;mCAChD,WAAS,EAAE,kBAAa,aAAQ,CAAC,SAAS;;mCAC1C,WAAS,EAAE,kBAAa,aAAQ,CAAC,SAAS;;OAChC,iBAAY,aAAQ,CAAC,KAAK;;;;;;;;EChB3C,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;EAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;EACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;EACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;EACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;EACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;EAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;EACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;EAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;EACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;EAChD,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;EAC9B,KAAK;EACL,GAAG,MAAM;EACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;EAC5B,GAAG;AACH;EACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;EACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;EACnC,GAAG,MAAM;EACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;EACpD,GAAG;EACH;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.ssr.js","sources":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/FileUpload.vue","../src/FileUpload.vue?vue&type=template&id=3a2bbfb2&lang.js","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\nexport const createRequest = (options) => {\n const xhr = new XMLHttpRequest()\n xhr.open(options.method || 'GET', options.url)\n xhr.responseType = 'json'\n if (options.headers) {\n Object.keys(options.headers).forEach(key => {\n xhr.setRequestHeader(key, options.headers[key])\n })\n }\n\n return xhr\n}\n\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\nexport const sendRequest = (xhr, body) => {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(JSON.stringify(body))\n })\n}\n\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\nexport const sendFormRequest = (xhr, data) => {\n const body = new FormData()\n for (let name in data) {\n body.append(name, data[name])\n }\n\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(body)\n })\n}\n\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\nexport default function (options) {\n const xhr = createRequest(options)\n\n return sendRequest(xhr, options.body)\n}\n","import {\n default as request,\n createRequest,\n sendFormRequest\n} from '../utils/request'\n\nexport default class ChunkUploadHandler {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n constructor(file, options) {\n this.file = file\n this.options = options\n this.chunks = []\n this.sessionId = null\n this.chunkSize = null\n this.speedInterval = null\n }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries() {\n return parseInt(this.options.maxRetries, 10)\n }\n\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n get maxActiveChunks() {\n return parseInt(this.options.maxActive, 10)\n }\n\n /**\n * Gets the file type\n */\n get fileType() {\n return this.file.type\n }\n\n /**\n * Gets the file size\n */\n get fileSize() {\n return this.file.size\n }\n\n /**\n * Gets the file name\n */\n get fileName() {\n return this.file.name\n }\n\n /**\n * Gets action (url) to upload the file\n */\n get action() {\n return this.options.action || null\n }\n\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n get startBody() {\n return this.options.startBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n get uploadBody() {\n return this.options.uploadBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n get finishBody() {\n return this.options.finishBody || {}\n }\n\n /**\n * Gets the headers of the requests from options\n */\n get headers() {\n return this.options.headers || {}\n }\n\n /**\n * Whether it's ready to upload files or not\n */\n get readyToUpload() {\n return !!this.chunks\n }\n\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n get progress() {\n const completedProgress = (this.chunksUploaded.length / this.chunks.length) * 100\n const uploadingProgress = this.chunksUploading.reduce((progress, chunk) => {\n return progress + ((chunk.progress | 0) / this.chunks.length)\n }, 0)\n\n return Math.min(completedProgress + uploadingProgress, 100)\n }\n\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n get chunksToUpload() {\n return this.chunks.filter(chunk => {\n return !chunk.active && !chunk.uploaded\n })\n }\n\n /**\n * Whether there are chunks to upload or not\n */\n get hasChunksToUpload() {\n return this.chunksToUpload.length > 0\n }\n\n /**\n * Gets all the chunks that are uploading\n */\n get chunksUploading() {\n return this.chunks.filter(chunk => {\n return !!chunk.xhr && !!chunk.active\n })\n }\n\n /**\n * Gets all the chunks that have finished uploading\n */\n get chunksUploaded() {\n return this.chunks.filter(chunk => {\n return !!chunk.uploaded\n })\n }\n\n /**\n * Creates all the chunks in the initial state\n */\n createChunks() {\n this.chunks = []\n\n let start = 0\n let end = this.chunkSize\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n })\n start = end\n end = start + this.chunkSize\n }\n }\n\n /**\n * Updates the progress of the file with the handler's progress\n */\n updateFileProgress() {\n this.file.progress = this.progress\n }\n\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n pause() {\n this.file.active = false\n this.stopChunks()\n }\n\n /**\n * Stops all the current chunks\n */\n stopChunks() {\n this.chunksUploading.forEach(chunk => {\n chunk.xhr.abort()\n chunk.active = false\n })\n\n this.stopSpeedCalc()\n }\n\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n resume() {\n this.file.active = true\n this.startChunking()\n }\n\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n upload() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve\n this.reject = reject\n })\n this.start()\n\n return this.promise\n }\n\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n start() {\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json'},\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(res => {\n if (res.status !== 'success') {\n this.file.response = res\n return this.reject('server')\n }\n\n this.sessionId = res.data.session_id\n this.chunkSize = res.data.end_offset\n\n this.createChunks()\n this.startChunking()\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n /**\n * Starts to upload chunks\n */\n startChunking() {\n for (let i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk()\n }\n\n this.startSpeedCalc()\n }\n\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0])\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish()\n }\n }\n }\n\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n uploadChunk(chunk) {\n chunk.progress = 0\n chunk.active = true\n this.updateFileProgress()\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n })\n\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100)\n }\n }, false)\n\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(res => {\n chunk.active = false\n if (res.status === 'success') {\n chunk.uploaded = true\n } else {\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n }\n\n this.uploadNextChunk()\n }).catch(() => {\n chunk.active = false\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n\n this.uploadNextChunk()\n })\n }\n\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n finish() {\n this.updateFileProgress()\n this.stopSpeedCalc()\n\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json' },\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(res => {\n this.file.response = res\n if (res.status !== 'success') {\n return this.reject('server')\n }\n\n this.resolve(res)\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n startSpeedCalc() {\n this.file.speed = 0\n let lastUploadedBytes = 0\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(() => {\n let uploadedBytes = (this.progress / 100) * this.fileSize\n this.file.speed = (uploadedBytes - lastUploadedBytes)\n lastUploadedBytes = uploadedBytes\n }, 1000)\n }\n }\n\n /**\n * Removes the upload speed interval\n */\n stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval)\n this.speedInterval = null\n this.file.speed = 0\n }\n}\n","\n\n\n","\n\n\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["ChunkUploadDefaultHandler","defineComponent","_mergeProps"],"mappings":"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"} \ No newline at end of file diff --git a/docs/dist/docs.js b/docs/dist/docs.js index c74e183..92840a6 100644 --- a/docs/dist/docs.js +++ b/docs/dist/docs.js @@ -1,3 +1,3 @@ /*! For license information please see docs.js.LICENSE.txt */ -(()=>{var e={635:(e,n,t)=>{var r={"./en.md":512,"./zh-cn.md":819};function o(e){var n=i(e);return t(n)}function i(e){if(!t.o(r,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=i,e.exports=o,o.id=635},500:function(e,n,t){var r,o,i,a;function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}a=function(e){"use strict";function n(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t=200&&n.status<300){var t;try{t=JSON.parse(n.response)}catch(e){t=n.response}e(t)}else r(n.response)},n.onerror=function(){return r(n.response)},n.send(JSON.stringify(t))}));var n,t}var f={headers:{},action:"",minSize:1048576,maxActive:3,maxRetries:5,handler:function(){function e(n,t){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.file=n,this.options=t,this.chunks=[],this.sessionId=null,this.chunkSize=null,this.speedInterval=null}var n,t;return n=e,(t=[{key:"createChunks",value:function(){this.chunks=[];for(var e=0,n=this.chunkSize;e=200&&e.status<300){var t;try{t=JSON.parse(e.response)}catch(n){t=e.response}n(t)}else r(e.response)},e.onerror=function(){return r(e.response)},e.send(t)}))}(e.xhr,Object.assign(this.uploadBody,{phase:"upload",session_id:this.sessionId,start_offset:e.startOffset,chunk:e.blob})).then((function(t){if(e.active=!1,"success"===t.status)e.uploaded=!0;else if(e.retries--<=0)return n.stopChunks(),n.reject("upload");n.uploadNextChunk()})).catch((function(){if(e.active=!1,e.retries--<=0)return n.stopChunks(),n.reject("upload");n.uploadNextChunk()}))}},{key:"finish",value:function(){var e=this;this.updateFileProgress(),this.stopSpeedCalc(),p({method:"POST",headers:u(u({},this.headers),{},{"Content-Type":"application/json"}),url:this.action,body:Object.assign(this.finishBody,{phase:"finish",session_id:this.sessionId})}).then((function(n){if(e.file.response=n,"success"!==n.status)return e.reject("server");e.resolve(n)})).catch((function(n){e.file.response=n,e.reject("server")}))}},{key:"startSpeedCalc",value:function(){var e=this;this.file.speed=0;var n=0;this.speedInterval||(this.speedInterval=window.setInterval((function(){var t=e.progress/100*e.fileSize;e.file.speed=t-n,n=t}),1e3))}},{key:"stopSpeedCalc",value:function(){this.speedInterval&&window.clearInterval(this.speedInterval),this.speedInterval=null,this.file.speed=0}},{key:"maxRetries",get:function(){return parseInt(this.options.maxRetries,10)}},{key:"maxActiveChunks",get:function(){return parseInt(this.options.maxActive,10)}},{key:"fileType",get:function(){return this.file.type}},{key:"fileSize",get:function(){return this.file.size}},{key:"fileName",get:function(){return this.file.name}},{key:"action",get:function(){return this.options.action||null}},{key:"startBody",get:function(){return this.options.startBody||{}}},{key:"uploadBody",get:function(){return this.options.uploadBody||{}}},{key:"finishBody",get:function(){return this.options.finishBody||{}}},{key:"headers",get:function(){return this.options.headers||{}}},{key:"readyToUpload",get:function(){return!!this.chunks}},{key:"progress",get:function(){var e=this,n=this.chunksUploaded.length/this.chunks.length*100,t=this.chunksUploading.reduce((function(n,t){return n+(0|t.progress)/e.chunks.length}),0);return Math.min(n+t,100)}},{key:"chunksToUpload",get:function(){return this.chunks.filter((function(e){return!e.active&&!e.uploaded}))}},{key:"hasChunksToUpload",get:function(){return this.chunksToUpload.length>0}},{key:"chunksUploading",get:function(){return this.chunks.filter((function(e){return!!e.xhr&&!!e.active}))}},{key:"chunksUploaded",get:function(){return this.chunks.filter((function(e){return!!e.uploaded}))}}])&&l(n.prototype,t),e}()},m=e.defineComponent({props:{inputId:{type:String},name:{type:String,default:"file"},accept:{type:String},capture:{},disabled:{default:!1},multiple:{type:Boolean,default:!1},maximum:{type:Number},addIndex:{type:[Boolean,Number]},directory:{type:Boolean},createDirectory:{type:Boolean,default:!1},postAction:{type:String},putAction:{type:String},customAction:{type:Function},headers:{type:Object,default:function(){return{}}},data:{type:Object,default:function(){return{}}},timeout:{type:Number,default:0},drop:{default:!1},dropDirectory:{type:Boolean,default:!0},size:{type:Number,default:0},extensions:{type:[RegExp,String,Array],default:function(){return[]}},modelValue:{type:Array,default:function(){return[]}},thread:{type:Number,default:1},chunkEnabled:{type:Boolean,default:!1},chunk:{type:Object,default:function(){return f}}},emits:["update:modelValue","input-filter","input-file"],data:function(){return{files:this.modelValue,features:{html5:!0,directory:!1,drop:!1},active:!1,dropActive:!1,uploading:0,destroy:!1,maps:{},dropElement:null,reload:!1}},mounted:function(){var e=this,n=document.createElement("input");if(n.type="file",n.multiple=!0,window.FormData&&n.files?("boolean"!=typeof n.webkitdirectory&&"boolean"!=typeof n.directory||(this.features.directory=!0),this.features.html5&&void 0!==n.ondrop&&(this.features.drop=!0)):this.features.html5=!1,this.maps={},this.files)for(var t=0;t1&&r.length+this.files.length>=this.iMaximum)break;if(r.push(a),1===this.iMaximum)break}}if(r.length){var s;if(1===this.iMaximum&&this.clear(),!0===n||0===n)s=r.concat(this.files);else if(n){var c;(c=s=this.files.concat([])).splice.apply(c,[n,0].concat(r))}else s=this.files.concat(r);this.files=s;for(var u=0;u0&&s.length>=l));c++);return Promise.resolve(this.add(s))}return Promise.resolve([])},getFileSystemEntry:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise((function(o){var i=t.iMaximum;if(e)if(e instanceof Array){var a=[];!function l(s){var c=e[s];if(!c||i>0&&a.length>=i)return o(a);t.getFileSystemEntry(c,r).then((function(e){a.push.apply(a,n(e)),l(s+1)}))}(0)}else if(e instanceof Blob)o([{id:"",size:e.size,name:r+e.name,type:e.type,file:e}]);else if(e.isFile)e.file((function(e){o([{id:"",size:e.size,name:r+e.name,type:e.type,file:e}])}));else if(e.isDirectory&&t.dropDirectory){var l=[];t.createDirectory&&l.push({id:"",name:r+e.name,size:0,type:"text/directory",file:new File([],r+e.name,{type:"text/directory"})});var s=e.createReader();!function a(){s.readEntries((function(s){!function c(u){return!s[u]&&0===u||i>0&&l.length>=i?o(l):s[u]?void t.getFileSystemEntry(s[u],r+e.name+"/").then((function(e){l.push.apply(l,n(e)),c(u+1)})):a()}(0)}))}()}else o([]);else o([])}))},replace:function(e,n){var t=this.get(e),r=this.get(n);if(!t||!r||t===r)return!1;var o=this.files.concat([]),i=o.indexOf(t),a=o.indexOf(r);return-1!==i&&-1!==a&&(o[i]=r,o[a]=t,this.files=o,this.emitInput(),!0)},remove:function(e){var n=this.get(e);if(n){if(this.emitFilter(void 0,n))return!1;var t=this.files.concat([]),r=t.indexOf(n);if(-1===r)return console.error("remove",n),!1;t.splice(r,1),this.files=t,delete this.maps[n.id],this.emitInput(),this.emitFile(void 0,n)}return n},update:function(e,n){var t=this.get(e);if(t){var r=o(o({},t),n);if(!t.fileObject||!t.active||r.active||r.error||r.success||(r.error="abort"),this.emitFilter(r,t))return!1;var i=this.files.concat([]),a=i.indexOf(t);return-1===a?(console.error("update",t),!1):(i.splice(a,1,r),this.files=i,delete this.maps[t.id],this.maps[r.id]=r,this.emitInput(),this.emitFile(r,t),r)}return!1},emitFilter:function(e,n){var t=!1;return this.$emit("input-filter",e,n,(function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return t=e})),t},emitFile:function(e,n){var t,r=this;this.$emit("input-file",e,n),null===(t=e)||void 0===t||!t.fileObject||!e.active||n&&n.active?e&&e.fileObject&&e.active||!n||!n.fileObject||!n.active||this.uploading--:(this.uploading++,this.$nextTick((function(){setTimeout((function(){e&&r.upload(e).then((function(){var n;e&&(e=r.get(e)||void 0),null!==(n=e)&&void 0!==n&&n.fileObject&&r.update(e,{active:!1,success:!e.error})})).catch((function(n){e&&r.update(e,{active:!1,success:!1,error:n.code||n.error||n.message||n})}))}),Math.ceil(50*Math.random()+50))}))),!this.active||Boolean(e)===Boolean(n)&&e.active===n.active||this.watchActive(!0)},emitInput:function(){this.$emit("update:modelValue",this.files)},upload:function(e){var n=this.get(e);if(!n)return Promise.reject(new Error("not_exists"));if(!n.fileObject)return Promise.reject(new Error("file_object"));if(n.error)return n.error instanceof Error?Promise.reject(n.error):Promise.reject(new Error(n.error));if(n.success)return Promise.resolve(n);if(n.name&&this.iExtensions&&-1===n.name.search(this.iExtensions))return Promise.reject(new Error("extension"));if(this.size>0&&void 0!==n.size&&n.size>=0&&n.size>this.size)return Promise.reject(new Error("size"));if(this.customAction)return this.customAction(n,this);if(this.features.html5){if(this.shouldUseChunkUpload(n))return this.uploadChunk(n);if(n.putAction)return this.uploadPut(n);if(n.postAction)return this.uploadHtml5(n)}return n.postAction?this.uploadHtml4(n):Promise.reject(new Error("No action configured"))},shouldUseChunkUpload:function(e){return this.chunkEnabled&&!!this.chunkOptions.handler&&e.size&&e.size>this.chunkOptions.minSize},uploadChunk:function(e){var n=this.chunkOptions.handler;return e.chunk=new n(e,this.chunkOptions),e.chunk.upload().then((function(n){return e}))},uploadPut:function(e){var n,t=[];for(var r in e.data)null!=(n=e.data[r])&&t.push(encodeURIComponent(r)+"="+encodeURIComponent(n));var o=e.putAction||"",i=t.length?(-1===o.indexOf("?")?"?":"&")+t.join("&"):"",a=new XMLHttpRequest;return a.open("PUT",o+i),this.uploadXhr(a,e,e.file)},uploadHtml5:function(e){var n,t=new window.FormData;for(var r in e.data)(n=e.data[r])&&"object"===a(n)&&"function"!=typeof n.toString?n instanceof File?t.append(r,n,n.name):t.append(r,JSON.stringify(n)):null!=n&&t.append(r,n);t.append(this.name,e.file,e.file.name||e.file.filename||e.name);var o=new XMLHttpRequest;return o.open("POST",e.postAction||""),this.uploadXhr(o,e,t)},uploadXhr:function(e,n,t){var r=this,o=n,i=0,a=0;e.upload.onprogress=function(e){if(o&&(o=r.get(o),e.lengthComputable&&o&&o.fileObject&&o.active)){var n=Math.round(Date.now()/1e3);n!==i&&(i=n,o=r.update(o,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-a}),a=e.loaded)}};var l=window.setInterval((function(){var n;if(!(o&&(o=r.get(o))&&null!==(n=o)&&void 0!==n&&n.fileObject)||o.success||o.error||!o.active){l&&(clearInterval(l),l=void 0);try{e.abort(),e.timeout=1}catch(e){}}}),100);return new Promise((function(n,i){if(o){var a,s=function(t){if(!a){if(a=!0,l&&(clearInterval(l),l=void 0),!o)return i(new Error("not_exists"));if(!(o=r.get(o)))return i(new Error("not_exists"));if(!o.fileObject)return i(new Error("file_object"));if(o.error)return o.error instanceof Error?i(o.error):i(new Error(o.error));if(!o.active)return i(new Error("abort"));if(o.success)return n(o);var s={};switch(t.type){case"timeout":case"abort":s.error=t.type;break;case"error":e.status?e.status>=500?s.error="server":e.status>=400&&(s.error="denied"):s.error="network";break;default:e.status>=500?s.error="server":e.status>=400?s.error="denied":s.progress="100.00"}if(e.responseText){var c=e.getResponseHeader("Content-Type");c&&-1!==c.indexOf("/json")?s.response=JSON.parse(e.responseText):s.response=e.responseText}return(o=r.update(o,s))?o.error?o.error instanceof Error?i(o.error):i(new Error(o.error)):n(o):i(new Error("abort"))}};for(var c in e.onload=s,e.onerror=s,e.onabort=s,e.ontimeout=s,o.timeout&&(e.timeout=o.timeout),o.headers)e.setRequestHeader(c,o.headers[c]);(o=r.update(o,{xhr:e}))&&e.send(t)}else i(new Error("not_exists"))}))},uploadHtml4:function(e){var n=this,t=e;if(!t)return Promise.reject(new Error("not_exists"));var r=function(e){27===e.keyCode&&e.preventDefault()},o=document.createElement("iframe");o.id="upload-iframe-"+t.id,o.name="upload-iframe-"+t.id,o.src="about:blank",o.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var i=document.createElement("form");for(var l in i.setAttribute("action",t.postAction||""),i.name="upload-form-"+t.id,i.setAttribute("method","POST"),i.setAttribute("target","upload-iframe-"+t.id),i.setAttribute("enctype","multipart/form-data"),t.data){var s=t.data[l];if(s&&"object"===a(s)&&"function"!=typeof s.toString&&(s=JSON.stringify(s)),null!=s){var c=document.createElement("input");c.type="hidden",c.name=l,c.value=s,i.appendChild(c)}}return i.appendChild(t.el),document.body.appendChild(o).appendChild(i),new Promise((function(e,a){setTimeout((function(){if(t){if(!(t=n.update(t,{iframe:o})))return a(new Error("not_exists"));var l,s=window.setInterval((function(){t&&(t=n.get(t))&&t.fileObject&&!t.success&&!t.error&&t.active||(s&&(clearInterval(s),s=void 0),o.onabort({type:t?"abort":"not_exists"}))}),100),c=function(i){var c;if(!l){if(l=!0,s&&(clearInterval(s),s=void 0),document.body.removeEventListener("keydown",r),!t)return a(new Error("not_exists"));if(!(t=n.get(t)))return a(new Error("not_exists"));if(!t.fileObject)return a(new Error("file_object"));if(t.error)return t.error instanceof Error?a(t.error):a(new Error(t.error));if(!t.active)return a(new Error("abort"));if(t.success)return e(t);var u=function(){var e,n;try{o.contentWindow&&(n=o.contentWindow.document)}catch(e){}if(!n)try{n=o.contentDocument?o.contentDocument:o.document}catch(e){n=o.document}return null!==(e=n)&&void 0!==e&&e.body?n.body.innerHTML:null}(),d={};if("string"==typeof i)return a(new Error(i));switch(i.type){case"abort":d.error="abort";break;case"error":t.error?d.error=t.error:d.error=null===u?"network":"denied";break;default:t.error?d.error=t.error:null===u?d.error="network":d.progress="100.00"}if(null!==u){if(u&&"{"===u.substr(0,1)&&"}"===u.substr(u.length-1,1))try{u=JSON.parse(u)}catch(e){}d.response=u}return(t=n.update(t,d))?null!==(c=t)&&void 0!==c&&c.error?t.error instanceof Error?a(t.error):a(new Error(t.error)):e(t):a(new Error("not_exists"))}};o.onload=c,o.onerror=c,o.onabort=c,document.body.addEventListener("keydown",r),i.submit()}else a(new Error("not_exists"))}),50)})).then((function(e){var n;return null==o||null===(n=o.parentNode)||void 0===n||n.removeChild(o),e})).catch((function(e){var n;return null==o||null===(n=o.parentNode)||void 0===n||n.removeChild(o),e}))},watchActive:function(e){for(var n,t=0;n=this.files[t];)if(t++,n.fileObject)if(e&&!this.destroy){if(this.uploading>=this.thread||this.uploading&&!this.features.html5)break;n.active||n.error||n.success||this.update(n,{active:!0})}else n.active&&this.update(n,{active:!1});0===this.uploading&&(this.active=!1)},watchDrop:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(this.features.drop&&e!==n){if(this.dropElement)try{document.removeEventListener("dragenter",this.onDragenter,!1),document.removeEventListener("dragleave",this.onDragleave,!1),document.removeEventListener("drop",this.onDocumentDrop,!1),this.dropElement.removeEventListener("dragover",this.onDragover,!1),this.dropElement.removeEventListener("drop",this.onDrop,!1)}catch(e){}var t=null;e&&(t="string"==typeof e?document.querySelector(e)||this.$root.$el.querySelector(e):!0===e?this.$parent.$el:e),this.dropElement=t,this.dropElement&&(document.addEventListener("dragenter",this.onDragenter,!1),document.addEventListener("dragleave",this.onDragleave,!1),document.addEventListener("drop",this.onDocumentDrop,!1),this.dropElement.addEventListener("dragover",this.onDragover,!1),this.dropElement.addEventListener("drop",this.onDrop,!1))}},onDragenter:function(e){var n,t;if(e.preventDefault(),!this.dropActive&&e.dataTransfer){var r=e.dataTransfer;null!=r&&null!==(n=r.files)&&void 0!==n&&n.length?this.dropActive=!0:r.types?(r.types.indexOf&&-1!==r.types.indexOf("Files")||null!==(t=r.types)&&void 0!==t&&t.contains&&r.types.contains("Files"))&&(this.dropActive=!0):this.dropActive=!0}},onDragleave:function(e){e.preventDefault(),this.dropActive&&("HTML"===e.target.nodeName||e.target===e.explicitOriginalTarget||!e.fromElement&&(e.clientX<=0||e.clientY<=0||e.clientX>=window.innerWidth||e.clientY>=window.innerHeight))&&(this.dropActive=!1)},onDragover:function(e){e.preventDefault()},onDocumentDrop:function(){this.dropActive=!1},onDrop:function(e){e.preventDefault(),e.dataTransfer&&this.addDataTransfer(e.dataTransfer)},inputOnChange:async function(e){var n=this;if(!(e.target instanceof HTMLInputElement))return Promise.reject(new Error("not HTMLInputElement"));e.target;var t=function(e){return n.reload=!0,n.$nextTick((function(){n.reload=!1})),e};return this.addInputFile(e.target).then(t).catch(t)}}});return function(e,n){void 0===n&&(n={});var t=n.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("\n.file-uploads {\n overflow: hidden;\n position: relative;\n text-align: center;\n display: inline-block;\n}\n.file-uploads.file-uploads-html4 input, .file-uploads.file-uploads-html5 label {\n /* background fix ie click */\n background: #fff;\n opacity: 0;\n font-size: 20em;\n z-index: 1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.file-uploads.file-uploads-html5 input, .file-uploads.file-uploads-html4 label {\n /* background fix ie click */\n background: rgba(255, 255, 255, 0);\n overflow: hidden;\n position: fixed;\n width: 1px;\n height: 1px;\n z-index: -1;\n opacity: 0;\n}\n"),m.render=function(n,t,r,o,i,a){return e.openBlock(),e.createBlock("span",{class:n.className},[e.renderSlot(n.$slots,"default"),e.createVNode("label",{for:n.forId},null,8,["for"]),n.reload?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock("input",{key:0,ref:"input",type:"file",name:n.name,id:n.forId,accept:n.accept,capture:n.capture,disabled:n.disabled,webkitdirectory:n.directory&&n.features.directory,allowdirs:n.directory&&n.features.directory,directory:n.directory&&n.features.directory,multiple:n.multiple&&n.features.html5,onChange:t[1]||(t[1]=function(){return n.inputOnChange&&n.inputOnChange.apply(n,arguments)})},null,40,["name","id","accept","capture","disabled","webkitdirectory","allowdirs","directory","multiple"]))],2)},m},"object"===l(n)?e.exports=a(t(537)):(o=[t(537)],void 0===(i="function"==typeof(r=a)?r.apply(n,o):r)||(e.exports=i))},187:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},869:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},482:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},799:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},312:(e,n)=>{"use strict";var t;Object.defineProperty(n,"__esModule",{value:!0}),n.Hooks=void 0,(t=n.Hooks||(n.Hooks={})).TRANSFORM_CALL="transformCall",t.GET_APP_RECORD_NAME="getAppRecordName",t.GET_APP_ROOT_INSTANCE="getAppRootInstance",t.REGISTER_APPLICATION="registerApplication",t.WALK_COMPONENT_TREE="walkComponentTree",t.WALK_COMPONENT_PARENTS="walkComponentParents",t.INSPECT_COMPONENT="inspectComponent",t.GET_COMPONENT_BOUNDS="getComponentBounds",t.GET_COMPONENT_NAME="getComponentName",t.GET_ELEMENT_COMPONENT="getElementComponent",t.GET_INSPECTOR_TREE="getInspectorTree",t.GET_INSPECTOR_STATE="getInspectorState"},786:function(e,n,t){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,n,t,r){void 0===r&&(r=t),Object.defineProperty(e,r,{enumerable:!0,get:function(){return n[t]}})}:function(e,n,t,r){void 0===r&&(r=t),e[r]=n[t]}),o=this&&this.__exportStar||function(e,n){for(var t in e)"default"===t||n.hasOwnProperty(t)||r(n,e,t)};Object.defineProperty(n,"__esModule",{value:!0}),o(t(187),n),o(t(869),n),o(t(482),n),o(t(799),n),o(t(312),n)},368:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ApiHookEvents=void 0,(n.ApiHookEvents||(n.ApiHookEvents={})).SETUP_DEVTOOLS_PLUGIN="devtools-plugin:setup"},340:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.hook=n.target=n.isBrowser=void 0,n.isBrowser="undefined"!=typeof navigator,n.target=n.isBrowser?window:void 0!==t.g?t.g:{},n.hook=n.target.__VUE_DEVTOOLS_GLOBAL_HOOK__},588:function(e,n,t){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,n,t,r){void 0===r&&(r=t),Object.defineProperty(e,r,{enumerable:!0,get:function(){return n[t]}})}:function(e,n,t,r){void 0===r&&(r=t),e[r]=n[t]}),o=this&&this.__exportStar||function(e,n){for(var t in e)"default"===t||n.hasOwnProperty(t)||r(n,e,t)};Object.defineProperty(n,"__esModule",{value:!0}),n.setupDevtoolsPlugin=void 0;const i=t(340),a=t(368);o(t(786),n),n.setupDevtoolsPlugin=function(e,n){i.hook?i.hook.emit(a.ApiHookEvents.SETUP_DEVTOOLS_PLUGIN,e,n):(i.target.__VUE_DEVTOOLS_PLUGINS__=i.target.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:e,setupFn:n})}},419:e=>{"use strict";e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t=e(n);return n[2]?"@media ".concat(n[2]," {").concat(t,"}"):t})).join("")},n.i=function(e,t,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var i=0;i{"use strict";function n(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t{"use strict";function r(e,n){const t=Object.create(null),r=e.split(",");for(let e=0;e!!t[e.toLowerCase()]:e=>!!t[e]}t.r(n),t.d(n,{BaseTransition:()=>Jt,Comment:()=>eo,Fragment:()=>Jr,KeepAlive:()=>ar,Static:()=>no,Suspense:()=>dt,Teleport:()=>Hr,Text:()=>Qr,Transition:()=>$i,TransitionGroup:()=>Zi,callWithAsyncErrorHandling:()=>Cn,callWithErrorHandling:()=>Fn,camelize:()=>R,capitalize:()=>W,cloneVNode:()=>bo,compile:()=>Ba,computed:()=>ni,createApp:()=>Sa,createBlock:()=>co,createCommentVNode:()=>wo,createHydrationRenderer:()=>$r,createRenderer:()=>Dr,createSSRApp:()=>Na,createSlots:()=>di,createStaticVNode:()=>ko,createTextVNode:()=>yo,createVNode:()=>go,customRef:()=>hn,defineAsyncComponent:()=>Vr,defineComponent:()=>Nr,defineEmit:()=>ri,defineProps:()=>ti,devtools:()=>Kn,getCurrentInstance:()=>Ho,getTransitionRawChildren:()=>or,h:()=>ii,handleError:()=>_n,hydrate:()=>Ea,initCustomFormatter:()=>si,inject:()=>Eo,isProxy:()=>en,isReactive:()=>Je,isReadonly:()=>Qe,isRef:()=>on,isVNode:()=>uo,markRaw:()=>tn,mergeProps:()=>Co,nextTick:()=>Ln,onActivated:()=>cr,onBeforeMount:()=>Dt,onBeforeUnmount:()=>Pt,onBeforeUpdate:()=>Ut,onDeactivated:()=>ur,onErrorCaptured:()=>zt,onMounted:()=>$t,onRenderTracked:()=>Rt,onRenderTriggered:()=>Mt,onUnmounted:()=>Lt,onUpdated:()=>It,openBlock:()=>oo,popScopeId:()=>Ft,provide:()=>_o,proxyRefs:()=>fn,pushScopeId:()=>At,queuePostFlushCb:()=>Hn,reactive:()=>Ge,readonly:()=>Ke,ref:()=>an,registerRuntimeCompiler:()=>Ko,render:()=>_a,renderList:()=>ci,renderSlot:()=>bt,resolveComponent:()=>qr,resolveDirective:()=>Kr,resolveDynamicComponent:()=>Yr,resolveTransitionHooks:()=>er,setBlockTracking:()=>so,setDevtoolsHook:()=>Xn,setTransitionHooks:()=>rr,shallowReactive:()=>Ye,shallowReadonly:()=>Xe,shallowRef:()=>ln,ssrContextKey:()=>ai,ssrUtils:()=>fi,toDisplayString:()=>f,toHandlerKey:()=>q,toHandlers:()=>ui,toRaw:()=>nn,toRef:()=>bn,toRefs:()=>vn,transformVNodeArgs:()=>fo,triggerRef:()=>un,unref:()=>dn,useContext:()=>oi,useCssModule:()=>Bi,useCssVars:()=>Ti,useSSRContext:()=>li,useTransitionState:()=>Xt,vModelCheckbox:()=>ia,vModelDynamic:()=>pa,vModelRadio:()=>la,vModelSelect:()=>sa,vModelText:()=>oa,vShow:()=>ya,version:()=>pi,warn:()=>wn,watch:()=>qt,watchEffect:()=>Ht,withCtx:()=>kt,withDirectives:()=>kr,withKeys:()=>ba,withModifiers:()=>va,withScopeId:()=>Ct});const o=r("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl"),i=r("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function a(e){if(_(e)){const n={};for(let t=0;t{if(e){const t=e.split(s);t.length>1&&(n[t[0].trim()]=t[1].trim())}})),n}function u(e){let n="";if(B(e))n=e;else if(_(e))for(let t=0;td(e,n)))}const f=e=>null==e?"":O(e)?JSON.stringify(e,m,2):String(e),m=(e,n)=>E(n)?{[`Map(${n.size})`]:[...n.entries()].reduce(((e,[n,t])=>(e[`${n} =>`]=t,e)),{})}:S(n)?{[`Set(${n.size})`]:[...n.values()]}:!O(n)||_(n)||U(n)?n:String(n),h={},v=[],g=()=>{},b=()=>!1,y=/^on[^a-z]/,k=e=>y.test(e),w=e=>e.startsWith("onUpdate:"),x=Object.assign,A=(e,n)=>{const t=e.indexOf(n);t>-1&&e.splice(t,1)},F=Object.prototype.hasOwnProperty,C=(e,n)=>F.call(e,n),_=Array.isArray,E=e=>"[object Map]"===$(e),S=e=>"[object Set]"===$(e),N=e=>e instanceof Date,V=e=>"function"==typeof e,B=e=>"string"==typeof e,T=e=>"symbol"==typeof e,O=e=>null!==e&&"object"==typeof e,j=e=>O(e)&&V(e.then)&&V(e.catch),D=Object.prototype.toString,$=e=>D.call(e),U=e=>"[object Object]"===$(e),I=e=>B(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,P=r(",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),L=e=>{const n=Object.create(null);return t=>n[t]||(n[t]=e(t))},M=/-(\w)/g,R=L((e=>e.replace(M,((e,n)=>n?n.toUpperCase():"")))),z=/\B([A-Z])/g,H=L((e=>e.replace(z,"-$1").toLowerCase())),W=L((e=>e.charAt(0).toUpperCase()+e.slice(1))),q=L((e=>e?`on${W(e)}`:"")),G=(e,n)=>e!==n&&(e==e||n==n),Y=(e,n)=>{for(let t=0;t{Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value:t})},X=e=>{const n=parseFloat(e);return isNaN(n)?e:n},Z=new WeakMap,J=[];let Q;const ee=Symbol(""),ne=Symbol("");function te(e,n=h){(function(e){return e&&!0===e._isEffect})(e)&&(e=e.raw);const t=function(e,n){const t=function(){if(!t.active)return n.scheduler?void 0:e();if(!J.includes(t)){ie(t);try{return le.push(ae),ae=!0,J.push(t),Q=t,e()}finally{J.pop(),ce(),Q=J[J.length-1]}}};return t.id=oe++,t.allowRecurse=!!n.allowRecurse,t._isEffect=!0,t.active=!0,t.raw=e,t.deps=[],t.options=n,t}(e,n);return n.lazy||t(),t}function re(e){e.active&&(ie(e),e.options.onStop&&e.options.onStop(),e.active=!1)}let oe=0;function ie(e){const{deps:n}=e;if(n.length){for(let t=0;t{e&&e.forEach((e=>{(e!==Q||e.allowRecurse)&&l.add(e)}))};if("clear"===n)a.forEach(s);else if("length"===t&&_(e))a.forEach(((e,n)=>{("length"===n||n>=r)&&s(e)}));else switch(void 0!==t&&s(a.get(t)),n){case"add":_(e)?I(t)&&s(a.get("length")):(s(a.get(ee)),E(e)&&s(a.get(ne)));break;case"delete":_(e)||(s(a.get(ee)),E(e)&&s(a.get(ne)));break;case"set":E(e)&&s(a.get(ee))}l.forEach((e=>{e.options.scheduler?e.options.scheduler(e):e()}))}const pe=new Set(Object.getOwnPropertyNames(Symbol).map((e=>Symbol[e])).filter(T)),fe=be(),me=be(!1,!0),he=be(!0),ve=be(!0,!0),ge={};function be(e=!1,n=!1){return function(t,r,o){if("__v_isReactive"===r)return!e;if("__v_isReadonly"===r)return e;if("__v_raw"===r&&o===(e?qe:We).get(t))return t;const i=_(t);if(!e&&i&&C(ge,r))return Reflect.get(ge,r,o);const a=Reflect.get(t,r,o);return(T(r)?pe.has(r):"__proto__"===r||"__v_isRef"===r)?a:(e||ue(t,0,r),n?a:on(a)?i&&I(r)?a:a.value:O(a)?e?Ke(a):Ge(a):a)}}function ye(e=!1){return function(n,t,r,o){const i=n[t];if(!e&&(r=nn(r),!_(n)&&on(i)&&!on(r)))return i.value=r,!0;const a=_(n)&&I(t)?Number(t){const n=Array.prototype[e];ge[e]=function(...e){const t=nn(this);for(let e=0,n=this.length;e{const n=Array.prototype[e];ge[e]=function(...e){se();const t=n.apply(this,e);return ce(),t}}));const ke={get:fe,set:ye(),deleteProperty:function(e,n){const t=C(e,n),r=(e[n],Reflect.deleteProperty(e,n));return r&&t&&de(e,"delete",n,void 0),r},has:function(e,n){const t=Reflect.has(e,n);return T(n)&&pe.has(n)||ue(e,0,n),t},ownKeys:function(e){return ue(e,0,_(e)?"length":ee),Reflect.ownKeys(e)}},we={get:he,set:(e,n)=>!0,deleteProperty:(e,n)=>!0},xe=x({},ke,{get:me,set:ye(!0)}),Ae=x({},we,{get:ve}),Fe=e=>O(e)?Ge(e):e,Ce=e=>O(e)?Ke(e):e,_e=e=>e,Ee=e=>Reflect.getPrototypeOf(e);function Se(e,n,t=!1,r=!1){const o=nn(e=e.__v_raw),i=nn(n);n!==i&&!t&&ue(o,0,n),!t&&ue(o,0,i);const{has:a}=Ee(o),l=t?Ce:r?_e:Fe;return a.call(o,n)?l(e.get(n)):a.call(o,i)?l(e.get(i)):void 0}function Ne(e,n=!1){const t=this.__v_raw,r=nn(t),o=nn(e);return e!==o&&!n&&ue(r,0,e),!n&&ue(r,0,o),e===o?t.has(e):t.has(e)||t.has(o)}function Ve(e,n=!1){return e=e.__v_raw,!n&&ue(nn(e),0,ee),Reflect.get(e,"size",e)}function Be(e){e=nn(e);const n=nn(this),t=Ee(n).has.call(n,e);return n.add(e),t||de(n,"add",e,e),this}function Te(e,n){n=nn(n);const t=nn(this),{has:r,get:o}=Ee(t);let i=r.call(t,e);i||(e=nn(e),i=r.call(t,e));const a=o.call(t,e);return t.set(e,n),i?G(n,a)&&de(t,"set",e,n):de(t,"add",e,n),this}function Oe(e){const n=nn(this),{has:t,get:r}=Ee(n);let o=t.call(n,e);o||(e=nn(e),o=t.call(n,e)),r&&r.call(n,e);const i=n.delete(e);return o&&de(n,"delete",e,void 0),i}function je(){const e=nn(this),n=0!==e.size,t=e.clear();return n&&de(e,"clear",void 0,void 0),t}function De(e,n){return function(t,r){const o=this,i=o.__v_raw,a=nn(i),l=e?Ce:n?_e:Fe;return!e&&ue(a,0,ee),i.forEach(((e,n)=>t.call(r,l(e),l(n),o)))}}function $e(e,n,t){return function(...r){const o=this.__v_raw,i=nn(o),a=E(i),l="entries"===e||e===Symbol.iterator&&a,s="keys"===e&&a,c=o[e](...r),u=n?Ce:t?_e:Fe;return!n&&ue(i,0,s?ne:ee),{next(){const{value:e,done:n}=c.next();return n?{value:e,done:n}:{value:l?[u(e[0]),u(e[1])]:u(e),done:n}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...n){return"delete"!==e&&this}}const Ie={get(e){return Se(this,e)},get size(){return Ve(this)},has:Ne,add:Be,set:Te,delete:Oe,clear:je,forEach:De(!1,!1)},Pe={get(e){return Se(this,e,!1,!0)},get size(){return Ve(this)},has:Ne,add:Be,set:Te,delete:Oe,clear:je,forEach:De(!1,!0)},Le={get(e){return Se(this,e,!0)},get size(){return Ve(this,!0)},has(e){return Ne.call(this,e,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:De(!0,!1)};function Me(e,n){const t=n?Pe:e?Le:Ie;return(n,r,o)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?n:Reflect.get(C(t,r)&&r in n?t:n,r,o)}["keys","values","entries",Symbol.iterator].forEach((e=>{Ie[e]=$e(e,!1,!1),Le[e]=$e(e,!0,!1),Pe[e]=$e(e,!1,!0)}));const Re={get:Me(!1,!1)},ze={get:Me(!1,!0)},He={get:Me(!0,!1)},We=new WeakMap,qe=new WeakMap;function Ge(e){return e&&e.__v_isReadonly?e:Ze(e,!1,ke,Re)}function Ye(e){return Ze(e,!1,xe,ze)}function Ke(e){return Ze(e,!0,we,He)}function Xe(e){return Ze(e,!0,Ae,He)}function Ze(e,n,t,r){if(!O(e))return e;if(e.__v_raw&&(!n||!e.__v_isReactive))return e;const o=n?qe:We,i=o.get(e);if(i)return i;const a=(l=e).__v_skip||!Object.isExtensible(l)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>$(e).slice(8,-1))(l));var l;if(0===a)return e;const s=new Proxy(e,2===a?r:t);return o.set(e,s),s}function Je(e){return Qe(e)?Je(e.__v_raw):!(!e||!e.__v_isReactive)}function Qe(e){return!(!e||!e.__v_isReadonly)}function en(e){return Je(e)||Qe(e)}function nn(e){return e&&nn(e.__v_raw)||e}function tn(e){return K(e,"__v_skip",!0),e}const rn=e=>O(e)?Ge(e):e;function on(e){return Boolean(e&&!0===e.__v_isRef)}function an(e){return cn(e)}function ln(e){return cn(e,!0)}class sn{constructor(e,n=!1){this._rawValue=e,this._shallow=n,this.__v_isRef=!0,this._value=n?e:rn(e)}get value(){return ue(nn(this),0,"value"),this._value}set value(e){G(nn(e),this._rawValue)&&(this._rawValue=e,this._value=this._shallow?e:rn(e),de(nn(this),"set","value",e))}}function cn(e,n=!1){return on(e)?e:new sn(e,n)}function un(e){de(nn(e),"set","value",void 0)}function dn(e){return on(e)?e.value:e}const pn={get:(e,n,t)=>dn(Reflect.get(e,n,t)),set:(e,n,t,r)=>{const o=e[n];return on(o)&&!on(t)?(o.value=t,!0):Reflect.set(e,n,t,r)}};function fn(e){return Je(e)?e:new Proxy(e,pn)}class mn{constructor(e){this.__v_isRef=!0;const{get:n,set:t}=e((()=>ue(this,0,"value")),(()=>de(this,"set","value")));this._get=n,this._set=t}get value(){return this._get()}set value(e){this._set(e)}}function hn(e){return new mn(e)}function vn(e){const n=_(e)?new Array(e.length):{};for(const t in e)n[t]=bn(e,t);return n}class gn{constructor(e,n){this._object=e,this._key=n,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(e){this._object[this._key]=e}}function bn(e,n){return on(e[n])?e[n]:new gn(e,n)}class yn{constructor(e,n,t){this._setter=n,this._dirty=!0,this.__v_isRef=!0,this.effect=te(e,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,de(nn(this),"set","value"))}}),this.__v_isReadonly=t}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),ue(nn(this),0,"value"),this._value}set value(e){this._setter(e)}}const kn=[];function wn(e,...n){se();const t=kn.length?kn[kn.length-1].component:null,r=t&&t.appContext.config.warnHandler,o=function(){let e=kn[kn.length-1];if(!e)return[];const n=[];for(;e;){const t=n[0];t&&t.vnode===e?t.recurseCount++:n.push({vnode:e,recurseCount:0});const r=e.component&&e.component.parent;e=r&&r.vnode}return n}();if(r)Fn(r,t,11,[e+n.join(""),t&&t.proxy,o.map((({vnode:e})=>`at <${ei(t,e.type)}>`)).join("\n"),o]);else{const t=[`[Vue warn]: ${e}`,...n];o.length&&t.push("\n",...function(e){const n=[];return e.forEach(((e,t)=>{n.push(...0===t?[]:["\n"],...function({vnode:e,recurseCount:n}){const t=n>0?`... (${n} recursive calls)`:"",r=!!e.component&&null==e.component.parent,o=` at <${ei(e.component,e.type,r)}`,i=">"+t;return e.props?[o,...xn(e.props),i]:[o+i]}(e))})),n}(o)),console.warn(...t)}ce()}function xn(e){const n=[],t=Object.keys(e);return t.slice(0,3).forEach((t=>{n.push(...An(t,e[t]))})),t.length>3&&n.push(" ..."),n}function An(e,n,t){return B(n)?(n=JSON.stringify(n),t?n:[`${e}=${n}`]):"number"==typeof n||"boolean"==typeof n||null==n?t?n:[`${e}=${n}`]:on(n)?(n=An(e,nn(n.value),!0),t?n:[`${e}=Ref<`,n,">"]):V(n)?[`${e}=fn${n.name?`<${n.name}>`:""}`]:(n=nn(n),t?n:[`${e}=`,n])}function Fn(e,n,t,r){let o;try{o=r?e(...r):e()}catch(e){_n(e,n,t)}return o}function Cn(e,n,t,r){if(V(e)){const o=Fn(e,n,t,r);return o&&j(o)&&o.catch((e=>{_n(e,n,t)})),o}const o=[];for(let i=0;iGn(e)-Gn(n))),$n=0;$nnull==e.id?1/0:e.id;function Yn(e){Sn=!1,En=!0,Wn(e),Nn.sort(((e,n)=>Gn(e)-Gn(n)));try{for(Vn=0;Vn{Kn&&Kn.emit(e,n.appContext.app,n.uid,n.parent?n.parent.uid:void 0)}}function nt(e,n,...t){const r=e.vnode.props||h;let o=t;const i=n.startsWith("update:"),a=i&&n.slice(7);if(a&&a in r){const e=`${"modelValue"===a?"model":a}Modifiers`,{number:n,trim:i}=r[e]||h;i?o=t.map((e=>e.trim())):n&&(o=t.map(X))}!function(e,n,t){Kn&&Kn.emit("component:emit",e.appContext.app,e,n,t)}(e,n,o);let l=q(R(n)),s=r[l];!s&&i&&(l=q(H(n)),s=r[l]),s&&Cn(s,e,6,o);const c=r[l+"Once"];if(c){if(e.emitted){if(e.emitted[l])return}else(e.emitted={})[l]=!0;Cn(c,e,6,o)}}function tt(e,n,t=!1){if(!n.deopt&&void 0!==e.__emits)return e.__emits;const r=e.emits;let o={},i=!1;if(!V(e)){const r=e=>{i=!0,x(o,tt(e,n,!0))};!t&&n.mixins.length&&n.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return r||i?(_(r)?r.forEach((e=>o[e]=null)):x(o,r),e.__emits=o):e.__emits=null}function rt(e,n){return!(!e||!k(n))&&(n=n.slice(2).replace(/Once$/,""),C(e,n[0].toLowerCase()+n.slice(1))||C(e,H(n))||C(e,n))}let ot=null;function it(e){ot=e}function at(e){const{type:n,vnode:t,proxy:r,withProxy:o,props:i,propsOptions:[a],slots:l,attrs:s,emit:c,render:u,renderCache:d,data:p,setupState:f,ctx:m}=e;let h;ot=e;try{let e;if(4&t.shapeFlag){const n=o||r;h=xo(u.call(n,n,d,i,f,p,m)),e=s}else{const t=n;h=xo(t.length>1?t(i,{attrs:s,slots:l,emit:c}):t(i,null)),e=n.props?s:lt(s)}let v=h;if(!1!==n.inheritAttrs&&e){const n=Object.keys(e),{shapeFlag:t}=v;n.length&&(1&t||6&t)&&(a&&n.some(w)&&(e=st(e,a)),v=bo(v,e))}t.dirs&&(v.dirs=v.dirs?v.dirs.concat(t.dirs):t.dirs),t.transition&&(v.transition=t.transition),h=v}catch(n){_n(n,e,1),h=go(eo)}return ot=null,h}const lt=e=>{let n;for(const t in e)("class"===t||"style"===t||k(t))&&((n||(n={}))[t]=e[t]);return n},st=(e,n)=>{const t={};for(const r in e)w(r)&&r.slice(9)in n||(t[r]=e[r]);return t};function ct(e,n,t){const r=Object.keys(n);if(r.length!==Object.keys(e).length)return!0;for(let o=0;o0?(s(null,e.ssFallback,n,t,r,null,i),ht(d,e.ssFallback)):d.resolve()}(n,t,r,o,i,a,l,s):function(e,n,t,r,o,i,{p:a,um:l,o:{createElement:s}}){const c=n.suspense=e.suspense;c.vnode=n,n.el=e.el;const u=n.ssContent,d=n.ssFallback,{activeBranch:p,pendingBranch:f,isInFallback:m,isHydrating:h}=c;if(f)c.pendingBranch=u,po(u,f)?(a(f,u,c.hiddenContainer,null,o,c,i),c.deps<=0?c.resolve():m&&(a(p,d,t,r,o,null,i),ht(c,d))):(c.pendingId++,h?(c.isHydrating=!1,c.activeBranch=f):l(f,o,c),c.deps=0,c.effects.length=0,c.hiddenContainer=s("div"),m?(a(null,u,c.hiddenContainer,null,o,c,i),c.deps<=0?c.resolve():(a(p,d,t,r,o,null,i),ht(c,d))):p&&po(u,p)?(a(p,u,t,r,o,c,i),c.resolve(!0)):(a(null,u,c.hiddenContainer,null,o,c,i),c.deps<=0&&c.resolve()));else if(p&&po(u,p))a(p,u,t,r,o,c,i),ht(c,u);else{const e=n.props&&n.props.onPending;if(V(e)&&e(),c.pendingBranch=u,c.pendingId++,a(null,u,c.hiddenContainer,null,o,c,i),c.deps<=0)c.resolve();else{const{timeout:e,pendingId:n}=c;e>0?setTimeout((()=>{c.pendingId===n&&c.fallback(d)}),e):0===e&&c.fallback(d)}}}(e,n,t,r,o,a,s)},hydrate:function(e,n,t,r,o,i,a,l){const s=n.suspense=pt(n,r,t,e.parentNode,document.createElement("div"),null,o,i,a,!0),c=l(e,s.pendingBranch=n.ssContent,t,s,i);return 0===s.deps&&s.resolve(),c},create:pt};function pt(e,n,t,r,o,i,a,l,s,c=!1){const{p:u,m:d,um:p,n:f,o:{parentNode:m,remove:h}}=s,v=X(e.props&&e.props.timeout),g={vnode:e,parent:n,parentComponent:t,isSVG:a,container:r,hiddenContainer:o,anchor:i,deps:0,pendingId:0,timeout:"number"==typeof v?v:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:c,isUnmounted:!1,effects:[],resolve(e=!1){const{vnode:n,activeBranch:t,pendingBranch:r,pendingId:o,effects:i,parentComponent:a,container:l}=g;if(g.isHydrating)g.isHydrating=!1;else if(!e){const e=t&&r.transition&&"out-in"===r.transition.mode;e&&(t.transition.afterLeave=()=>{o===g.pendingId&&d(r,l,n,0)});let{anchor:n}=g;t&&(n=f(t),p(t,a,g,!0)),e||d(r,l,n,0)}ht(g,r),g.pendingBranch=null,g.isInFallback=!1;let s=g.parent,c=!1;for(;s;){if(s.pendingBranch){s.effects.push(...i),c=!0;break}s=s.parent}c||Hn(i),g.effects=[];const u=n.props&&n.props.onResolve;V(u)&&u()},fallback(e){if(!g.pendingBranch)return;const{vnode:n,activeBranch:t,parentComponent:r,container:o,isSVG:i}=g,a=n.props&&n.props.onFallback;V(a)&&a();const l=f(t),s=()=>{g.isInFallback&&(u(null,e,o,l,r,null,i),ht(g,e))},c=e.transition&&"out-in"===e.transition.mode;c&&(t.transition.afterLeave=s),p(t,r,null,!0),g.isInFallback=!0,c||s()},move(e,n,t){g.activeBranch&&d(g.activeBranch,e,n,t),g.container=e},next:()=>g.activeBranch&&f(g.activeBranch),registerDep(e,n){const t=!!g.pendingBranch;t&&g.deps++;const r=e.vnode.el;e.asyncDep.catch((n=>{_n(n,e,0)})).then((o=>{if(e.isUnmounted||g.isUnmounted||g.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:i}=e;Yo(e,o),r&&(i.el=r);const s=!r&&e.subTree.el;n(e,i,m(r||e.subTree.el),r?null:f(e.subTree),g,a,l),s&&h(s),ut(e,i.el),t&&0==--g.deps&&g.resolve()}))},unmount(e,n){g.isUnmounted=!0,g.activeBranch&&p(g.activeBranch,t,e,n),g.pendingBranch&&p(g.pendingBranch,t,e,n)}};return g}function ft(e){return V(e)&&(e=e()),_(e)&&(e=function(e){let n;for(let t=0;tvt+=e;function bt(e,n,t={},r){let o=e[n];vt++,oo();const i=o&&yt(o(t)),a=co(Jr,{key:t.key||`_${n}`},i||(r?r():[]),i&&1===e._?64:-2);return vt--,a}function yt(e){return e.some((e=>!uo(e)||e.type!==eo&&!(e.type===Jr&&!yt(e.children))))?e:null}function kt(e,n=ot){if(!n)return e;const t=(...t)=>{vt||oo(!0);const r=ot;it(n);const o=e(...t);return it(r),vt||io(),o};return t._c=!0,t}let wt=null;const xt=[];function At(e){xt.push(wt=e)}function Ft(){xt.pop(),wt=xt[xt.length-1]||null}function Ct(e){return n=>kt((function(){At(e);const t=n.apply(this,arguments);return Ft(),t}))}function _t(e,n,t,r){const[o,i]=e.propsOptions;if(n)for(const i in n){const a=n[i];if(P(i))continue;let l;o&&C(o,l=R(i))?t[l]=a:rt(e.emitsOptions,i)||(r[i]=a)}if(i){const n=nn(t);for(let r=0;r{a=!0;const[t,r]=St(e,n,!0);x(o,t),r&&i.push(...r)};!t&&n.mixins.length&&n.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!r&&!a)return e.__props=v;if(_(r))for(let e=0;e-1,a[1]=t<0||e-1||C(a,"default"))&&i.push(n)}}}return e.__props=[o,i]}function Nt(e){return"$"!==e[0]}function Vt(e){const n=e&&e.toString().match(/^\s*function (\w+)/);return n?n[1]:""}function Bt(e,n){return Vt(e)===Vt(n)}function Tt(e,n){if(_(n)){for(let t=0,r=n.length;t{if(t.isUnmounted)return;se(),Wo(t);const o=Cn(n,t,e,r);return Wo(null),ce(),o});return r?o.unshift(i):o.push(i),i}}const jt=e=>(n,t=zo)=>!Go&&Ot(e,n,t),Dt=jt("bm"),$t=jt("m"),Ut=jt("bu"),It=jt("u"),Pt=jt("bum"),Lt=jt("um"),Mt=jt("rtg"),Rt=jt("rtc"),zt=(e,n=zo)=>{Ot("ec",e,n)};function Ht(e,n){return Gt(e,null,n)}const Wt={};function qt(e,n,t){return Gt(e,n,t)}function Gt(e,n,{immediate:t,deep:r,flush:o,onTrack:i,onTrigger:a}=h,l=zo){let s,c,u=!1;if(on(e)?(s=()=>e.value,u=!!e._shallow):Je(e)?(s=()=>e,r=!0):s=_(e)?()=>e.map((e=>on(e)?e.value:Je(e)?Kt(e):V(e)?Fn(e,l,2):void 0)):V(e)?n?()=>Fn(e,l,2):()=>{if(!l||!l.isUnmounted)return c&&c(),Fn(e,l,3,[d])}:g,n&&r){const e=s;s=()=>Kt(e())}const d=e=>{c=v.options.onStop=()=>{Fn(e,l,4)}};let p=_(e)?[]:Wt;const f=()=>{if(v.active)if(n){const e=v();(r||u||G(e,p))&&(c&&c(),Cn(n,l,3,[e,p===Wt?void 0:p,d]),p=e)}else v()};let m;f.allowRecurse=!!n,m="sync"===o?f:"post"===o?()=>Or(f,l&&l.suspense):()=>{!l||l.isMounted?function(e){zn(e,Tn,Bn,On)}(f):f()};const v=te(s,{lazy:!0,onTrack:i,onTrigger:a,scheduler:m});return Jo(v,l),n?t?f():p=v():"post"===o?Or(v,l&&l.suspense):v(),()=>{re(v),l&&A(l.effects,v)}}function Yt(e,n,t){const r=this.proxy;return Gt(B(e)?()=>r[e]:e.bind(r),n.bind(r),t,this)}function Kt(e,n=new Set){if(!O(e)||n.has(e))return e;if(n.add(e),on(e))Kt(e.value,n);else if(_(e))for(let t=0;t{Kt(e,n)}));else for(const t in e)Kt(e[t],n);return e}function Xt(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return $t((()=>{e.isMounted=!0})),Pt((()=>{e.isUnmounting=!0})),e}const Zt=[Function,Array],Jt={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Zt,onEnter:Zt,onAfterEnter:Zt,onEnterCancelled:Zt,onBeforeLeave:Zt,onLeave:Zt,onAfterLeave:Zt,onLeaveCancelled:Zt,onBeforeAppear:Zt,onAppear:Zt,onAfterAppear:Zt,onAppearCancelled:Zt},setup(e,{slots:n}){const t=Ho(),r=Xt();let o;return()=>{const i=n.default&&or(n.default(),!0);if(!i||!i.length)return;const a=nn(e),{mode:l}=a,s=i[0];if(r.isLeaving)return nr(s);const c=tr(s);if(!c)return nr(s);const u=er(c,a,r,t);rr(c,u);const d=t.subTree,p=d&&tr(d);let f=!1;const{getTransitionKey:m}=c.type;if(m){const e=m();void 0===o?o=e:e!==o&&(o=e,f=!0)}if(p&&p.type!==eo&&(!po(c,p)||f)){const e=er(p,a,r,t);if(rr(p,e),"out-in"===l)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,t.update()},nr(s);"in-out"===l&&(e.delayLeave=(e,n,t)=>{Qt(r,p)[String(p.key)]=p,e._leaveCb=()=>{n(),e._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=t})}return s}}};function Qt(e,n){const{leavingVNodes:t}=e;let r=t.get(n.type);return r||(r=Object.create(null),t.set(n.type,r)),r}function er(e,n,t,r){const{appear:o,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:s,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:d,onLeave:p,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:h,onAppear:v,onAfterAppear:g,onAppearCancelled:b}=n,y=String(e.key),k=Qt(t,e),w=(e,n)=>{e&&Cn(e,r,9,n)},x={mode:i,persisted:a,beforeEnter(n){let r=l;if(!t.isMounted){if(!o)return;r=h||l}n._leaveCb&&n._leaveCb(!0);const i=k[y];i&&po(e,i)&&i.el._leaveCb&&i.el._leaveCb(),w(r,[n])},enter(e){let n=s,r=c,i=u;if(!t.isMounted){if(!o)return;n=v||s,r=g||c,i=b||u}let a=!1;const l=e._enterCb=n=>{a||(a=!0,w(n?i:r,[e]),x.delayedLeave&&x.delayedLeave(),e._enterCb=void 0)};n?(n(e,l),n.length<=1&&l()):l()},leave(n,r){const o=String(e.key);if(n._enterCb&&n._enterCb(!0),t.isUnmounting)return r();w(d,[n]);let i=!1;const a=n._leaveCb=t=>{i||(i=!0,r(),w(t?m:f,[n]),n._leaveCb=void 0,k[o]===e&&delete k[o])};k[o]=e,p?(p(n,a),p.length<=1&&a()):a()},clone:e=>er(e,n,t,r)};return x}function nr(e){if(ir(e))return(e=bo(e)).children=null,e}function tr(e){return ir(e)?e.children?e.children[0]:void 0:e}function rr(e,n){6&e.shapeFlag&&e.component?rr(e.component.subTree,n):128&e.shapeFlag?(e.ssContent.transition=n.clone(e.ssContent),e.ssFallback.transition=n.clone(e.ssFallback)):e.transition=n}function or(e,n=!1){let t=[],r=0;for(let o=0;o1)for(let e=0;ee.type.__isKeepAlive,ar={name:"KeepAlive",__isKeepAlive:!0,inheritRef:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:n}){const t=new Map,r=new Set;let o=null;const i=Ho(),a=i.suspense,l=i.ctx,{renderer:{p:s,m:c,um:u,o:{createElement:d}}}=l,p=d("div");function f(e){fr(e),u(e,i,a)}function m(e){t.forEach(((n,t)=>{const r=lr(n.type);!r||e&&e(r)||h(t)}))}function h(e){const n=t.get(e);o&&n.type===o.type?o&&fr(o):f(n),t.delete(e),r.delete(e)}l.activate=(e,n,t,r,o)=>{const i=e.component;c(e,n,t,0,a),s(i.vnode,e,n,t,i,a,r,o),Or((()=>{i.isDeactivated=!1,i.a&&Y(i.a);const n=e.props&&e.props.onVnodeMounted;n&&Ir(n,i.parent,e)}),a)},l.deactivate=e=>{const n=e.component;c(e,p,null,1,a),Or((()=>{n.da&&Y(n.da);const t=e.props&&e.props.onVnodeUnmounted;t&&Ir(t,n.parent,e),n.isDeactivated=!0}),a)},qt((()=>[e.include,e.exclude]),(([e,n])=>{e&&m((n=>sr(e,n))),n&&m((e=>!sr(n,e)))}),{flush:"post",deep:!0});let v=null;const g=()=>{null!=v&&t.set(v,mr(i.subTree))};return $t(g),It(g),Pt((()=>{t.forEach((e=>{const{subTree:n,suspense:t}=i,r=mr(n);if(e.type!==r.type)f(e);else{fr(r);const e=r.component.da;e&&Or(e,t)}}))})),()=>{if(v=null,!n.default)return null;const i=n.default(),a=i[0];if(i.length>1)return o=null,i;if(!uo(a)||!(4&a.shapeFlag||128&a.shapeFlag))return o=null,a;let l=mr(a);const s=l.type,c=lr(s),{include:u,exclude:d,max:p}=e;if(u&&(!c||!sr(u,c))||d&&c&&sr(d,c))return o=l,a;const f=null==l.key?s:l.key,m=t.get(f);return l.el&&(l=bo(l),128&a.shapeFlag&&(a.ssContent=l)),v=f,m?(l.el=m.el,l.component=m.component,l.transition&&rr(l,l.transition),l.shapeFlag|=512,r.delete(f),r.add(f)):(r.add(f),p&&r.size>parseInt(p,10)&&h(r.values().next().value)),l.shapeFlag|=256,o=l,a}}};function lr(e){return e.displayName||e.name}function sr(e,n){return _(e)?e.some((e=>sr(e,n))):B(e)?e.split(",").indexOf(n)>-1:!!e.test&&e.test(n)}function cr(e,n){dr(e,"a",n)}function ur(e,n){dr(e,"da",n)}function dr(e,n,t=zo){const r=e.__wdc||(e.__wdc=()=>{let n=t;for(;n;){if(n.isDeactivated)return;n=n.parent}e()});if(Ot(n,r,t),t){let e=t.parent;for(;e&&e.parent;)ir(e.parent.vnode)&&pr(r,n,t,e),e=e.parent}}function pr(e,n,t,r){const o=Ot(n,e,r,!0);Lt((()=>{A(r[n],o)}),t)}function fr(e){let n=e.shapeFlag;256&n&&(n-=256),512&n&&(n-=512),e.shapeFlag=n}function mr(e){return 128&e.shapeFlag?e.ssContent:e}const hr=e=>"_"===e[0]||"$stable"===e,vr=e=>_(e)?e.map(xo):[xo(e)],gr=(e,n,t)=>kt((e=>vr(n(e))),t),br=(e,n)=>{const t=e._ctx;for(const r in e){if(hr(r))continue;const o=e[r];if(V(o))n[r]=gr(0,o,t);else if(null!=o){const e=vr(o);n[r]=()=>e}}},yr=(e,n)=>{const t=vr(n);e.slots.default=()=>t};function kr(e,n){if(null===ot)return e;const t=ot.proxy,r=e.dirs||(e.dirs=[]);for(let e=0;e(i.has(e)||(e&&V(e.install)?(i.add(e),e.install(l,...n)):V(e)&&(i.add(e),e(l,...n))),l),mixin:e=>(o.mixins.includes(e)||(o.mixins.push(e),(e.props||e.emits)&&(o.deopt=!0)),l),component:(e,n)=>n?(o.components[e]=n,l):o.components[e],directive:(e,n)=>n?(o.directives[e]=n,l):o.directives[e],mount(i,s){if(!a){const c=go(t,r);return c.appContext=o,s&&n?n(c,i):e(c,i),a=!0,l._container=i,i.__vue_app__=l,function(e,n){Kn&&Kn.emit("app:init",e,n,{Fragment:Jr,Text:Qr,Comment:eo,Static:no})}(l,pi),c.component.proxy}},unmount(){a&&(e(null,l._container),function(e){Kn&&Kn.emit("app:unmount",e)}(l))},provide:(e,n)=>(o.provides[e]=n,l)};return l}}let Cr=!1;const _r=e=>/svg/.test(e.namespaceURI)&&"foreignObject"!==e.tagName,Er=e=>8===e.nodeType;function Sr(e){const{mt:n,p:t,o:{patchProp:r,nextSibling:o,parentNode:i,remove:a,insert:l,createComment:s}}=e,c=(t,r,a,l,s=!1)=>{const h=Er(t)&&"["===t.data,v=()=>f(t,r,a,l,h),{type:g,ref:b,shapeFlag:y}=r,k=t.nodeType;r.el=t;let w=null;switch(g){case Qr:3!==k?w=v():(t.data!==r.children&&(Cr=!0,t.data=r.children),w=o(t));break;case eo:w=8!==k||h?v():o(t);break;case no:if(1===k){w=t;const e=!r.children.length;for(let n=0;n{n(r,e,null,a,l,_r(e),s)},u=r.type.__asyncLoader;u?u().then(c):c(),w=h?m(t):o(t)}else 64&y?w=8!==k?v():r.type.hydrate(t,r,a,l,s,e,d):128&y&&(w=r.type.hydrate(t,r,a,l,_r(i(t)),s,e,c))}return null!=b&&jr(b,null,l,r),w},u=(e,n,t,o,i)=>{i=i||!!n.dynamicChildren;const{props:l,patchFlag:s,shapeFlag:c,dirs:u}=n;if(-1!==s){if(u&&wr(n,null,t,"created"),l)if(!i||16&s||32&s)for(const n in l)!P(n)&&k(n)&&r(e,n,null,l[n]);else l.onClick&&r(e,"onClick",null,l.onClick);let p;if((p=l&&l.onVnodeBeforeMount)&&Ir(p,t,n),u&&wr(n,null,t,"beforeMount"),((p=l&&l.onVnodeMounted)||u)&&mt((()=>{p&&Ir(p,t,n),u&&wr(n,null,t,"mounted")}),o),16&c&&(!l||!l.innerHTML&&!l.textContent)){let r=d(e.firstChild,n,e,t,o,i);for(;r;){Cr=!0;const e=r;r=r.nextSibling,a(e)}}else 8&c&&e.textContent!==n.children&&(Cr=!0,e.textContent=n.children)}return e.nextSibling},d=(e,n,r,o,i,a)=>{a=a||!!n.dynamicChildren;const l=n.children,s=l.length;for(let n=0;n{const c=i(e),u=d(o(e),n,c,t,r,a);return u&&Er(u)&&"]"===u.data?o(n.anchor=u):(Cr=!0,l(n.anchor=s("]"),c,u),u)},f=(e,n,r,l,s)=>{if(Cr=!0,n.el=null,s){const n=m(e);for(;;){const t=o(e);if(!t||t===n)break;a(t)}}const c=o(e),u=i(e);return a(e),t(null,n,u,c,r,l,_r(u)),c},m=e=>{let n=0;for(;e;)if((e=o(e))&&Er(e)&&("["===e.data&&n++,"]"===e.data)){if(0===n)return o(e);n--}return e};return[(e,n)=>{Cr=!1,c(n.firstChild,e,null,null),qn(),Cr&&console.error("Hydration completed but contains mismatches.")},c]}function Nr(e){return V(e)?{setup:e,name:e.name}:e}function Vr(e){V(e)&&(e={loader:e});const{loader:n,loadingComponent:t,errorComponent:r,delay:o=200,timeout:i,suspensible:a=!0,onError:l}=e;let s,c=null,u=0;const d=()=>{let e;return c||(e=c=n().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise(((n,t)=>{l(e,(()=>n((u++,c=null,d()))),(()=>t(e)),u+1)}));throw e})).then((n=>e!==c&&c?c:(n&&(n.__esModule||"Module"===n[Symbol.toStringTag])&&(n=n.default),s=n,n))))};return Nr({__asyncLoader:d,name:"AsyncComponentWrapper",setup(){const e=zo;if(s)return()=>Br(s,e);const n=n=>{c=null,_n(n,e,13,!r)};if(a&&e.suspense)return d().then((n=>()=>Br(n,e))).catch((e=>(n(e),()=>r?go(r,{error:e}):null)));const l=an(!1),u=an(),p=an(!!o);return o&&setTimeout((()=>{p.value=!1}),o),null!=i&&setTimeout((()=>{if(!l.value&&!u.value){const e=new Error(`Async component timed out after ${i}ms.`);n(e),u.value=e}}),i),d().then((()=>{l.value=!0})).catch((e=>{n(e),u.value=e})),()=>l.value&&s?Br(s,e):u.value&&r?go(r,{error:u.value}):t&&!p.value?go(t):void 0}})}function Br(e,{vnode:{ref:n,props:t,children:r}}){const o=go(e,t,r);return o.ref=n,o}const Tr={scheduler:Mn,allowRecurse:!0},Or=mt,jr=(e,n,t,r)=>{if(_(e))return void e.forEach(((e,o)=>jr(e,n&&(_(n)?n[o]:n),t,r)));let o;o=!r||r.type.__asyncLoader?null:4&r.shapeFlag?r.component.exposed||r.component.proxy:r.el;const{i,r:a}=e,l=n&&n.r,s=i.refs===h?i.refs={}:i.refs,c=i.setupState;if(null!=l&&l!==a&&(B(l)?(s[l]=null,C(c,l)&&(c[l]=null)):on(l)&&(l.value=null)),B(a)){const e=()=>{s[a]=o,C(c,a)&&(c[a]=o)};o?(e.id=-1,Or(e,t)):e()}else if(on(a)){const e=()=>{a.value=o};o?(e.id=-1,Or(e,t)):e()}else V(a)&&Fn(a,i,12,[o,s])};function Dr(e){return Ur(e)}function $r(e){return Ur(e,Sr)}function Ur(e,n){const{insert:t,remove:r,patchProp:o,forcePatchProp:i,createElement:a,createText:l,createComment:s,setText:c,setElementText:u,parentNode:d,nextSibling:p,setScopeId:f=g,cloneNode:m,insertStaticContent:b}=e,y=(e,n,t,r=null,o=null,i=null,a=!1,l=!1)=>{e&&!po(e,n)&&(r=Q(e),q(e,o,i,!0),e=null),-2===n.patchFlag&&(l=!1,n.dynamicChildren=null);const{type:s,ref:c,shapeFlag:u}=n;switch(s){case Qr:k(e,n,t,r);break;case eo:w(e,n,t,r);break;case no:null==e&&A(n,t,r,a);break;case Jr:T(e,n,t,r,o,i,a,l);break;default:1&u?F(e,n,t,r,o,i,a,l):6&u?O(e,n,t,r,o,i,a,l):(64&u||128&u)&&s.process(e,n,t,r,o,i,a,l,ne)}null!=c&&o&&jr(c,e&&e.ref,i,n)},k=(e,n,r,o)=>{if(null==e)t(n.el=l(n.children),r,o);else{const t=n.el=e.el;n.children!==e.children&&c(t,n.children)}},w=(e,n,r,o)=>{null==e?t(n.el=s(n.children||""),r,o):n.el=e.el},A=(e,n,t,r)=>{[e.el,e.anchor]=b(e.children,n,t,r)},F=(e,n,t,r,o,i,a,l)=>{a=a||"svg"===n.type,null==e?_(n,t,r,o,i,a,l):N(e,n,o,i,a,l)},_=(e,n,r,i,l,s,c)=>{let d,p;const{type:f,props:h,shapeFlag:v,transition:g,scopeId:b,patchFlag:y,dirs:k}=e;if(e.el&&void 0!==m&&-1===y)d=e.el=m(e.el);else{if(d=e.el=a(e.type,s,h&&h.is),8&v?u(d,e.children):16&v&&S(e.children,d,null,i,l,s&&"foreignObject"!==f,c||!!e.dynamicChildren),k&&wr(e,null,i,"created"),h){for(const n in h)P(n)||o(d,n,null,h[n],s,e.children,i,l,J);(p=h.onVnodeBeforeMount)&&Ir(p,i,e)}E(d,b,e,i)}Object.defineProperty(d,"__vnode",{value:e,enumerable:!1}),Object.defineProperty(d,"__vueParentComponent",{value:i,enumerable:!1}),k&&wr(e,null,i,"beforeMount");const w=(!l||l&&!l.pendingBranch)&&g&&!g.persisted;w&&g.beforeEnter(d),t(d,n,r),((p=h&&h.onVnodeMounted)||w||k)&&Or((()=>{p&&Ir(p,i,e),w&&g.enter(d),k&&wr(e,null,i,"mounted")}),l)},E=(e,n,t,r)=>{if(n&&f(e,n),r){const o=r.type.__scopeId;o&&o!==n&&f(e,o+"-s"),t===r.subTree&&E(e,r.vnode.scopeId,r.vnode,r.parent)}},S=(e,n,t,r,o,i,a,l=0)=>{for(let s=l;s{const s=n.el=e.el;let{patchFlag:c,dynamicChildren:d,dirs:p}=n;c|=16&e.patchFlag;const f=e.props||h,m=n.props||h;let v;if((v=m.onVnodeBeforeUpdate)&&Ir(v,t,n,e),p&&wr(n,e,t,"beforeUpdate"),c>0){if(16&c)B(s,n,f,m,t,r,a);else if(2&c&&f.class!==m.class&&o(s,"class",null,m.class,a),4&c&&o(s,"style",f.style,m.style,a),8&c){const l=n.dynamicProps;for(let n=0;n{v&&Ir(v,t,n,e),p&&wr(n,e,t,"updated")}),r)},V=(e,n,t,r,o,i)=>{for(let a=0;a{if(t!==r){for(const c in r){if(P(c))continue;const u=r[c],d=t[c];(u!==d||i&&i(e,c))&&o(e,c,d,u,s,n.children,a,l,J)}if(t!==h)for(const i in t)P(i)||i in r||o(e,i,t[i],null,s,n.children,a,l,J)}},T=(e,n,r,o,i,a,s,c)=>{const u=n.el=e?e.el:l(""),d=n.anchor=e?e.anchor:l("");let{patchFlag:p,dynamicChildren:f}=n;p>0&&(c=!0),null==e?(t(u,r,o),t(d,r,o),S(n.children,r,d,i,a,s,c)):p>0&&64&p&&f?(V(e.dynamicChildren,f,r,i,a,s),(null!=n.key||i&&n===i.subTree)&&Pr(e,n,!0)):L(e,n,r,d,i,a,s,c)},O=(e,n,t,r,o,i,a,l)=>{null==e?512&n.shapeFlag?o.ctx.activate(n,t,r,a,l):D(n,t,r,o,i,a,l):$(e,n,l)},D=(e,n,t,r,o,i,a)=>{const l=e.component=function(e,n,t){const r=e.type,o=(n?n.appContext:e.appContext)||Mo,i={uid:Ro++,vnode:e,type:r,parent:n,appContext:o,root:null,next:null,subTree:null,update:null,render:null,proxy:null,exposed:null,withProxy:null,effects:null,provides:n?n.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:St(r,o),emitsOptions:tt(r,o),emit:null,emitted:null,ctx:h,data:h,props:h,attrs:h,slots:h,refs:h,setupState:h,setupContext:null,suspense:t,suspenseId:t?t.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null};return i.ctx={_:i},i.root=n?n.root:i,i.emit=nt.bind(null,i),Zn(i),i}(e,r,o);if(ir(e)&&(l.ctx.renderer=ne),function(e,n=!1){Go=n;const{props:t,children:r,shapeFlag:o}=e.vnode,i=4&o;(function(e,n,t,r=!1){const o={},i={};K(i,mo,1),_t(e,n,o,i),t?e.props=r?o:Ye(o):e.type.props?e.props=o:e.props=i,e.attrs=i})(e,t,i,n),((e,n)=>{if(32&e.vnode.shapeFlag){const t=n._;t?(e.slots=n,K(n,"_",t)):br(n,e.slots={})}else e.slots={},n&&yr(e,n);K(e.slots,mo,1)})(e,r);i&&function(e,n){const t=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Po);const{setup:r}=t;if(r){const t=e.setupContext=r.length>1?Zo(e):null;zo=e,se();const o=Fn(r,e,0,[e.props,t]);if(ce(),zo=null,j(o)){if(n)return o.then((n=>{Yo(e,n)}));e.asyncDep=o}else Yo(e,o)}else Xo(e)}(e,n);Go=!1}(l),l.asyncDep){if(o&&o.registerDep(l,U),!e.el){const e=l.subTree=go(eo);w(null,e,n,t)}}else U(l,e,n,t,o,i,a)},$=(e,n,t)=>{const r=n.component=e.component;if(function(e,n,t){const{props:r,children:o,component:i}=e,{props:a,children:l,patchFlag:s}=n,c=i.emitsOptions;if(n.dirs||n.transition)return!0;if(!(t&&s>=0))return!(!o&&!l||l&&l.$stable)||r!==a&&(r?!a||ct(r,a,c):!!a);if(1024&s)return!0;if(16&s)return r?ct(r,a,c):!!a;if(8&s){const e=n.dynamicProps;for(let n=0;n-1&&Nn.splice(n,1)}(r.update),r.update()}else n.component=e.component,n.el=e.el,r.vnode=n},U=(e,n,t,r,o,i,a)=>{e.update=te((function(){if(e.isMounted){let n,{next:t,bu:r,u:l,parent:s,vnode:c}=e,u=t;t?(t.el=c.el,I(e,t,a)):t=c,r&&Y(r),(n=t.props&&t.props.onVnodeBeforeUpdate)&&Ir(n,s,t,c);const p=at(e),f=e.subTree;e.subTree=p,y(f,p,d(f.el),Q(f),e,o,i),t.el=p.el,null===u&&ut(e,p.el),l&&Or(l,o),(n=t.props&&t.props.onVnodeUpdated)&&Or((()=>{Ir(n,s,t,c)}),o),Jn(e)}else{let a;const{el:l,props:s}=n,{bm:c,m:u,parent:d}=e;c&&Y(c),(a=s&&s.onVnodeBeforeMount)&&Ir(a,d,n);const p=e.subTree=at(e);l&&ie?ie(n.el,p,e,o):(y(null,p,t,r,e,o,i),n.el=p.el),u&&Or(u,o),(a=s&&s.onVnodeMounted)&&Or((()=>{Ir(a,d,n)}),o);const{a:f}=e;f&&256&n.shapeFlag&&Or(f,o),e.isMounted=!0}}),Tr)},I=(e,n,t)=>{n.component=e;const r=e.vnode.props;e.vnode=n,e.next=null,function(e,n,t,r){const{props:o,attrs:i,vnode:{patchFlag:a}}=e,l=nn(o),[s]=e.propsOptions;if(!(r||a>0)||16&a){let r;_t(e,n,o,i);for(const i in l)n&&(C(n,i)||(r=H(i))!==i&&C(n,r))||(s?!t||void 0===t[i]&&void 0===t[r]||(o[i]=Et(s,n||h,i,void 0,e)):delete o[i]);if(i!==l)for(const e in i)n&&C(n,e)||delete i[e]}else if(8&a){const t=e.vnode.dynamicProps;for(let r=0;r{const{vnode:t,slots:r}=e;let o=!0,i=h;if(32&t.shapeFlag){const e=n._;e?1===e?o=!1:x(r,n):(o=!n.$stable,br(n,r)),i=n}else n&&(yr(e,n),i={default:1});if(o)for(const e in r)hr(e)||e in i||delete r[e]})(e,n.children),Wn(void 0,e.update)},L=(e,n,t,r,o,i,a,l=!1)=>{const s=e&&e.children,c=e?e.shapeFlag:0,d=n.children,{patchFlag:p,shapeFlag:f}=n;if(p>0){if(128&p)return void z(s,d,t,r,o,i,a,l);if(256&p)return void M(s,d,t,r,o,i,a,l)}8&f?(16&c&&J(s,o,i),d!==s&&u(t,d)):16&c?16&f?z(s,d,t,r,o,i,a,l):J(s,o,i,!0):(8&c&&u(t,""),16&f&&S(d,t,r,o,i,a,l))},M=(e,n,t,r,o,i,a,l)=>{n=n||v;const s=(e=e||v).length,c=n.length,u=Math.min(s,c);let d;for(d=0;dc?J(e,o,i,!0,!1,u):S(n,t,r,o,i,a,l,u)},z=(e,n,t,r,o,i,a,l)=>{let s=0;const c=n.length;let u=e.length-1,d=c-1;for(;s<=u&&s<=d;){const r=e[s],c=n[s]=l?Ao(n[s]):xo(n[s]);if(!po(r,c))break;y(r,c,t,null,o,i,a,l),s++}for(;s<=u&&s<=d;){const r=e[u],s=n[d]=l?Ao(n[d]):xo(n[d]);if(!po(r,s))break;y(r,s,t,null,o,i,a,l),u--,d--}if(s>u){if(s<=d){const e=d+1,u=ed)for(;s<=u;)q(e[s],o,i,!0),s++;else{const p=s,f=s,m=new Map;for(s=f;s<=d;s++){const e=n[s]=l?Ao(n[s]):xo(n[s]);null!=e.key&&m.set(e.key,s)}let h,g=0;const b=d-f+1;let k=!1,w=0;const x=new Array(b);for(s=0;s=b){q(r,o,i,!0);continue}let c;if(null!=r.key)c=m.get(r.key);else for(h=f;h<=d;h++)if(0===x[h-f]&&po(r,n[h])){c=h;break}void 0===c?q(r,o,i,!0):(x[c-f]=s+1,c>=w?w=c:k=!0,y(r,n[c],t,null,o,i,a,l),g++)}const A=k?function(e){const n=e.slice(),t=[0];let r,o,i,a,l;const s=e.length;for(r=0;r0&&(n[r]=t[i-1]),t[i]=r)}}for(i=t.length,a=t[i-1];i-- >0;)t[i]=a,a=n[a];return t}(x):v;for(h=A.length-1,s=b-1;s>=0;s--){const e=f+s,l=n[e],u=e+1{const{el:a,type:l,transition:s,children:c,shapeFlag:u}=e;if(6&u)W(e.component.subTree,n,r,o);else if(128&u)e.suspense.move(n,r,o);else if(64&u)l.move(e,n,r,ne);else if(l!==Jr)if(l!==no)if(2!==o&&1&u&&s)if(0===o)s.beforeEnter(a),t(a,n,r),Or((()=>s.enter(a)),i);else{const{leave:e,delayLeave:o,afterLeave:i}=s,l=()=>t(a,n,r),c=()=>{e(a,(()=>{l(),i&&i()}))};o?o(a,l,c):c()}else t(a,n,r);else(({el:e,anchor:n},r,o)=>{let i;for(;e&&e!==n;)i=p(e),t(e,r,o),e=i;t(n,r,o)})(e,n,r);else{t(a,n,r);for(let e=0;e{const{type:i,props:a,ref:l,children:s,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:p}=e;if(null!=l&&jr(l,null,t,null),256&u)return void n.ctx.deactivate(e);const f=1&u&&p;let m;if((m=a&&a.onVnodeBeforeUnmount)&&Ir(m,n,e),6&u)Z(e.component,t,r);else{if(128&u)return void e.suspense.unmount(t,r);f&&wr(e,null,n,"beforeUnmount"),c&&(i!==Jr||d>0&&64&d)?J(c,n,t,!1,!0):(i===Jr&&(128&d||256&d)||!o&&16&u)&&J(s,n,t),64&u&&(r||!Lr(e.props))&&e.type.remove(e,ne),r&&G(e)}((m=a&&a.onVnodeUnmounted)||f)&&Or((()=>{m&&Ir(m,n,e),f&&wr(e,null,n,"unmounted")}),t)},G=e=>{const{type:n,el:t,anchor:o,transition:i}=e;if(n===Jr)return void X(t,o);if(n===no)return void(({el:e,anchor:n})=>{let t;for(;e&&e!==n;)t=p(e),r(e),e=t;r(n)})(e);const a=()=>{r(t),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&e.shapeFlag&&i&&!i.persisted){const{leave:n,delayLeave:r}=i,o=()=>n(t,a);r?r(e.el,a,o):o()}else a()},X=(e,n)=>{let t;for(;e!==n;)t=p(e),r(e),e=t;r(n)},Z=(e,n,t)=>{const{bum:r,effects:o,update:i,subTree:a,um:l}=e;if(r&&Y(r),o)for(let e=0;e{e.isUnmounted=!0}),n),n&&n.pendingBranch&&!n.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===n.pendingId&&(n.deps--,0===n.deps&&n.resolve()),Qn(e)},J=(e,n,t,r=!1,o=!1,i=0)=>{for(let a=i;a6&e.shapeFlag?Q(e.component.subTree):128&e.shapeFlag?e.suspense.next():p(e.anchor||e.el),ee=(e,n)=>{null==e?n._vnode&&q(n._vnode,null,null,!0):y(n._vnode||null,e,n),qn(),n._vnode=e},ne={p:y,um:q,m:W,r:G,mt:D,mc:S,pc:L,pbc:V,n:Q,o:e};let oe,ie;return n&&([oe,ie]=n(ne)),{render:ee,hydrate:oe,createApp:Fr(ee,oe)}}function Ir(e,n,t,r=null){Cn(e,n,7,[t,r])}function Pr(e,n,t=!1){const r=e.children,o=n.children;if(_(r)&&_(o))for(let e=0;ee&&(e.disabled||""===e.disabled),Mr=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,Rr=(e,n)=>{const t=e&&e.to;if(B(t)){if(n){return n(t)}return null}return t};function zr(e,n,t,{o:{insert:r},m:o},i=2){0===i&&r(e.targetAnchor,n,t);const{el:a,anchor:l,shapeFlag:s,children:c,props:u}=e,d=2===i;if(d&&r(a,n,t),(!d||Lr(u))&&16&s)for(let e=0;e{16&g&&c(b,e,n,o,i,a,l)};v?h(t,s):u&&h(u,d)}else{n.el=e.el;const r=n.anchor=e.anchor,c=n.target=e.target,p=n.targetAnchor=e.targetAnchor,m=Lr(e.props),h=m?t:c,g=m?r:p;if(a=a||Mr(c),n.dynamicChildren?(d(e.dynamicChildren,n.dynamicChildren,h,o,i,a),Pr(e,n,!0)):l||u(e,n,h,g,o,i,a),v)m||zr(n,t,r,s,1);else if((n.props&&n.props.to)!==(e.props&&e.props.to)){const e=n.target=Rr(n.props,f);e&&zr(n,e,null,s,0)}else m&&zr(n,c,p,s,1)}},remove(e,{r:n,o:{remove:t}}){const{shapeFlag:r,children:o,anchor:i}=e;if(t(i),16&r)for(let e=0;e0&&ro&&ro.push(i),i}function uo(e){return!!e&&!0===e.__v_isVNode}function po(e,n){return e.type===n.type&&e.key===n.key}function fo(e){ao=e}const mo="__vInternal",ho=({key:e})=>null!=e?e:null,vo=({ref:e})=>null!=e?B(e)||on(e)||V(e)?{i:ot,r:e}:e:null,go=function(e,n=null,t=null,r=0,o=null,i=!1){if(e&&e!==Gr||(e=eo),uo(e)){const r=bo(e,n,!0);return t&&Fo(r,t),r}if(l=e,V(l)&&"__vccOpts"in l&&(e=e.__vccOpts),n){(en(n)||mo in n)&&(n=x({},n));let{class:e,style:t}=n;e&&!B(e)&&(n.class=u(e)),O(t)&&(en(t)&&!_(t)&&(t=x({},t)),n.style=a(t))}var l;const s=B(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:O(e)?4:V(e)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:e,props:n,key:n&&ho(n),ref:n&&vo(n),scopeId:wt,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null};if(Fo(c,t),128&s){const{content:e,fallback:n}=function(e){const{shapeFlag:n,children:t}=e;let r,o;return 32&n?(r=ft(t.default),o=ft(t.fallback)):(r=ft(t),o=xo(null)),{content:r,fallback:o}}(c);c.ssContent=e,c.ssFallback=n}return lo>0&&!i&&ro&&(r>0||6&s)&&32!==r&&ro.push(c),c};function bo(e,n,t=!1){const{props:r,ref:o,patchFlag:i}=e,a=n?Co(r||{},n):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&ho(a),ref:n&&n.ref?t&&o?_(o)?o.concat(vo(n)):[o,vo(n)]:vo(n):o,scopeId:e.scopeId,children:e.children,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:n&&e.type!==Jr?-1===i?16:16|i:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bo(e.ssContent),ssFallback:e.ssFallback&&bo(e.ssFallback),el:e.el,anchor:e.anchor}}function yo(e=" ",n=0){return go(Qr,null,e,n)}function ko(e,n){const t=go(no,null,e);return t.staticCount=n,t}function wo(e="",n=!1){return n?(oo(),co(eo,null,e)):go(eo,null,e)}function xo(e){return null==e||"boolean"==typeof e?go(eo):_(e)?go(Jr,null,e):"object"==typeof e?null===e.el?e:bo(e):go(Qr,null,String(e))}function Ao(e){return null===e.el?e:bo(e)}function Fo(e,n){let t=0;const{shapeFlag:r}=e;if(null==n)n=null;else if(_(n))t=16;else if("object"==typeof n){if(1&r||64&r){const t=n.default;return void(t&&(t._c&>(1),Fo(e,t()),t._c&>(-1)))}{t=32;const r=n._;r||mo in n?3===r&&ot&&(1024&ot.vnode.patchFlag?(n._=2,e.patchFlag|=1024):n._=1):n._ctx=ot}}else V(n)?(n={default:n,_ctx:ot},t=32):(n=String(n),64&r?(t=16,n=[yo(n)]):t=8);e.children=n,e.shapeFlag|=t}function Co(...e){const n=x({},e[0]);for(let t=1;t1)return t&&V(n)?n():n}}let So=!1;function No(e,n,t=[],r=[],o=[],i=!1){const{mixins:a,extends:l,data:s,computed:c,methods:u,watch:d,provide:p,inject:f,components:m,directives:v,beforeMount:b,mounted:y,beforeUpdate:k,updated:w,activated:A,deactivated:F,beforeDestroy:C,beforeUnmount:E,destroyed:S,unmounted:N,render:B,renderTracked:T,renderTriggered:j,errorCaptured:D,expose:$}=n,U=e.proxy,I=e.ctx,P=e.appContext.mixins;if(i&&B&&e.render===g&&(e.render=B),i||(So=!0,Vo("beforeCreate","bc",n,e,P),So=!1,Oo(e,P,t,r,o)),l&&No(e,l,t,r,o,!0),a&&Oo(e,a,t,r,o),f)if(_(f))for(let e=0;ejo(e,n,U))),s&&jo(e,s,U)),c)for(const e in c){const n=c[e],t=ni({get:V(n)?n.bind(U,U):V(n.get)?n.get.bind(U,U):g,set:!V(n)&&V(n.set)?n.set.bind(U):g});Object.defineProperty(I,e,{enumerable:!0,configurable:!0,get:()=>t.value,set:e=>t.value=e})}if(d&&r.push(d),!i&&r.length&&r.forEach((e=>{for(const n in e)Do(e[n],I,U,n)})),p&&o.push(p),!i&&o.length&&o.forEach((e=>{const n=V(e)?e.call(U):e;Reflect.ownKeys(n).forEach((e=>{_o(e,n[e])}))})),i&&(m&&x(e.components||(e.components=x({},e.type.components)),m),v&&x(e.directives||(e.directives=x({},e.type.directives)),v)),i||Vo("created","c",n,e,P),b&&Dt(b.bind(U)),y&&$t(y.bind(U)),k&&Ut(k.bind(U)),w&&It(w.bind(U)),A&&cr(A.bind(U)),F&&ur(F.bind(U)),D&&zt(D.bind(U)),T&&Rt(T.bind(U)),j&&Mt(j.bind(U)),E&&Pt(E.bind(U)),N&&Lt(N.bind(U)),_($))if(i);else if($.length){const n=e.exposed||(e.exposed=fn({}));$.forEach((e=>{n[e]=bn(U,e)}))}else e.exposed||(e.exposed=h)}function Vo(e,n,t,r,o){To(e,n,o,r);const{extends:i,mixins:a}=t;i&&Bo(e,n,i,r),a&&To(e,n,a,r);const l=t[e];l&&Cn(l.bind(r.proxy),r,n)}function Bo(e,n,t,r){t.extends&&Bo(e,n,t.extends,r);const o=t[e];o&&Cn(o.bind(r.proxy),r,n)}function To(e,n,t,r){for(let o=0;o{let n=e;for(let e=0;et[r];if(B(e)){const t=n[e];V(t)&&qt(o,t)}else if(V(e))qt(o,e.bind(t));else if(O(e))if(_(e))e.forEach((e=>Do(e,n,t,r)));else{const r=V(e.handler)?e.handler.bind(t):n[e.handler];V(r)&&qt(o,r,e)}}function $o(e,n,t){const r=t.appContext.config.optionMergeStrategies,{mixins:o,extends:i}=n;i&&$o(e,i,t),o&&o.forEach((n=>$o(e,n,t)));for(const o in n)r&&C(r,o)?e[o]=r[o](e[o],n[o],t.proxy,o):e[o]=n[o]}const Uo=e=>e&&(e.proxy?e.proxy:Uo(e.parent)),Io=x(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Uo(e.parent),$root:e=>e.root&&e.root.proxy,$emit:e=>e.emit,$options:e=>function(e){const n=e.type,{__merged:t,mixins:r,extends:o}=n;if(t)return t;const i=e.appContext.mixins;if(!i.length&&!r&&!o)return n;const a={};return i.forEach((n=>$o(a,n,e))),$o(a,n,e),n.__merged=a}(e),$forceUpdate:e=>()=>Mn(e.update),$nextTick:e=>Ln.bind(e.proxy),$watch:e=>Yt.bind(e)}),Po={get({_:e},n){const{ctx:t,setupState:r,data:o,props:i,accessCache:a,type:l,appContext:s}=e;if("__v_skip"===n)return!0;let c;if("$"!==n[0]){const l=a[n];if(void 0!==l)switch(l){case 0:return r[n];case 1:return o[n];case 3:return t[n];case 2:return i[n]}else{if(r!==h&&C(r,n))return a[n]=0,r[n];if(o!==h&&C(o,n))return a[n]=1,o[n];if((c=e.propsOptions[0])&&C(c,n))return a[n]=2,i[n];if(t!==h&&C(t,n))return a[n]=3,t[n];So||(a[n]=4)}}const u=Io[n];let d,p;return u?("$attrs"===n&&ue(e,0,n),u(e)):(d=l.__cssModules)&&(d=d[n])?d:t!==h&&C(t,n)?(a[n]=3,t[n]):(p=s.config.globalProperties,C(p,n)?p[n]:void 0)},set({_:e},n,t){const{data:r,setupState:o,ctx:i}=e;if(o!==h&&C(o,n))o[n]=t;else if(r!==h&&C(r,n))r[n]=t;else if(n in e.props)return!1;return!("$"===n[0]&&n.slice(1)in e||(i[n]=t,0))},has({_:{data:e,setupState:n,accessCache:t,ctx:r,appContext:o,propsOptions:i}},a){let l;return void 0!==t[a]||e!==h&&C(e,a)||n!==h&&C(n,a)||(l=i[0])&&C(l,a)||C(r,a)||C(Io,a)||C(o.config.globalProperties,a)}},Lo=x({},Po,{get(e,n){if(n!==Symbol.unscopables)return Po.get(e,n,e)},has:(e,n)=>"_"!==n[0]&&!o(n)}),Mo=xr();let Ro=0,zo=null;const Ho=()=>zo||ot,Wo=e=>{zo=e};let qo,Go=!1;function Yo(e,n,t){V(n)?e.render=n:O(n)&&(e.devtoolsRawSetupState=n,e.setupState=fn(n)),Xo(e)}function Ko(e){qo=e}function Xo(e,n){const t=e.type;e.render||(qo&&t.template&&!t.render&&(t.render=qo(t.template,{isCustomElement:e.appContext.config.isCustomElement,delimiters:t.delimiters})),e.render=t.render||g,e.render._rc&&(e.withProxy=new Proxy(e.ctx,Lo))),zo=e,se(),No(e,t),ce(),zo=null}function Zo(e){return{attrs:e.attrs,slots:e.slots,emit:e.emit,expose:n=>{e.exposed=fn(n)}}}function Jo(e,n=zo){n&&(n.effects||(n.effects=[])).push(e)}const Qo=/(?:^|[-_])(\w)/g;function ei(e,n,t=!1){let r=V(n)&&n.displayName||n.name;if(!r&&n.__file){const e=n.__file.match(/([^/\\]+)\.\w+$/);e&&(r=e[1])}if(!r&&e&&e.parent){const t=e=>{for(const t in e)if(e[t]===n)return t};r=t(e.components||e.parent.type.components)||t(e.appContext.components)}return r?r.replace(Qo,(e=>e.toUpperCase())).replace(/[-_]/g,""):t?"App":"Anonymous"}function ni(e){const n=function(e){let n,t;return V(e)?(n=e,t=g):(n=e.get,t=e.set),new yn(n,t,V(e)||!e.set)}(e);return Jo(n.effect),n}function ti(){return null}function ri(){return null}function oi(){const e=Ho();return e.setupContext||(e.setupContext=Zo(e))}function ii(e,n,t){const r=arguments.length;return 2===r?O(n)&&!_(n)?uo(n)?go(e,null,[n]):go(e,n):go(e,null,n):(r>3?t=Array.prototype.slice.call(arguments,2):3===r&&uo(t)&&(t=[t]),go(e,n,t))}const ai=Symbol(""),li=()=>{{const e=Eo(ai);return e||wn("Server rendering context not provided. Make sure to only call useSsrContext() conditionally in the server build."),e}};function si(){}function ci(e,n){let t;if(_(e)||B(e)){t=new Array(e.length);for(let r=0,o=e.length;r{n.insertBefore(e,t||null)},remove:e=>{const n=e.parentNode;n&&n.removeChild(e)},createElement:(e,n,t)=>n?hi.createElementNS(mi,e):hi.createElement(e,t?{is:t}:void 0),createText:e=>hi.createTextNode(e),createComment:e=>hi.createComment(e),setText:(e,n)=>{e.nodeValue=n},setElementText:(e,n)=>{e.textContent=n},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>hi.querySelector(e),setScopeId(e,n){e.setAttribute(n,"")},cloneNode:e=>e.cloneNode(!0),insertStaticContent(e,n,t,r){const o=r?gi||(gi=hi.createElementNS(mi,"svg")):vi||(vi=hi.createElement("div"));o.innerHTML=e;const i=o.firstChild;let a=i,l=a;for(;a;)l=a,bi.insert(a,n,t),a=o.firstChild;return[i,l]}},yi=/\s*!important$/;function ki(e,n,t){if(_(t))t.forEach((t=>ki(e,n,t)));else if(n.startsWith("--"))e.setProperty(n,t);else{const r=function(e,n){const t=xi[n];if(t)return t;let r=R(n);if("filter"!==r&&r in e)return xi[n]=r;r=W(r);for(let t=0;tdocument.createEvent("Event").timeStamp&&(Fi=()=>performance.now());let Ci=0;const _i=Promise.resolve(),Ei=()=>{Ci=0};function Si(e,n,t,r){e.addEventListener(n,t,r)}const Ni=/(?:Once|Passive|Capture)$/,Vi=/^on[a-z]/;function Bi(e="$style"){{const n=Ho();if(!n)return h;const t=n.type.__cssModules;if(!t)return h;return t[e]||h}}function Ti(e){const n=Ho();if(!n)return;const t=()=>Oi(n.subTree,e(n.proxy));$t((()=>Ht(t,{flush:"post"}))),It(t)}function Oi(e,n){if(128&e.shapeFlag){const t=e.suspense;e=t.activeBranch,t.pendingBranch&&!t.isHydrating&&t.effects.push((()=>{Oi(t.activeBranch,n)}))}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el){const t=e.el.style;for(const e in n)t.setProperty(`--${e}`,n[e])}else e.type===Jr&&e.children.forEach((e=>Oi(e,n)))}const ji="transition",Di="animation",$i=(e,{slots:n})=>ii(Jt,Pi(e),n);$i.displayName="Transition";const Ui={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ii=$i.props=x({},Jt.props,Ui);function Pi(e){let{name:n="v",type:t,css:r=!0,duration:o,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:s=i,appearActiveClass:c=a,appearToClass:u=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:f=`${n}-leave-to`}=e;const m={};for(const n in e)n in Ui||(m[n]=e[n]);if(!r)return m;const h=function(e){if(null==e)return null;if(O(e))return[Li(e.enter),Li(e.leave)];{const n=Li(e);return[n,n]}}(o),v=h&&h[0],g=h&&h[1],{onBeforeEnter:b,onEnter:y,onEnterCancelled:k,onLeave:w,onLeaveCancelled:A,onBeforeAppear:F=b,onAppear:C=y,onAppearCancelled:_=k}=m,E=(e,n,t)=>{Ri(e,n?u:l),Ri(e,n?c:a),t&&t()},S=(e,n)=>{Ri(e,f),Ri(e,p),n&&n()},N=e=>(n,r)=>{const o=e?C:y,a=()=>E(n,e,r);o&&o(n,a),zi((()=>{Ri(n,e?s:i),Mi(n,e?u:l),o&&o.length>1||Wi(n,t,v,a)}))};return x(m,{onBeforeEnter(e){b&&b(e),Mi(e,a),Mi(e,i)},onBeforeAppear(e){F&&F(e),Mi(e,c),Mi(e,s)},onEnter:N(!1),onAppear:N(!0),onLeave(e,n){const r=()=>S(e,n);Mi(e,p),Mi(e,d);const o=e.style.transitionProperty;e.style.transitionProperty="none",zi((()=>{e.style.transitionProperty=o,Ri(e,d),Mi(e,f),w&&w.length>1||Wi(e,t,g,r)})),w&&w(e,r)},onEnterCancelled(e){E(e,!1),k&&k(e)},onAppearCancelled(e){E(e,!0),_&&_(e)},onLeaveCancelled(e){S(e),A&&A(e)}})}function Li(e){return X(e)}function Mi(e,n){n.split(/\s+/).forEach((n=>n&&e.classList.add(n))),(e._vtc||(e._vtc=new Set)).add(n)}function Ri(e,n){n.split(/\s+/).forEach((n=>n&&e.classList.remove(n)));const{_vtc:t}=e;t&&(t.delete(n),t.size||(e._vtc=void 0))}function zi(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let Hi=0;function Wi(e,n,t,r){const o=e._endId=++Hi,i=()=>{o===e._endId&&r()};if(t)return setTimeout(i,t);const{type:a,timeout:l,propCount:s}=qi(e,n);if(!a)return r();const c=a+"end";let u=0;const d=()=>{e.removeEventListener(c,p),i()},p=n=>{n.target===e&&++u>=s&&d()};setTimeout((()=>{u(t[e]||"").split(", "),o=r("transitionDelay"),i=r("transitionDuration"),a=Gi(o,i),l=r("animationDelay"),s=r("animationDuration"),c=Gi(l,s);let u=null,d=0,p=0;return n===ji?a>0&&(u=ji,d=a,p=i.length):n===Di?c>0&&(u=Di,d=c,p=s.length):(d=Math.max(a,c),u=d>0?a>c?ji:Di:null,p=u?u===ji?i.length:s.length:0),{type:u,timeout:d,propCount:p,hasTransform:u===ji&&/\b(transform|all)(,|$)/.test(t.transitionProperty)}}function Gi(e,n){for(;e.lengthYi(n)+Yi(e[t]))))}function Yi(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}const Ki=new WeakMap,Xi=new WeakMap,Zi={name:"TransitionGroup",props:x({},Ii,{tag:String,moveClass:String}),setup(e,{slots:n}){const t=Ho(),r=Xt();let o,i;return It((()=>{if(!o.length)return;const n=e.moveClass||`${e.name||"v"}-move`;if(!function(e,n,t){const r=e.cloneNode();e._vtc&&e._vtc.forEach((e=>{e.split(/\s+/).forEach((e=>e&&r.classList.remove(e)))})),t.split(/\s+/).forEach((e=>e&&r.classList.add(e))),r.style.display="none";const o=1===n.nodeType?n:n.parentNode;o.appendChild(r);const{hasTransform:i}=qi(r);return o.removeChild(r),i}(o[0].el,t.vnode.el,n))return;o.forEach(Ji),o.forEach(Qi);const r=o.filter(ea);document.body.offsetHeight,r.forEach((e=>{const t=e.el,r=t.style;Mi(t,n),r.transform=r.webkitTransform=r.transitionDuration="";const o=t._moveCb=e=>{e&&e.target!==t||e&&!/transform$/.test(e.propertyName)||(t.removeEventListener("transitionend",o),t._moveCb=null,Ri(t,n))};t.addEventListener("transitionend",o)}))})),()=>{const a=nn(e),l=Pi(a),s=a.tag||Jr;o=i,i=n.default?or(n.default()):[];for(let e=0;e{const n=e.props["onUpdate:modelValue"];return _(n)?e=>Y(n,e):n};function ta(e){e.target.composing=!0}function ra(e){const n=e.target;n.composing&&(n.composing=!1,function(e,n){const t=document.createEvent("HTMLEvents");t.initEvent("input",!0,!0),e.dispatchEvent(t)}(n))}const oa={created(e,{modifiers:{lazy:n,trim:t,number:r}},o){e._assign=na(o);const i=r||"number"===e.type;Si(e,n?"change":"input",(n=>{if(n.target.composing)return;let r=e.value;t?r=r.trim():i&&(r=X(r)),e._assign(r)})),t&&Si(e,"change",(()=>{e.value=e.value.trim()})),n||(Si(e,"compositionstart",ta),Si(e,"compositionend",ra),Si(e,"change",ra))},mounted(e,{value:n}){e.value=null==n?"":n},beforeUpdate(e,{value:n,modifiers:{trim:t,number:r}},o){if(e._assign=na(o),e.composing)return;if(document.activeElement===e){if(t&&e.value.trim()===n)return;if((r||"number"===e.type)&&X(e.value)===n)return}const i=null==n?"":n;e.value!==i&&(e.value=i)}},ia={created(e,n,t){e._assign=na(t),Si(e,"change",(()=>{const n=e._modelValue,t=ua(e),r=e.checked,o=e._assign;if(_(n)){const e=p(n,t),i=-1!==e;if(r&&!i)o(n.concat(t));else if(!r&&i){const t=[...n];t.splice(e,1),o(t)}}else if(S(n)){const e=new Set(n);r?e.add(t):e.delete(t),o(e)}else o(da(e,r))}))},mounted:aa,beforeUpdate(e,n,t){e._assign=na(t),aa(e,n,t)}};function aa(e,{value:n,oldValue:t},r){e._modelValue=n,_(n)?e.checked=p(n,r.props.value)>-1:S(n)?e.checked=n.has(r.props.value):n!==t&&(e.checked=d(n,da(e,!0)))}const la={created(e,{value:n},t){e.checked=d(n,t.props.value),e._assign=na(t),Si(e,"change",(()=>{e._assign(ua(e))}))},beforeUpdate(e,{value:n,oldValue:t},r){e._assign=na(r),n!==t&&(e.checked=d(n,r.props.value))}},sa={created(e,{value:n,modifiers:{number:t}},r){const o=S(n);Si(e,"change",(()=>{const n=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>t?X(ua(e)):ua(e)));e._assign(e.multiple?o?new Set(n):n:n[0])})),e._assign=na(r)},mounted(e,{value:n}){ca(e,n)},beforeUpdate(e,n,t){e._assign=na(t)},updated(e,{value:n}){ca(e,n)}};function ca(e,n){const t=e.multiple;if(!t||_(n)||S(n)){for(let r=0,o=e.options.length;r-1:o.selected=n.has(i);else if(d(ua(o),n))return void(e.selectedIndex=r)}t||(e.selectedIndex=-1)}}function ua(e){return"_value"in e?e._value:e.value}function da(e,n){const t=n?"_trueValue":"_falseValue";return t in e?e[t]:n}const pa={created(e,n,t){fa(e,n,t,null,"created")},mounted(e,n,t){fa(e,n,t,null,"mounted")},beforeUpdate(e,n,t,r){fa(e,n,t,r,"beforeUpdate")},updated(e,n,t,r){fa(e,n,t,r,"updated")}};function fa(e,n,t,r,o){let i;switch(e.tagName){case"SELECT":i=sa;break;case"TEXTAREA":i=oa;break;default:switch(t.props&&t.props.type){case"checkbox":i=ia;break;case"radio":i=la;break;default:i=oa}}const a=i[o];a&&a(e,n,t,r)}const ma=["ctrl","shift","alt","meta"],ha={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,n)=>ma.some((t=>e[`${t}Key`]&&!n.includes(t)))},va=(e,n)=>(t,...r)=>{for(let e=0;et=>{if(!("key"in t))return;const r=H(t.key);return n.some((e=>e===r||ga[e]===r))?e(t):void 0},ya={beforeMount(e,{value:n},{transition:t}){e._vod="none"===e.style.display?"":e.style.display,t&&n?t.beforeEnter(e):ka(e,n)},mounted(e,{value:n},{transition:t}){t&&n&&t.enter(e)},updated(e,{value:n,oldValue:t},{transition:r}){r&&n!==t?n?(r.beforeEnter(e),ka(e,!0),r.enter(e)):r.leave(e,(()=>{ka(e,!1)})):ka(e,n)},beforeUnmount(e,{value:n}){ka(e,n)}};function ka(e,n){e.style.display=n?e._vod:"none"}const wa=x({patchProp:(e,n,t,r,o=!1,a,l,s,c)=>{switch(n){case"class":!function(e,n,t){if(null==n&&(n=""),t)e.setAttribute("class",n);else{const t=e._vtc;t&&(n=(n?[n,...t]:[...t]).join(" ")),e.className=n}}(e,r,o);break;case"style":!function(e,n,t){const r=e.style;if(t)if(B(t))n!==t&&(r.cssText=t);else{for(const e in t)ki(r,e,t[e]);if(n&&!B(n))for(const e in n)null==t[e]&&ki(r,e,"")}else e.removeAttribute("style")}(e,t,r);break;default:k(n)?w(n)||function(e,n,t,r,o=null){const i=e._vei||(e._vei={}),a=i[n];if(r&&a)a.value=r;else{const[t,l]=function(e){let n;if(Ni.test(e)){let t;for(n={};t=e.match(Ni);)e=e.slice(0,e.length-t[0].length),n[t[0].toLowerCase()]=!0}return[e.slice(2).toLowerCase(),n]}(n);r?Si(e,t,i[n]=function(e,n){const t=e=>{(e.timeStamp||Fi())>=t.attached-1&&Cn(function(e,n){if(_(n)){const t=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{t.call(e),e._stopped=!0},n.map((e=>n=>!n._stopped&&e(n)))}return n}(e,t.value),n,5,[e])};return t.value=e,t.attached=Ci||(_i.then(Ei),Ci=Fi()),t}(r,o),l):a&&(function(e,n,t,r){e.removeEventListener(n,t,r)}(e,t,a,l),i[n]=void 0)}}(e,n,0,r,l):function(e,n,t,r){return r?"innerHTML"===n||!!(n in e&&Vi.test(n)&&V(t)):"spellcheck"!==n&&"draggable"!==n&&(("form"!==n||"string"!=typeof t)&&(("list"!==n||"INPUT"!==e.tagName)&&((!Vi.test(n)||!B(t))&&n in e)))}(e,n,r,o)?function(e,n,t,r,o,i,a){if("innerHTML"===n||"textContent"===n)return r&&a(r,o,i),void(e[n]=null==t?"":t);if("value"!==n||"PROGRESS"===e.tagName){if(""===t||null==t){const r=typeof e[n];if(""===t&&"boolean"===r)return void(e[n]=!0);if(null==t&&"string"===r)return e[n]="",void e.removeAttribute(n);if("number"===r)return e[n]=0,void e.removeAttribute(n)}try{e[n]=t}catch(e){}}else{e._value=t;const n=null==t?"":t;e.value!==n&&(e.value=n)}}(e,n,r,a,l,s,c):("true-value"===n?e._trueValue=r:"false-value"===n&&(e._falseValue=r),function(e,n,t,r){if(r&&n.startsWith("xlink:"))null==t?e.removeAttributeNS(Ai,n.slice(6,n.length)):e.setAttributeNS(Ai,n,t);else{const r=i(n);null==t||r&&!1===t?e.removeAttribute(n):e.setAttribute(n,r?"":t)}}(e,n,r,o))}},forcePatchProp:(e,n)=>"value"===n},bi);let xa,Aa=!1;function Fa(){return xa||(xa=Dr(wa))}function Ca(){return xa=Aa?xa:$r(wa),Aa=!0,xa}const _a=(...e)=>{Fa().render(...e)},Ea=(...e)=>{Ca().hydrate(...e)},Sa=(...e)=>{const n=Fa().createApp(...e),{mount:t}=n;return n.mount=e=>{const r=Va(e);if(!r)return;const o=n._component;V(o)||o.render||o.template||(o.template=r.innerHTML),r.innerHTML="";const i=t(r);return r.removeAttribute("v-cloak"),r.setAttribute("data-v-app",""),i},n},Na=(...e)=>{const n=Ca().createApp(...e),{mount:t}=n;return n.mount=e=>{const n=Va(e);if(n)return t(n,!0)},n};function Va(e){return B(e)?document.querySelector(e):e}const Ba=()=>{}},317:(e,n,t)=>{"use strict";var r=t(537),o="store",i=("undefined"!=typeof window?window:void 0!==t.g?t.g:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function a(e,n){if(void 0===n&&(n=[]),null===e||"object"!=typeof e)return e;var t,r=(t=function(n){return n.original===e},n.filter(t)[0]);if(r)return r.copy;var o=Array.isArray(e)?[]:{};return n.push({original:e,copy:o}),Object.keys(e).forEach((function(t){o[t]=a(e[t],n)})),o}function l(e,n){Object.keys(e).forEach((function(t){return n(e[t],t)}))}function s(e){return null!==e&&"object"==typeof e}var c=function(e,n){this.runtime=n,this._children=Object.create(null),this._rawModule=e;var t=e.state;this.state=("function"==typeof t?t():t)||{}},u={namespaced:{configurable:!0}};u.namespaced.get=function(){return!!this._rawModule.namespaced},c.prototype.addChild=function(e,n){this._children[e]=n},c.prototype.removeChild=function(e){delete this._children[e]},c.prototype.getChild=function(e){return this._children[e]},c.prototype.hasChild=function(e){return e in this._children},c.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},c.prototype.forEachChild=function(e){l(this._children,e)},c.prototype.forEachGetter=function(e){this._rawModule.getters&&l(this._rawModule.getters,e)},c.prototype.forEachAction=function(e){this._rawModule.actions&&l(this._rawModule.actions,e)},c.prototype.forEachMutation=function(e){this._rawModule.mutations&&l(this._rawModule.mutations,e)},Object.defineProperties(c.prototype,u);var d=function(e){this.register([],e,!1)};function p(e,n,t){if(n.update(t),t.modules)for(var r in t.modules){if(!n.getChild(r))return;p(e.concat(r),n.getChild(r),t.modules[r])}}d.prototype.get=function(e){return e.reduce((function(e,n){return e.getChild(n)}),this.root)},d.prototype.getNamespace=function(e){var n=this.root;return e.reduce((function(e,t){return e+((n=n.getChild(t)).namespaced?t+"/":"")}),"")},d.prototype.update=function(e){p([],this.root,e)},d.prototype.register=function(e,n,t){var r=this;void 0===t&&(t=!0);var o=new c(n,t);0===e.length?this.root=o:this.get(e.slice(0,-1)).addChild(e[e.length-1],o),n.modules&&l(n.modules,(function(n,o){r.register(e.concat(o),n,t)}))},d.prototype.unregister=function(e){var n=this.get(e.slice(0,-1)),t=e[e.length-1],r=n.getChild(t);r&&r.runtime&&n.removeChild(t)},d.prototype.isRegistered=function(e){var n=this.get(e.slice(0,-1)),t=e[e.length-1];return!!n&&n.hasChild(t)};var f=function(e){var n=this;void 0===e&&(e={});var t=e.plugins;void 0===t&&(t=[]);var r=e.strict;void 0===r&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new d(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null);var o=this,a=this.dispatch,l=this.commit;this.dispatch=function(e,n){return a.call(o,e,n)},this.commit=function(e,n,t){return l.call(o,e,n,t)},this.strict=r;var s=this._modules.root.state;b(this,s,[],this._modules.root),g(this,s),t.forEach((function(e){return e(n)})),(void 0===e.devtools||e.devtools)&&function(e){i&&(e._devtoolHook=i,i.emit("vuex:init",e),i.on("vuex:travel-to-state",(function(n){e.replaceState(n)})),e.subscribe((function(e,n){i.emit("vuex:mutation",e,n)}),{prepend:!0}),e.subscribeAction((function(e,n){i.emit("vuex:action",e,n)}),{prepend:!0}))}(this)},m={state:{configurable:!0}};function h(e,n,t){return n.indexOf(e)<0&&(t&&t.prepend?n.unshift(e):n.push(e)),function(){var t=n.indexOf(e);t>-1&&n.splice(t,1)}}function v(e,n){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var t=e.state;b(e,t,[],e._modules.root,!0),g(e,t,n)}function g(e,n,t){var o=e._state;e.getters={},e._makeLocalGettersCache=Object.create(null);var i=e._wrappedGetters,a={};l(i,(function(n,t){a[t]=function(e,n){return function(){return e(n)}}(n,e),Object.defineProperty(e.getters,t,{get:function(){return a[t]()},enumerable:!0})})),e._state=r.reactive({data:n}),e.strict&&function(e){r.watch((function(){return e._state.data}),(function(){}),{deep:!0,flush:"sync"})}(e),o&&t&&e._withCommit((function(){o.data=null}))}function b(e,n,t,r,o){var i=!t.length,a=e._modules.getNamespace(t);if(r.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=r),!i&&!o){var l=y(n,t.slice(0,-1)),s=t[t.length-1];e._withCommit((function(){l[s]=r.state}))}var c=r.context=function(e,n,t){var r=""===n,o={dispatch:r?e.dispatch:function(t,r,o){var i=k(t,r,o),a=i.payload,l=i.options,s=i.type;return l&&l.root||(s=n+s),e.dispatch(s,a)},commit:r?e.commit:function(t,r,o){var i=k(t,r,o),a=i.payload,l=i.options,s=i.type;l&&l.root||(s=n+s),e.commit(s,a,l)}};return Object.defineProperties(o,{getters:{get:r?function(){return e.getters}:function(){return function(e,n){if(!e._makeLocalGettersCache[n]){var t={},r=n.length;Object.keys(e.getters).forEach((function(o){if(o.slice(0,r)===n){var i=o.slice(r);Object.defineProperty(t,i,{get:function(){return e.getters[o]},enumerable:!0})}})),e._makeLocalGettersCache[n]=t}return e._makeLocalGettersCache[n]}(e,n)}},state:{get:function(){return y(e.state,t)}}}),o}(e,a,t);r.forEachMutation((function(n,t){!function(e,n,t,r){(e._mutations[n]||(e._mutations[n]=[])).push((function(n){t.call(e,r.state,n)}))}(e,a+t,n,c)})),r.forEachAction((function(n,t){var r=n.root?t:a+t,o=n.handler||n;!function(e,n,t,r){(e._actions[n]||(e._actions[n]=[])).push((function(n){var o,i=t.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},n);return(o=i)&&"function"==typeof o.then||(i=Promise.resolve(i)),e._devtoolHook?i.catch((function(n){throw e._devtoolHook.emit("vuex:error",n),n})):i}))}(e,r,o,c)})),r.forEachGetter((function(n,t){!function(e,n,t,r){e._wrappedGetters[n]||(e._wrappedGetters[n]=function(e){return t(r.state,r.getters,e.state,e.getters)})}(e,a+t,n,c)})),r.forEachChild((function(r,i){b(e,n,t.concat(i),r,o)}))}function y(e,n){return n.reduce((function(e,n){return e[n]}),e)}function k(e,n,t){return s(e)&&e.type&&(t=n,n=e,e=e.type),{type:e,payload:n,options:t}}f.prototype.install=function(e,n){e.provide(n||o,this),e.config.globalProperties.$store=this},m.state.get=function(){return this._state.data},m.state.set=function(e){},f.prototype.commit=function(e,n,t){var r=this,o=k(e,n,t),i=o.type,a=o.payload,l=(o.options,{type:i,payload:a}),s=this._mutations[i];s&&(this._withCommit((function(){s.forEach((function(e){e(a)}))})),this._subscribers.slice().forEach((function(e){return e(l,r.state)})))},f.prototype.dispatch=function(e,n){var t=this,r=k(e,n),o=r.type,i=r.payload,a={type:o,payload:i},l=this._actions[o];if(l){try{this._actionSubscribers.slice().filter((function(e){return e.before})).forEach((function(e){return e.before(a,t.state)}))}catch(e){}var s=l.length>1?Promise.all(l.map((function(e){return e(i)}))):l[0](i);return new Promise((function(e,n){s.then((function(n){try{t._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(a,t.state)}))}catch(e){}e(n)}),(function(e){try{t._actionSubscribers.filter((function(e){return e.error})).forEach((function(n){return n.error(a,t.state,e)}))}catch(e){}n(e)}))}))}},f.prototype.subscribe=function(e,n){return h(e,this._subscribers,n)},f.prototype.subscribeAction=function(e,n){return h("function"==typeof e?{before:e}:e,this._actionSubscribers,n)},f.prototype.watch=function(e,n,t){var o=this;return r.watch((function(){return e(o.state,o.getters)}),n,Object.assign({},t))},f.prototype.replaceState=function(e){var n=this;this._withCommit((function(){n._state.data=e}))},f.prototype.registerModule=function(e,n,t){void 0===t&&(t={}),"string"==typeof e&&(e=[e]),this._modules.register(e,n),b(this,this.state,e,this._modules.get(e),t.preserveState),g(this,this.state)},f.prototype.unregisterModule=function(e){var n=this;"string"==typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit((function(){delete y(n.state,e.slice(0,-1))[e[e.length-1]]})),v(this)},f.prototype.hasModule=function(e){return"string"==typeof e&&(e=[e]),this._modules.isRegistered(e)},f.prototype.hotUpdate=function(e){this._modules.update(e),v(this,!0)},f.prototype._withCommit=function(e){var n=this._committing;this._committing=!0,e(),this._committing=n},Object.defineProperties(f.prototype,m);var w=_((function(e,n){var t={};return C(n).forEach((function(n){var r=n.key,o=n.val;t[r]=function(){var n=this.$store.state,t=this.$store.getters;if(e){var r=E(this.$store,0,e);if(!r)return;n=r.context.state,t=r.context.getters}return"function"==typeof o?o.call(this,n,t):n[o]},t[r].vuex=!0})),t})),x=_((function(e,n){var t={};return C(n).forEach((function(n){var r=n.key,o=n.val;t[r]=function(){for(var n=[],t=arguments.length;t--;)n[t]=arguments[t];var r=this.$store.commit;if(e){var i=E(this.$store,0,e);if(!i)return;r=i.context.commit}return"function"==typeof o?o.apply(this,[r].concat(n)):r.apply(this.$store,[o].concat(n))}})),t})),A=_((function(e,n){var t={};return C(n).forEach((function(n){var r=n.key,o=n.val;o=e+o,t[r]=function(){if(!e||E(this.$store,0,e))return this.$store.getters[o]},t[r].vuex=!0})),t})),F=_((function(e,n){var t={};return C(n).forEach((function(n){var r=n.key,o=n.val;t[r]=function(){for(var n=[],t=arguments.length;t--;)n[t]=arguments[t];var r=this.$store.dispatch;if(e){var i=E(this.$store,0,e);if(!i)return;r=i.context.dispatch}return"function"==typeof o?o.apply(this,[r].concat(n)):r.apply(this.$store,[o].concat(n))}})),t}));function C(e){return function(e){return Array.isArray(e)||s(e)}(e)?Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(n){return{key:n,val:e[n]}})):[]}function _(e){return function(n,t){return"string"!=typeof n?(t=n,n=""):"/"!==n.charAt(n.length-1)&&(n+="/"),e(n,t)}}function E(e,n,t){return e._modulesNamespaceMap[t]}function S(e,n,t){var r=t?e.groupCollapsed:e.group;try{r.call(e,n)}catch(t){e.log(n)}}function N(e){try{e.groupEnd()}catch(n){e.log("—— log end ——")}}function V(){var e=new Date;return" @ "+B(e.getHours(),2)+":"+B(e.getMinutes(),2)+":"+B(e.getSeconds(),2)+"."+B(e.getMilliseconds(),3)}function B(e,n){return"0",t=n-e.toString().length,new Array(t+1).join("0")+e;var t}var T={version:"4.0.0-rc.2",createStore:function(e){return new f(e)},Store:f,useStore:function(e){return void 0===e&&(e=null),r.inject(null!==e?e:o)},mapState:w,mapMutations:x,mapGetters:A,mapActions:F,createNamespacedHelpers:function(e){return{mapState:w.bind(null,e),mapGetters:A.bind(null,e),mapMutations:x.bind(null,e),mapActions:F.bind(null,e)}},createLogger:function(e){void 0===e&&(e={});var n=e.collapsed;void 0===n&&(n=!0);var t=e.filter;void 0===t&&(t=function(e,n,t){return!0});var r=e.transformer;void 0===r&&(r=function(e){return e});var o=e.mutationTransformer;void 0===o&&(o=function(e){return e});var i=e.actionFilter;void 0===i&&(i=function(e,n){return!0});var l=e.actionTransformer;void 0===l&&(l=function(e){return e});var s=e.logMutations;void 0===s&&(s=!0);var c=e.logActions;void 0===c&&(c=!0);var u=e.logger;return void 0===u&&(u=console),function(e){var d=a(e.state);void 0!==u&&(s&&e.subscribe((function(e,i){var l=a(i);if(t(e,d,l)){var s=V(),c=o(e),p="mutation "+e.type+s;S(u,p,n),u.log("%c prev state","color: #9E9E9E; font-weight: bold",r(d)),u.log("%c mutation","color: #03A9F4; font-weight: bold",c),u.log("%c next state","color: #4CAF50; font-weight: bold",r(l)),N(u)}d=l})),c&&e.subscribeAction((function(e,t){if(i(e,t)){var r=V(),o=l(e),a="action "+e.type+r;S(u,a,n),u.log("%c action","color: #03A9F4; font-weight: bold",o),N(u)}})))}}};e.exports=T},110:(e,n,t)=>{"use strict";t.d(n,{Z:()=>l});var r=t(346),o=t.n(r),i=t(419),a=t.n(i)()(o());a.push([e.id,"\n#header {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1071;\n}\n#sidebar {\n background: #fff;\n border-right: 1px solid #e5e5e5;\n border-bottom: 1px solid #e5e5e5;\n}\n@media (min-width: 768px) {\n#sidebar {\n position: -webkit-sticky;\n position: sticky;\n top: 3.5rem;\n z-index: 1000;\n max-height: calc(100vh - 3.5rem);\n border-right: 1px solid #e5e5e5;\n border-bottom: 1px solid #e5e5e5;\n}\n}\n#sidebar-nav {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n max-height: 100%;\n overflow-y: auto;\n}\n#sidebar-nav .nav {\n display: block;\n}\n#sidebar-nav .nav .nav-item .nav {\n display: none;\n margin-bottom: 1rem;\n}\n#sidebar-nav .nav .nav-item .nav {\n display: none;\n margin-bottom: 1rem;\n}\n#sidebar-nav .nav .nav-item.active .nav, #sidebar-nav .nav .active + .nav {\n display: block;\n}\n@media (min-width: 768px) {\n#sidebar-nav .nav .nav-item .nav {\n display: block;\n}\n}\n#sidebar-nav .nav .nav-link.active, #sidebar-nav .nav .active > .nav-link{\n color: #262626;\n font-weight: 500;\n}\n#sidebar-nav .nav-item .nav-link {\n padding: .25rem 1rem;\n font-weight: 500;\n color: #666\n}\n#sidebar-nav .nav-item .nav-item .nav-link {\n font-weight: 400;\n font-size: 85%;\n margin-left: 1rem\n}\n#main {\n padding-top: 1rem;\n margin-bottom: 2rem\n}\nblockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n padding: 0 1em;\n color: #6a737d;\n border-left: 0.25em solid #dfe2e5;\n}\npre {\n padding: 16px;\n overflow: auto;\n font-size: 85%;\n line-height: 1.45;\n background-color: #f6f8fa;\n border-radius: 3px;\n}\n.modal-backdrop.fade {\n visibility: hidden;\n}\n.modal-backdrop.fade.show {\n visibility: visible;\n}\n.fade.show {\n display: block;\n z-index: 1072;\n}\n.source-code {\n font-size: 2em;\n font-weight: bold;\n color: #f00;\n}\n","",{version:3,sources:["webpack://./docs/views/App.vue"],names:[],mappings:";AAgDA;EACE,wBAAwB;EACxB,gBAAgB;EAChB,MAAM;EACN,aAAa;AACf;AACA;EACE,gBAAgB;EAChB,+BAA+B;EAC/B,gCAAgC;AAClC;AAEA;AACE;IACE,wBAAwB;IACxB,gBAAgB;IAChB,WAAW;IACX,aAAa;IACb,gCAAgC;IAChC,+BAA+B;IAC/B,gCAAgC;AAClC;AACF;AAEA;EACE,iBAAiB;EACjB,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;AACrB;AAEA;EACE,cAAc;AAChB;AAEA;AACE;IACE,cAAc;AAChB;AACF;AAEA;EACE,cAAc;EACd,gBAAgB;AAClB;AAEA;EACE,oBAAoB;EACpB,gBAAgB;EAChB;AACF;AAEA;EACE,gBAAgB;EAChB,cAAc;EACd;AACF;AAEA;EACE,iBAAiB;EACjB;AACF;AAGA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,cAAc;EACd,cAAc;EACd,iCAAiC;AACnC;AAEA;EACE,aAAa;EACb,cAAc;EACd,cAAc;EACd,iBAAiB;EACjB,yBAAyB;EACzB,kBAAkB;AACpB;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,mBAAmB;AACrB;AAEA;EACE,cAAc;EACd,aAAa;AACf;AACA;EACE,cAAc;EACd,iBAAiB;EACjB,WAAW;AACb",sourcesContent:['\n\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.document-title {\\n margin-bottom: 2rem;\\n padding-bottom: 1rem;\\n border-bottom: 1px solid #ddd;\\n}\\n.document-content h2 {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n margin-top: 4rem;\\n border-bottom: 1px solid #eaecef;\\n}\\n.document-content h2:first-child {\\n margin-top: 0;\\n}\\n.document-content h2 + h3 {\\n margin-top: 0rem;\\n}\\n.document-content h3 {\\n margin-top: 1.5rem;\\n padding-top: 1rem;\\n margin-bottom: 1rem;\\n}\\n\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/Document.vue\"],\"names\":[],\"mappings\":\";AA0BA;EACE,mBAAmB;EACnB,oBAAoB;EACpB,6BAA6B;AAC/B;AACA;EACE,iBAAiB;EACjB,oBAAoB;EACpB,gBAAgB;EAChB,gCAAgC;AAClC;AAEA;EACE,aAAa;AACf;AAGA;EACE,gBAAgB;AAClB;AAEA;EACE,kBAAkB;EAClB,iBAAiB;EACjB,mBAAmB;AACrB\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.example-avatar .avatar-upload .rounded-circle {\\n width: 200px;\\n height: 200px;\\n}\\n.example-avatar .text-center .btn {\\n margin: 0 .5rem\\n}\\n.example-avatar .avatar-edit-image {\\n max-width: 100%\\n}\\n.example-avatar .drop-active {\\n top: 0;\\n bottom: 0;\\n right: 0;\\n left: 0;\\n position: fixed;\\n z-index: 9999;\\n opacity: .6;\\n text-align: center;\\n background: #000;\\n}\\n.example-avatar .drop-active h3 {\\n margin: -.5em 0 0;\\n position: absolute;\\n top: 50%;\\n left: 0;\\n right: 0;\\n -webkit-transform: translateY(-50%);\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n font-size: 40px;\\n color: #fff;\\n padding: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/examples/Avatar.vue\"],\"names\":[],\"mappings\":\";AA4CA;EACE,YAAY;EACZ,aAAa;AACf;AACA;EACE;AAEF;AACA;EACE;AACF;AAGA;EACE,MAAM;EACN,SAAS;EACT,QAAQ;EACR,OAAO;EACP,eAAe;EACf,aAAa;EACb,WAAW;EACX,kBAAkB;EAClB,gBAAgB;AAClB;AAEA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,mCAAmC;EACnC,+BAA+B;EAC/B,2BAA2B;EAC3B,eAAe;EACf,WAAW;EACX,UAAU;AACZ\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.example-simple label.btn {\\n margin-bottom: 0;\\n margin-right: 1rem;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/examples/Chunk.vue\"],\"names\":[],\"mappings\":\";AA6JA;EACE,gBAAgB;EAChB,kBAAkB;AACpB\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.chunk-loading[data-v-ac05e234] {\\n margin: -12px;\\n display: flex;\\n width: calc(100% + 24px);\\n}\\n.chunk-loading .chunk-loading-part[data-v-ac05e234] {\\n height: 25px;\\n line-height: 25px;\\n flex: 1;\\n background: #ccc;\\n font-size: 14px;\\n color: white;\\n text-align: center;\\n}\\n.chunk-loading .chunk-loading-part.chunk-loading-part__uploaded[data-v-ac05e234] {\\n background: #28A745;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/examples/Chunk.vue\"],\"names\":[],\"mappings\":\";AAgOE;IACE,aAAa;IACb,aAAa;IACb,wBAAwB;AAC1B;AAEA;IACE,YAAY;IACZ,iBAAiB;IACjB,OAAO;IACP,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,kBAAkB;AACpB;AAEA;IACE,mBAAmB;AACrB\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.example-drag label.btn {\\n margin-bottom: 0;\\n margin-right: 1rem;\\n}\\n.example-drag .drop-active {\\n top: 0;\\n bottom: 0;\\n right: 0;\\n left: 0;\\n position: fixed;\\n z-index: 9999;\\n opacity: .6;\\n text-align: center;\\n background: #000;\\n}\\n.example-drag .drop-active h3 {\\n margin: -.5em 0 0;\\n position: absolute;\\n top: 50%;\\n left: 0;\\n right: 0;\\n -webkit-transform: translateY(-50%);\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n font-size: 40px;\\n color: #fff;\\n padding: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/examples/Drag.vue\"],\"names\":[],\"mappings\":\";AAuDA;EACE,gBAAgB;EAChB,kBAAkB;AACpB;AAGA;EACE,MAAM;EACN,SAAS;EACT,QAAQ;EACR,OAAO;EACP,eAAe;EACf,aAAa;EACb,WAAW;EACX,kBAAkB;EAClB,gBAAgB;AAClB;AAEA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,mCAAmC;EACnC,+BAA+B;EAC/B,2BAA2B;EAC3B,eAAe;EACf,WAAW;EACX,UAAU;AACZ\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.example-full .btn-group .dropdown-menu {\\n display: block;\\n visibility: hidden;\\n transition: all .2s\\n}\\n.example-full .btn-group:hover > .dropdown-menu {\\n visibility: visible;\\n}\\n.example-full label.dropdown-item {\\n margin-bottom: 0;\\n}\\n.example-full .btn-group .dropdown-toggle {\\n margin-right: .6rem\\n}\\n.td-image-thumb {\\n max-width: 4em;\\n max-height: 4em;\\n}\\n.example-full .filename {\\n margin-bottom: .3rem\\n}\\n.example-full .btn-is-option {\\n margin-top: 0.25rem;\\n}\\n.example-full .example-foorer {\\n padding: .5rem 0;\\n border-top: 1px solid #e9ecef;\\n border-bottom: 1px solid #e9ecef;\\n}\\n.example-full .edit-image img {\\n max-width: 100%;\\n}\\n.example-full .edit-image-tool {\\n margin-top: .6rem;\\n}\\n.example-full .edit-image-tool .btn-group{\\n margin-right: .6rem;\\n}\\n.example-full .footer-status {\\n padding-top: .4rem;\\n}\\n.example-full .drop-active {\\n top: 0;\\n bottom: 0;\\n right: 0;\\n left: 0;\\n position: fixed;\\n z-index: 9999;\\n opacity: .6;\\n text-align: center;\\n background: #000;\\n}\\n.example-full .drop-active h3 {\\n margin: -.5em 0 0;\\n position: absolute;\\n top: 50%;\\n left: 0;\\n right: 0;\\n -webkit-transform: translateY(-50%);\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n font-size: 40px;\\n color: #fff;\\n padding: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/examples/Full.vue\"],\"names\":[],\"mappings\":\";AA+TA;EACE,cAAc;EACd,kBAAkB;EAClB;AACF;AACA;EACE,mBAAmB;AACrB;AAEA;EACE,gBAAgB;AAClB;AAEA;EACE;AACF;AAEA;EACE,cAAc;EACd,eAAe;AACjB;AAEA;EACE;AACF;AAEA;EACE,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,6BAA6B;EAC7B,gCAAgC;AAClC;AAGA;EACE,eAAe;AACjB;AAEA;EACE,iBAAiB;AACnB;AAEA;EACE,mBAAmB;AACrB;AAEA;EACE,kBAAkB;AACpB;AAEA;EACE,MAAM;EACN,SAAS;EACT,QAAQ;EACR,OAAO;EACP,eAAe;EACf,aAAa;EACb,WAAW;EACX,kBAAkB;EAClB,gBAAgB;AAClB;AAEA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,mCAAmC;EACnC,+BAA+B;EAC/B,2BAA2B;EAC3B,eAAe;EACf,WAAW;EACX,UAAU;AACZ\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.example-multiple label.btn {\\n margin-bottom: 0;\\n margin-right: 1rem;\\n}\\n.example-multiple .upload {\\n margin-bottom: 1rem;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/examples/Multiple.vue\"],\"names\":[],\"mappings\":\";AA2EA;EACE,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,mBAAmB;AACrB\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.example-simple label.btn {\\n margin-bottom: 0;\\n margin-right: 1rem;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/examples/Simple.vue\"],\"names\":[],\"mappings\":\";AA8CA;EACE,gBAAgB;EAChB,kBAAkB;AACpB\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.example-typescript label.btn {\\n margin-bottom: 0;\\n margin-right: 1rem;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/examples/Typescript.vue\"],\"names\":[],\"mappings\":\";AA8CA;EACE,gBAAgB;EAChB,kBAAkB;AACpB\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.example-vuex label.btn {\\n margin-bottom: 0;\\n margin-right: 1rem;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./docs/views/examples/Vuex.vue\"],\"names\":[],\"mappings\":\";AA4CA;EACE,gBAAgB;EAChB,kBAAkB;AACpB\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input, .file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input, .file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/FileUpload.vue\"],\"names\":[],\"mappings\":\";AAsBA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,kBAAkB;EAClB,qBAAqB;AACvB;AACA;EACE,6BAA6B;EAC7B,gBAAgB;EAChB,UAAU;EACV,eAAe;EACf,UAAU;EACV,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,kBAAkB;EAClB,WAAW;EACX,YAAY;AACd;AACA;EACE,6BAA6B;EAC7B,kCAAkC;EAClC,gBAAgB;EAChB,eAAe;EACf,UAAU;EACV,WAAW;EACX,WAAW;EACX,UAAU;AACZ\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export default \"\\n> **The document uses Google Translate**\\n\\n## Getting Started\\n\\n### NPM\\n\\n``` bash\\nnpm install vue-upload-component --save\\n```\\n\\n``` js\\nconst VueUploadComponent = require('vue-upload-component')\\nVue.component('file-upload', VueUploadComponent)\\n```\\n\\n\\n\\n#### Vue3\\n``` bash\\nnpm install vue-upload-component@next --save\\n```\\n\\n``` js\\nconst VueUploadComponent = require('vue-upload-component')\\napp.component('file-upload', VueUploadComponent)\\n// or \\nimport VueUploadComponent from 'vue-upload-component'\\napp.component('file-upload', VueUploadComponent)\\n```\\n\\n### Typescript\\n``` js\\nimport VueUploadComponent from 'vue-upload-component/src/FileUpload.vue'\\n\\n// or\\nimport VueUploadComponent from 'vue-upload-component'\\n// vue-upload-component/dist/vue-upload-component.d.ts\\n\\napp.component('file-upload', VueUploadComponent)\\n```\\n\\n### Curated\\n\\n**No data**\\n\\n\\n### Script\\n\\n\\nunpkg\\n\\n``` html\\n\\n\\n\\n```\\n\\njsDelivr\\n\\n``` html\\n\\n\\n\\n```\\n\\n\\n### Simple example\\n\\n\\n\\n```html\\n\\n\\n\\n \\n Vue-upload-component Test\\n \\n \\n\\n\\n
\\n
    \\n
  • {{file.name}} - Error: {{file.error}}, Success: {{file.success}}
  • \\n
\\n \\n Upload file\\n \\n \\n \\n
\\n\\n\\n\\n```\\n\\n### Chunk Upload\\n\\nThis package allows chunk uploads, which means you can upload a file in different parts.\\n\\nThis process is divided in three phases: start, upload,finish

\\n\\n#### start\\n\\nThis is the first phase of the process. We'll tell the backend that we are going to upload a file, with certain `size`, `name` and `mime_type`.\\n\\nUse the option `startBody` to add more parameters to the body of this request.\\n\\nThe backend should provide a `session_id` (to identify the upload) and a `end_offset` which is the size of every chunk\\n\\n##### HTTP start phase example\\n\\nRequest body example:\\n```\\n{\\n \\\"phase\\\": \\\"start\\\",\\n \\\"mime_type\\\": \\\"image/png\\\",\\n \\\"size\\\": 12669430,\\n \\\"name\\\":\\\"hubbleimage1stscihp1809af6400x4800.png\\\"\\n}\\n```\\n\\nResponse body example:\\n```\\n{\\n  \\\"data\\\": {\\n    \\\"end_offset\\\": 6291456,\\n    \\\"session_id\\\": \\\"61db8102-fca6-44ae-81e2-a499d438e7a5\\\"\\n  },\\n  \\\"status\\\": \\\"success\\\"\\n}\\n\\n```\\n\\n#### upload\\n\\nIn this phase we'll upload every chunk until all of them are uploaded. This step allows some failures in the backend, and will retry up to `maxRetries` times.\\n\\nWe'll send the `session_id`, `start_offset` and `chunk` (the sliced blob - part of file we are uploading). We expect the backend to return `{ status: 'success' }`, we'll retry otherwise.\\n\\nUse the option `uploadBody` to add more parameters to the body of this request.\\n\\n##### HTTP upload phase example with 3 chunks\\n\\nRequest body example - chunk 1 from 3:\\n```\\n------WebKitFormBoundaryuI0uiY8h7MCbcysx\\nContent-Disposition: form-data; name=\\\"phase\\\"\\n\\nupload\\n------WebKitFormBoundaryuI0uiY8h7MCbcysx\\nContent-Disposition: form-data; name=\\\"session_id\\\"\\n\\n61db8102-fca6-44ae-81e2-a499d438e7a5\\n------WebKitFormBoundaryuI0uiY8h7MCbcysx\\nContent-Disposition: form-data; name=\\\"start_offset\\\"\\n\\n0\\n------WebKitFormBoundaryuI0uiY8h7MCbcysx\\nContent-Disposition: form-data; name=\\\"chunk\\\"; filename=\\\"blob\\\"\\nContent-Type: application/octet-stream\\n\\n\\n------WebKitFormBoundaryuI0uiY8h7MCbcysx--\\n```\\n\\nResponse body example - chunk 1 from 3:\\n```\\n{\\n  \\\"status\\\": \\\"success\\\"\\n}\\n```\\n\\nRequest body example - chunk 2 from 3:\\n```\\n------WebKitFormBoundary4cjBupFqrx1SrHoR\\nContent-Disposition: form-data; name=\\\"phase\\\"\\n\\nupload\\n------WebKitFormBoundary4cjBupFqrx1SrHoR\\nContent-Disposition: form-data; name=\\\"session_id\\\"\\n\\n61db8102-fca6-44ae-81e2-a499d438e7a5\\n------WebKitFormBoundary4cjBupFqrx1SrHoR\\nContent-Disposition: form-data; name=\\\"start_offset\\\"\\n\\n6291456\\n------WebKitFormBoundary4cjBupFqrx1SrHoR\\nContent-Disposition: form-data; name=\\\"chunk\\\"; filename=\\\"blob\\\"\\nContent-Type: application/octet-stream\\n\\n\\n------WebKitFormBoundary4cjBupFqrx1SrHoR-\\n```\\n\\nResponse body example - chunk 2 from 3:\\n```\\n{\\n  \\\"status\\\": \\\"success\\\"\\n}\\n```\\n\\nRequest body example - chunk 3 from 3:\\n```\\n------WebKitFormBoundarypWxg4xnB5QBDoFys\\nContent-Disposition: form-data; name=\\\"phase\\\"\\n\\nupload\\n------WebKitFormBoundarypWxg4xnB5QBDoFys\\nContent-Disposition: form-data; name=\\\"session_id\\\"\\n\\n61db8102-fca6-44ae-81e2-a499d438e7a5\\n------WebKitFormBoundarypWxg4xnB5QBDoFys\\nContent-Disposition: form-data; name=\\\"start_offset\\\"\\n\\n12582912\\n------WebKitFormBoundarypWxg4xnB5QBDoFys\\nContent-Disposition: form-data; name=\\\"chunk\\\"; filename=\\\"blob\\\"\\nContent-Type: application/octet-stream\\n\\n\\n------WebKitFormBoundarypWxg4xnB5QBDoFys--\\n```\\n\\nResponse body example - chunk 1 from 3:\\n```\\n{\\n  \\\"status\\\": \\\"success\\\"\\n}\\n```\\n\\n#### finish\\n\\nIn this phase we tell the backend that there are no more chunks to upload, so it can wrap everything. We send the `session_id` in this phase.\\n\\nUse the option `finishBody` to add more parameters to the body of this request.\\n\\n##### HTTP finish phase example\\n\\nRequest body example:\\n```\\n{\\n \\\"phase\\\": \\\"finish\\\",\\n \\\"session_id\\\": \\\"61db8102-fca6-44ae-81e2-a499d438e7a5\\\"\\n}\\n```\\n\\nResponse body example:\\n```\\n{\\n  \\\"status\\\": \\\"success\\\"\\n}\\n```\\n\\n#### Example\\n\\nIn the following example we are going to add `Chunk Upload Functionality`. This component will use `Chunk Upload` when the size of the file is > `1MB`, it will behave as the `Simple example` when the size of the file is lower.\\n\\n```html\\n \\n Upload file\\n \\n```\\n\\n#### Extending the handler\\n\\nWe are using the class `src/chunk/ChunkUploadHandler` class to implement this protocol. You can extend this class (or even create a different one from scratch) to implement your own way to communicat with the backend.\\n\\nThis class must implement a method called `upload` which **must** return a promise. This promise will be used by the `FileUpload` component to determinate whether the file was uploaded or failed.\\n\\nUse the `handler` parameter to use a different Handler\\n\\n```html\\n :chunk=\\\"{\\n action: '/upload/chunk',\\n minSize: 1048576,\\n maxActive: 3,\\n maxRetries: 5,\\n\\n handler: MyHandlerClass\\n }\\n```\\n\\n### SSR (Server isomorphism)\\n\\n\\n```html\\n\\n\\n\\n```\\n\\n\\n** OR **\\n\\n\\n```js\\nimport FileUpload from 'vue-upload-component/src'\\n```\\n\\n\\nwebpack.config.js\\n\\n```js\\nconst nodeExternals = require('webpack-node-externals');\\n{\\n //.....\\n externals: [\\n nodeExternals({whitelist:[/^vue-upload-component\\\\/src/]})\\n ]\\n //.....\\n}\\n```\\n\\n* [https://github.com/liady/webpack-node-externals](https://github.com/liady/webpack-node-externals)\\n\\n* [**`vue-hackernews` demo**](https://github.com/lian-yue/vue-hackernews-2.0/)\\n\\n* [**View changes**](https://github.com/lian-yue/vue-hackernews-2.0/commit/bd6c58a30cc6b8ba6c0148e737b3ce9336b99cf8)\\n\\n\\n\\n\\n## Options / Props\\n\\n\\n### input-id\\n\\nThe `id` attribute of the input tag\\n\\n* **Type:** `String`\\n\\n* **Default:** `this.name`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### name\\n\\nThe `name` attribute of the input tag\\n\\n* **Type:** `String`\\n\\n* **Default:** `file`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### post-action\\n\\n`POST` Request upload URL\\n\\n* **Type:** `String`\\n\\n* **Default:** `undefined`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### put-action\\n\\n`PUT` Request upload URL\\n\\n* **Type:** `String`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `> IE9`\\n\\n* **Details:**\\n\\n `put-action` is not empty Please give priority to` PUT` request\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### custom-action\\n\\nCustom upload method\\n\\n* **Type:** `async Function`\\n\\n* **Default:** `undefined`\\n\\n* **Details:** \\n\\n `custom-action` priority than `put-action, post-action`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n ```js\\n async function customAction(file, component) {\\n // return await component.uploadPut(file)\\n return await component.uploadHtml4(file)\\n }\\n ```\\n\\n\\n\\n\\n\\n### headers\\n\\nAttach `header` data\\n\\n* **Type:** `Object`\\n\\n* **Default:** `{}`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### data\\n\\n`POST request`: Append request `body`\\n`PUT request`: Append request `query`\\n\\n* **Type:** `Object`\\n\\n* **Default:** `{}`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### value, v-model\\n\\nFile List\\n\\n* **Type:** `Array`\\n\\n* **Default:** `[]`\\n\\n* **Details:**\\n\\n View **[`File`](#file)** details\\n > In order to prevent unpredictable errors, can not directly modify the `files`, please use [`add`](#instance-methods-add), [`update`](#instance-methods-update), [`remove`](#instance-methods-remove) method to modify\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### accept\\n\\nThe `accept` attribute of the input tag, MIME type\\n\\n* **Type:** `String`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### multiple\\n\\nThe `multiple` attribute of the input tag\\nWhether to allow multiple files to be selected\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `false`\\n\\n* **Details:**\\n\\n If it is `false` file inside only one file will be automatically deleted\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### directory\\n\\nThe `directory` attribute of the input tag\\nWhether it is a upload folder\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `false`\\n\\n* **Browser:** [http://caniuse.com/#feat=input-file-directory](http://caniuse.com/#feat=input-file-directory)\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### extensions\\n\\nAllow upload file extensions\\n\\n* **Type:** `Array | String | RegExp`\\n\\n* **Default:** `undefined`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n \\n \\n ```\\n\\n\\n\\n\\n### size\\n\\nAllow the maximum byte to upload\\n\\n* **Type:** `Number`\\n\\n* **Default:** `0`\\n\\n* **Browser:** `> IE9`\\n\\n* **Details:**\\n\\n `0` is equal to not limit\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### timeout\\n\\nUpload timeout time in milliseconds\\n\\n* **Type:** `Number`\\n\\n* **Default:** `0`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n### maximum\\n\\nList the maximum number of files\\n\\n* **Type:** `Number`\\n\\n* **Default:** `props.multiple ? 0 : 1`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### thread\\n\\nAlso upload the number of files at the same time (number of threads)\\n\\n* **Type:** `Number`\\n\\n* **Default:** `1`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n### chunk-enabled\\n\\nWhether chunk uploads is enabled or not\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### chunk\\n\\nAll the options to handle chunk uploads\\n\\n* **Type:** `Object`\\n\\n* **Default:**\\n```js\\n{\\n headers: {\\n 'Content-Type': 'application/json'\\n },\\n action: '',\\n minSize: 1048576,\\n maxActive: 3,\\n maxRetries: 5,\\n\\n // This is the default Handler implemented in this package\\n // you can use your own handler if your protocol is different\\n handler: ChunkUploadDefaultHandler\\n}\\n```\\n\\n### drop\\n\\nDrag and drop upload\\n\\n* **Type:** `Boolean | Element | CSS selector`\\n\\n* **Default:** `false`\\n\\n* **Browser:** [http://caniuse.com/#feat=dragndrop](http://caniuse.com/#feat=dragndrop)\\n\\n* **Details:**\\n\\n If set to `true`, read the parent component as a container\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### drop-directory\\n\\nWhether to open the drag directory\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `true`\\n\\n* **Details:**\\n\\n If set to `false` filter out the directory\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### add-index\\n\\n* **Type:** `Boolean, Number`\\n\\n* **Default:** `undefined`\\n\\n* **Version:** : `>=2.6.1`\\n\\n* **Details:**\\n\\n The default value of the `index` parameter for the [`add()`](#instance-methods-add) method\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n## Options / Events\\n\\nThe files is changed to trigger the method\\nDefault for `v-model` binding\\n\\n### @input\\n* **Arguments:**\\n\\n * `files: Array`\\n\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n### @input-filter\\n\\nAdd, update, remove pre-filter\\n\\n* **Arguments:**\\n\\n * `newFile: File | Object | undefined` `Read and write`\\n * `oldFile: File | Object | undefined` `Read only`\\n * `prevent: Function` Call this function to prevent modification\\n\\n\\n* **Details:**\\n\\n If the `newFile` value is `undefined` 'is deleted\\n If the `oldFile` value is `undefined` 'is added\\n If `newFile`, `oldFile` is exist, it is updated\\n\\n > Synchronization modify `newFile`\\n > Asynchronous Please use `update`,` add`, `remove`,` clear` method\\n > Asynchronous Please set an error first to prevent being uploaded\\n\\n > Synchronization can not use `update`,` add`, `remove`,` clear` methods\\n > Asynchronous can not modify `newFile`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### @input-file\\n\\nAdd, update, remove after\\n\\n* **Arguments:**\\n\\n * `newFile: File | Object | undefined` `Read only`\\n * `oldFile: File | Object | undefined` `Read only`\\n\\n\\n* **Details:**\\n\\n If the `newFile` value is `undefined` 'is deleted\\n If the `oldFile` value is `undefined` 'is added\\n If `newFile`, `oldFile` is exist, it is updated\\n\\n\\n >You can use `update`,` add`, `remove`,` clear` methods in the event\\n >You can not modify the `newFile` object in the event\\n >You can not modify the `oldFile` object in the event\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n## Instance / Data\\n\\n### features\\n\\nUsed to determine the browser support features\\n\\n* **Type:** `Object`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `{ html5: true, directory: false, drop: false }`\\n\\n* **Usage:**\\n ```html\\n \\n \\n Support drag and drop upload\\n Support folder upload\\n Support for HTML5\\n \\n ```\\n\\n\\n\\n### active\\n\\nActivation or abort upload\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n Start upload\\n Stop upload\\n \\n ```\\n\\n\\n\\n### dropActive\\n\\nIs dragging\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n Drag and drop here for upload\\n \\n ```\\n\\n\\n\\n\\n\\n### uploaded\\n\\nAll uploaded\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `true`\\n\\n* **Usage:**\\n ```html\\n \\n \\n All files have been uploaded\\n \\n ```\\n\\n\\n\\n\\n\\n## Instance / Methods\\n\\n\\n\\n### get()\\n\\nUse `id` to get a file object\\n\\n* **Arguments:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **Result:** `File | Object | Boolean` There is a return file, object that otherwise returns `false`\\n\\n\\n\\n### add()\\n\\nAdd one or more files\\n\\n* **Arguments:**\\n\\n * `files: Array | File | window.File | Object` If it is an array of responses will be an array\\n * `index: Number | Boolean` = [`props.add-index`](#options-props-add-index) `true = ` Start, `false = ` End, `Number = ` Index\\n\\n\\n* **Result:** `Object | Array | Boolean` The incoming array is returned to the array otherwise the object or `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n\\n### addInputFile()\\n\\nAdd the file selected by `` to the upload list\\n\\n* **Arguments:**\\n\\n * `el: HTMLInputElement` File element\\n\\n\\n* **Result:** `Promise>` Added list of files\\n\\n* **Version:** : `>=3.0.0`\\n\\nThe results of Vue 2. X\\n\\n* **Result:** `Array` Added list of files\\n\\n* **Version:** : `<3.0.0`\\n\\n\\n\\n### addDataTransfer()\\n\\nAdd files that are dragged or pasted into the upload list\\n\\n* **Arguments:**\\n\\n * `dataTransfer: DataTransfer` Drag or paste data\\n\\n\\n* **Result:** `Promise>` Added list of files\\n\\n\\n* **Version:** : `>=2.5.1`\\n\\n\\n\\n### update()\\n\\nUpdate a file object\\n\\n* **Arguments:**\\n\\n * `id: File | Object | String`\\n * `data: Object` Updated data object\\n\\n\\n* **Result:** `Object | Boolean` Successfully returned `newFile` failed to return` false`\\n\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### remove()\\n\\nRemove a file object\\n\\n* **Arguments:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **Result:** `Object | Boolean` Successfully returned `oldFile` failed to return` false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### replace()\\n Replace the location of the two files\\n\\n* **Arguments:**\\n\\n * `id1: File | Object | String`\\n * `id2: File | Object | String`\\n\\n\\n* **Result:** `Boolean`\\n\\n\\n### clear()\\n\\nEmpty the file list\\n\\n* **Result:** `Boolean` Always return `true`\\n\\n\\n\\n## Instance / File\\n\\n\\n\\n> **File object in the `@input-filter` event outside the use of [`update`](#instance-methods-update) method**\\n\\n\\n\\n\\n### fileObject\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `true`\\n\\n* **Required:** `true`\\n\\n* **Default:** `true`\\n\\n* **Version:** : `>=2.6.0`\\n\\n* **Details:**\\n\\n If the attribute does not exist, the object will not be processed internally\\n If the attribute does not exist, it is not `File` but `Object`\\n\\n\\n\\n\\n### id\\n\\nFile ID\\n\\n* **Type:** `String | Number`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `Math.random().toString(36).substr(2)`\\n\\n* **Details:**\\n\\n >`id` can not be repeated\\n >Upload can not modify `id`\\n\\n\\n### size\\n\\nFile size\\n\\n* **Type:** `Number`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `-1`\\n\\n* **Browser:** `> IE9`\\n\\n\\n### name\\n\\nFilename\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** ` `\\n\\n* **Details:**\\n\\n Format: `directory/filename.gif` `filename.gif`\\n\\n\\n\\n### type\\n\\nMIME type\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** ` `\\n\\n* **Browser:** `> IE9`\\n\\n* **Details:**\\n\\n Format: `image/gif` `image/png` `text/html`\\n\\n\\n\\n\\n### active\\n\\nActivation or abort upload\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `false`\\n\\n* **Details:**\\n\\n `true` = Upload\\n `false` = Abort\\n\\n\\n\\n\\n\\n\\n### error\\n\\nUpload failed error code\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** ` `\\n\\n* **Details:**\\n\\n Built-in\\n `size`, `extension`, `timeout`, `abort`, `network`, `server`, `denied`\\n\\n\\n\\n\\n### success\\n\\nWhether the upload was successful\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `false`\\n\\n\\n### putAction\\n\\nCustomize the current file `PUT` URL\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.putAction`\\n\\n\\n\\n### postAction\\n\\nCustomize the current file `POST` URL\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.postAction`\\n\\n\\n\\n\\n### headers\\n\\nCustomize the current file `HTTP` Header\\n\\n* **Type:** `Object`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.headers`\\n\\n\\n### data\\n\\nCustomize the current file `body` or` query` to attach content\\n\\n* **Type:** `Object`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.data`\\n\\n\\n### timeout\\n\\nCustomize the upload timeout for a current single file\\n\\n* **Type:** `Number`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.timeout`\\n\\n\\n### response\\n\\nResponse data\\n\\n* **Type:** `Object | String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `{}`\\n\\n\\n\\n\\n### progress\\n\\nUpload progress\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `0.00`\\n\\n* **Browser:** `> IE9`\\n\\n\\n\\n### speed\\n\\nPer second upload speed\\n\\n* **Type:** `Number`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `0`\\n\\n* **Browser:** `> IE9`\\n\\n\\n\\n\\n### xhr\\n\\n`HTML5` upload` XMLHttpRequest` object\\n\\n* **Type:** `XMLHttpRequest`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `> IE9`\\n\\n\\n\\n\\n### iframe\\n\\n`HTML4` upload` iframe` element\\n\\n* **Type:** `Element`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `= IE9`\\n\";","export default \"## 入门开始\\n\\n### NPM\\n\\n``` bash\\nnpm install vue-upload-component --save\\n```\\n\\n#### Vue3\\n``` bash\\nnpm install vue-upload-component@next --save\\n```\\n\\n``` js\\nconst VueUploadComponent = require('vue-upload-component')\\napp.component('file-upload', VueUploadComponent)\\n// or \\nimport VueUploadComponent from 'vue-upload-component'\\napp.component('file-upload', VueUploadComponent)\\n```\\n\\n### Typescript\\n``` js\\nimport VueUploadComponent from 'vue-upload-component/src/FileUpload.vue'\\n\\n// or\\nimport VueUploadComponent from 'vue-upload-component'\\n// vue-upload-component/dist/vue-upload-component.d.ts\\n```\\n\\n\\n### Curated\\n\\n**No data**\\n\\n\\n### 直接使用\\n\\n\\nunpkg\\n\\n``` html\\n\\n\\n\\n```\\n\\njsDelivr\\n\\n``` html\\n\\n\\n\\n```\\n\\n\\n### 简单的例子\\n\\n\\n\\n```html\\n\\n\\n\\n \\n Vue-upload-component Test\\n \\n \\n\\n\\n
\\n
    \\n
  • {{file.name}} - Error: {{file.error}}, Success: {{file.success}}
  • \\n
\\n \\n 上传文件\\n \\n \\n \\n
\\n\\n\\n\\n```\\n\\n\\n\\n\\n### SSR (服务器同构)\\n\\n\\n```html\\n\\n\\n\\n```\\n\\n\\n** 或者 **\\n\\n\\n```js\\nimport FileUpload from 'vue-upload-component/src'\\n```\\n\\nwebpack.config.js\\n\\n```js\\nconst nodeExternals = require('webpack-node-externals');\\n{\\n //...\\n externals: [\\n nodeExternals({whitelist:[/^vue-upload-component\\\\/src/]})\\n ]\\n //...\\n}\\n```\\n\\n* [https://github.com/liady/webpack-node-externals](https://github.com/liady/webpack-node-externals) \\n\\n* [**`vue-hackernews` 演示**](https://github.com/lian-yue/vue-hackernews-2.0/) \\n\\n* [**浏览修改文件**](https://github.com/lian-yue/vue-hackernews-2.0/commit/bd6c58a30cc6b8ba6c0148e737b3ce9336b99cf8)\\n\\n\\n\\n### 扩展分片上传\\n **CustomUpload.js**\\n ```js\\n// import axios from 'axios'\\n// import VueUploadComponent from 'vue-upload-component'\\n// import { STORAGE_CREATE, STORAGE_UPDATE, STORAGE_UPLOAD } from 'src/urls'\\n//\\n// VueUploadComponent.props.partThread = {\\n// type: Number,\\n// default: 2,\\n// }\\n// VueUploadComponent.props.partTimeout = {\\n// type: String,\\n// default: '',\\n// }\\n//\\n// VueUploadComponent.Methods.partInit = async functuon (file) {\\n// let data = await axios({\\n// method: 'post',\\n// size: file.size,\\n// name: file.name,\\n// })\\n// return data\\n// }\\n// VueUploadComponent.props.customAction.default = async function (_file, component) {\\n// let file = _file\\n// let fileObject = file.file\\n//\\n// // 创建 文件\\n// let data = await axios({\\n// method: 'post',\\n// })\\n// component.partMethod, component.partAction, { user: 'me' }, {}, { size: fileObject.size, name: file.name }, {}, 2)\\n// file = component.update(file, { storage })\\n// if (!file || !file.fileObject || !file.active) {\\n// throw new Error('abort')\\n// }\\n// if (file.error) {\\n// throw new Error(file.error)\\n// }\\n//\\n// }\\n ```\\n\\n\\n## 选项 / 属性\\n\\n\\n### input-id\\n\\ninput 标签的 `id` 属性\\n\\n* **类型:** `String`\\n\\n* **默认值:** `this.name`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### name\\n\\ninput标签的 `name` 属性\\n\\n* **类型:** `String`\\n\\n* **默认值:** `file`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### post-action\\n\\n`POST` 请求的上传URL\\n\\n* **类型:** `String`\\n\\n* **默认值:** `undefined`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### put-action\\n\\n`PUT` 请求的上传URL\\n\\n* **类型:** `String`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `> IE9`\\n\\n* **详细:** \\n\\n `put-action` 不为空请优先 `PUT` 请求 \\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n### custom-action\\n\\n自定义上传方法\\n\\n* **类型:** `async Function`\\n\\n* **默认值:** `undefined`\\n\\n* **详细:** \\n\\n `custom-action` 优先级高于 `put-action, post-action`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n ```js\\n async function customAction(file, component) {\\n // return await component.uploadPut(file)\\n return await component.uploadHtml4(file)\\n }\\n ```\\n\\n\\n\\n### headers\\n\\n自定义上传请求 `header` 数据\\n\\n* **类型:** `Object`\\n\\n* **默认值:** `{}`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### data\\n\\n`POST 请求`: 附加请求的 body \\n`PUT 请求`: 附加请求的 query \\n\\n* **类型:** `Object`\\n\\n* **默认值:** `{}`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### value, v-model\\n\\n文件列表\\n\\n* **类型:** `Array`\\n\\n* **默认值:** `[]`\\n\\n* **详细:** \\n\\n 浏览 **[`File`](#file)** 详细信息 \\n > 为了防止不可预知的错误,不可直接修改 `files`,请使用 [`add`](#实例-方法-add), [`update`](#实例-方法-update), [`remove`](#实例-方法-remove) 方法修改\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### accept\\n\\n表单的`accept`属性, MIME type \\n\\n* **类型:** `String`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### multiple\\n\\n文件表单的 `multiple` 属性 \\n是否允许选择多个文件 \\n\\n* **类型:** `Boolean`\\n\\n* **默认值:** `false`\\n\\n* **详细:** \\n\\n 如果是 `false` `files` 里面最多只有一个文件 多的会自动删除 \\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n### directory\\n\\n文件表单的 `directory` 属性 \\n是否是上传文件夹 \\n\\n* **类型:** `Boolean`\\n\\n* **默认值:** `false`\\n\\n* **浏览器:** [http://caniuse.com/#feat=input-file-directory](http://caniuse.com/#feat=input-file-directory)\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### extensions\\n\\n允许上传的文件后缀\\n\\n* **类型:** `Array | String | RegExp`\\n\\n* **默认值:** `undefined`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n \\n \\n ```\\n\\n\\n\\n\\n### size\\n\\n允许上传的最大字节\\n\\n* **类型:** `Number`\\n\\n* **默认值:** `0`\\n\\n* **浏览器:** `> IE9`\\n\\n* **详细:**\\n\\n `0` 等于不限制\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### timeout\\n\\n上传超时时间毫秒\\n\\n* **类型:** `Number`\\n\\n* **默认值:** `0`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n### maximum\\n\\n列表最大文件数\\n\\n* **类型:** `Number`\\n\\n* **默认值:** `props.multiple ? 0 : 1`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### thread\\n\\n同时并发上传的文件数量 线程数 \\n\\n* **类型:** `Number`\\n\\n* **默认值:** `1`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### drop\\n\\n拖拽上传 \\n\\n* **类型:** `Boolean | Element | CSS selector`\\n\\n* **默认值:** `false`\\n\\n* **浏览器:** [http://caniuse.com/#feat=dragndrop](http://caniuse.com/#feat=dragndrop)\\n\\n* **详细:**\\n\\n 如果设置成 `true` 则读取父组件作为容器 \\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### drop-directory\\n\\n是否开启拖拽目录 \\n\\n* **类型:** `Boolean`\\n\\n* **默认值:** `true`\\n\\n* **详细:**\\n\\n 如果设置成 `false` 则过滤掉目录\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n### add-index\\n\\n* **类型:** `Boolean, Number`\\n\\n* **默认值:** `undefined`\\n\\n* **版本:** `>= 2.6.1`\\n\\n* **详细:**\\n\\n [`add()`](#实例-方法-add) 方法 `index` 参数的默认值\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n## 选项 / 事件\\n\\n文件被改变触发的方法 \\n默认用于`v-model`绑定\\n\\n### @input\\n* **参数:**\\n\\n * `files: Array`\\n\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n### @input-filter\\n\\nAdd, update, remove pre-filter \\n\\n* **参数:**\\n\\n * `newFile: File | Object | undefined` `读写`\\n * `oldFile: File | Object | undefined` `只读`\\n * `prevent: Function` 调用该方法 阻止修改\\n\\n\\n* **详细:**\\n\\n 如果 `newFile` 值为 `undefined` 则是删除 \\n 如果 `oldFile` 值为 `undefined` 则是添加 \\n 如果 `newFile`, `oldFile` 都存在则是更新\\n\\n > 事件内同步处理请直接修改 `newFile` \\n > 事件内异步处理请使用 `update`, `add`, `remove`, `clear` 方法 \\n > 异步请先设置一个错误以防止被上传\\n\\n > 同步不能使用 `update`, `add`, `remove`, `clear` 方法 \\n > 异步不能修改 `newFile`\\n\\n\\n* **示例:** \\n ```html\\n \\n \\n ```\\n\\n### @input-file\\n\\n添加,更新,移除 后\\n\\n* **参数:**\\n\\n * `newFile: File | Object | undefined` `只读`\\n * `oldFile: File | Object | undefined` `只读`\\n\\n\\n* **详细:**\\n\\n 如果 `newFile` 值为 `undefined` 则是删除 \\n 如果 `oldFile` 值为 `undefined` 则是添加 \\n 如果 `newFile`, `oldFile` 都存在则是更新\\n\\n >事件内可使用 `update`, `add`, `remove`, `clear` 方法 \\n >事件内不可修改 `newFile` 对象 \\n >事件内不可修改 `oldFile` 对象\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n## 实例 / 数据\\n\\n### features\\n\\n用于判断浏览器支持的特性\\n\\n* **类型:** `Object`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `{ html5: true, directory: false, drop: false }`\\n\\n* **示例:**\\n ```html\\n \\n \\n 支持拖拽上传\\n 支持文件夹上传\\n 支持HTML5\\n \\n ```\\n\\n\\n\\n### active\\n\\n激活或停止上传\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `false`\\n\\n* **示例:**\\n ```html\\n \\n \\n 开始上传\\n 停止上传\\n \\n ```\\n\\n\\n\\n### dropActive\\n\\n是否正在拖拽\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `false`\\n\\n* **示例:**\\n ```html\\n \\n \\n 拖拽到这里上传\\n \\n ```\\n\\n\\n\\n\\n\\n### uploaded\\n\\n是否全部已上传\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `true`\\n\\n* **示例:**\\n ```html\\n \\n \\n 全部文件已上传完毕\\n \\n ```\\n\\n\\n\\n\\n\\n## 实例 / 方法\\n\\n\\n\\n### get()\\n\\n使用`id`获得某个对象\\n\\n* **参数:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **结果:** `File | Object | Boolean` 存在返回文件对象否则返回 `false`\\n\\n\\n\\n### add()\\n\\n添加一个或多个文件\\n\\n* **参数:**\\n\\n * `files: Array | File | window.File | Object` 如果它是一个数组的响应将是一个数组\\n * `index: Number | Boolean` = [`props.add-index`](#选项-属性-add-index) `true = ` 开始位置, `false = ` 结束位置, `Number = ` 下标位置\\n\\n\\n* **结果:** `Object | Array | Boolean` 传入的是数组返回数组否则对象或`false`\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n### addInputFile()\\n\\n把``选择的文件添加进上传列表 \\n\\n* **参数:**\\n\\n * `el: HTMLInputElement` 文件元素\\n\\n\\n* **结果:** `Promise>` 返回已添加的文件列表\\n\\n* **版本:** : `>=3.0.0`\\n\\n* **结果:** `Promise>` 返回已添加的文件列表\\n\\nvue 2.x 的结果\\n\\n* **结果:** `Array` 返回已添加的文件列表\\n\\n* **版本:** : `<=3.0.0`\\n\\n\\n\\n### addDataTransfer()\\n\\n把拖拽或者粘贴的数据的文件添加进上传列表 \\n\\n* **参数:**\\n\\n * `dataTransfer: DataTransfer` 拖拽或者粘贴的数据\\n\\n\\n* **结果:** `Promise>` 返回已添加的文件列表\\n\\n\\n* **版本:** : `>=2.5.1`\\n\\n\\n\\n### update()\\n\\n更新某个对象\\n\\n* **参数:**\\n\\n * `id: File | Object | String`\\n * `data: Object` 更新的数据对象\\n\\n\\n* **结果:** `Object | Boolean` 成功返回 `newFile` 失败返回 `false`\\n\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n### remove()\\n\\n移除某个文件对象\\n\\n* **参数:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **结果:** `Object | Boolean` 成功返回 `oldFile` 失败返回 `false`\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n### replace()\\n 替换两个文件的位置\\n\\n* **参数:**\\n\\n * `id1: File | Object | String`\\n * `id2: File | Object | String`\\n\\n\\n* **结果:** `Boolean`\\n\\n\\n\\n### clear()\\n\\n清空文件列表\\n\\n* **结果:** `Boolean` 总是返回 `true`\\n\\n\\n\\n## 实例 / File\\n\\n\\n> **文件对象在`input-filter`事件外修改请使用 [`update`](#实例-方法-update) 方法**\\n\\n\\n### fileObject\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `true`\\n\\n* **Required:** `true`\\n\\n* **默认值:** `true`\\n\\n* **版本:** : `>=2.6.0`\\n\\n* **详细:**\\n\\n 如果属性不存在,则不会在内部处理该对象 \\n 如果属性不存在,它不是 `File` 而是 `Object`\\n\\n\\n\\n### id\\n\\n文件id\\n\\n* **类型:** `String | Number`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `Math.random().toString(36).substr(2)`\\n\\n* **详细:**\\n\\n >`id` can not be repeated \\n >Upload can not modify `id`\\n\\n\\n### size\\n\\n文件大小\\n\\n* **类型:** `Number`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `-1`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n### name\\n\\n文件名 \\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** ` `\\n\\n* **详细:**\\n\\n 格式: `directory/filename.gif` `filename.gif` \\n\\n\\n\\n### type\\n\\nMIME类型\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** ` `\\n\\n* **浏览器:** `> IE9`\\n\\n* **详细:**\\n\\n 格式: `image/gif` `image/png` `text/html`\\n\\n\\n\\n\\n### active\\n\\n激活或终止上传\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `false`\\n\\n* **详细:**\\n\\n `true` = 上传 \\n `false` = 停止 \\n\\n\\n\\n\\n\\n\\n### error\\n\\n上传失败错误代码\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** ` `\\n\\n* **详细:**\\n\\n 内置\\n `size`, `extension`, `timeout`, `abort`, `network`, `server`, `denied`\\n\\n\\n\\n\\n### success\\n\\n是否上传成功\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `false`\\n\\n\\n### putAction\\n\\n自定义当前文件 `PUT` 地址\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.putAction`\\n\\n\\n\\n### postAction\\n\\n自定义当前文件 `POST` 地址\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.postAction`\\n\\n\\n\\n\\n### headers\\n\\n自定义当前文件 `HTTP` Header\\n\\n* **类型:** `Object`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.headers`\\n\\n\\n### data\\n\\n自定义当前文件 `body` 或 `query` 附加内容\\n\\n* **类型:** `Object`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.data`\\n\\n\\n### timeout\\n\\n自定义当前单个文件的上传超时时间\\n\\n* **类型:** `Number`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.timeout`\\n\\n\\n### response\\n\\n响应的数据\\n\\n* **类型:** `Object | String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `{}`\\n\\n\\n\\n\\n### progress\\n\\n上传进度\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `0.00`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n\\n### speed\\n\\n每秒的上传速度\\n\\n* **类型:** `Number`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `0`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n\\n\\n### xhr\\n\\n`HTML5` 上传 `XMLHttpRequest` 对象\\n\\n* **类型:** `XMLHttpRequest`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n\\n\\n### iframe\\n\\n`HTML4` 上传 `iframe` 元素\\n\\n* **类型:** `Element`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `= IE9`\\n\";","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of \n\n","import api from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Document.vue?vue&type=style&index=0&id=415618e4&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Document.vue?vue&type=template&id=415618e4\"\nimport script from \"./Document.vue?vue&type=script&lang=js\"\nexport * from \"./Document.vue?vue&type=script&lang=js\"\n\nimport \"./Document.vue?vue&type=style&index=0&id=415618e4&lang=css\"\nscript.render = render\n\nexport default script","\n","import { render } from \"./Example.vue?vue&type=template&id=00a2b41f\"\nconst script = {}\nscript.render = render\n\nexport default script","\n\n\n\n","const __WEBPACK_NAMESPACE_OBJECT__ = Cropper;","const __WEBPACK_NAMESPACE_OBJECT__ = ImageCompressor;","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Full.vue?vue&type=style&index=0&id=60bc2f58&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Full.vue?vue&type=template&id=60bc2f58\"\nimport script from \"./Full.vue?vue&type=script&lang=js\"\nexport * from \"./Full.vue?vue&type=script&lang=js\"\n\nimport \"./Full.vue?vue&type=style&index=0&id=60bc2f58&lang=css\"\nscript.render = render\n\nexport default script","\n\n\n\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Simple.vue?vue&type=style&index=0&id=5a048f2e&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Simple.vue?vue&type=template&id=5a048f2e\"\nimport script from \"./Simple.vue?vue&type=script&lang=js\"\nexport * from \"./Simple.vue?vue&type=script&lang=js\"\n\nimport \"./Simple.vue?vue&type=style&index=0&id=5a048f2e&lang=css\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Avatar.vue?vue&type=style&index=0&id=40d52df1&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Avatar.vue?vue&type=template&id=40d52df1\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js\"\n\nimport \"./Avatar.vue?vue&type=style&index=0&id=40d52df1&lang=css\"\nscript.render = render\n\nexport default script","\n\n\n\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Drag.vue?vue&type=style&index=0&id=3d903d3c&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Drag.vue?vue&type=template&id=3d903d3c\"\nimport script from \"./Drag.vue?vue&type=script&lang=js\"\nexport * from \"./Drag.vue?vue&type=script&lang=js\"\n\nimport \"./Drag.vue?vue&type=style&index=0&id=3d903d3c&lang=css\"\nscript.render = render\n\nexport default script","\n\n\n\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Multiple.vue?vue&type=style&index=0&id=26f1d5e5&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Multiple.vue?vue&type=template&id=26f1d5e5\"\nimport script from \"./Multiple.vue?vue&type=script&lang=js\"\nexport * from \"./Multiple.vue?vue&type=script&lang=js\"\n\nimport \"./Multiple.vue?vue&type=style&index=0&id=26f1d5e5&lang=css\"\nscript.render = render\n\nexport default script","\n\n\n\n\n\n\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Chunk.vue?vue&type=style&index=0&id=ac05e234&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Chunk.vue?vue&type=style&index=1&id=ac05e234&scoped=true&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Chunk.vue?vue&type=template&id=ac05e234&scoped=true\"\nimport script from \"./Chunk.vue?vue&type=script&lang=js\"\nexport * from \"./Chunk.vue?vue&type=script&lang=js\"\n\nimport \"./Chunk.vue?vue&type=style&index=0&id=ac05e234&lang=css\"\nimport \"./Chunk.vue?vue&type=style&index=1&id=ac05e234&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-ac05e234\"\n\nexport default script","\n\n\n\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Vuex.vue?vue&type=style&index=0&id=2f84a93f&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Vuex.vue?vue&type=template&id=2f84a93f\"\nimport script from \"./Vuex.vue?vue&type=script&lang=js\"\nexport * from \"./Vuex.vue?vue&type=script&lang=js\"\n\nimport \"./Vuex.vue?vue&type=style&index=0&id=2f84a93f&lang=css\"\nscript.render = render\n\nexport default script","\n\n\n\n\n\n","/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\nexport const createRequest = (options) => {\n const xhr = new XMLHttpRequest()\n xhr.open(options.method || 'GET', options.url)\n xhr.responseType = 'json'\n if (options.headers) {\n Object.keys(options.headers).forEach(key => {\n xhr.setRequestHeader(key, options.headers[key])\n })\n }\n\n return xhr\n}\n\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\nexport const sendRequest = (xhr, body) => {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(JSON.stringify(body))\n })\n}\n\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\nexport const sendFormRequest = (xhr, data) => {\n const body = new FormData()\n for (let name in data) {\n body.append(name, data[name])\n }\n\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(body)\n })\n}\n\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\nexport default function (options) {\n const xhr = createRequest(options)\n\n return sendRequest(xhr, options.body)\n}\n","\nimport {PropType, defineComponent, h} from \"vue\";\n\n// @ts-ignore\nimport ChunkUploadDefaultHandler from './chunk/ChunkUploadHandler.js'\nconst CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadDefaultHandler\n}\n\nexport interface ChunkOptions {\n headers: { [key: string]: any };\n action: string;\n minSize: number;\n maxActive: number;\n maxRetries: number;\n handler: any;\n}\n\nexport interface Data {\n active: boolean;\n dropActive: boolean;\n files: VueUploadItem[];\n maps: { [key: string]: VueUploadItem };\n destroy: boolean;\n uploading: number;\n features: Features;\n dropElement: null | HTMLElement;\n reload: boolean;\n}\n\nexport interface Features {\n html5: boolean;\n directory: boolean;\n drop: boolean;\n}\n\n\n\nexport interface VueUploadItem {\n id: string;\n\n // 是否是文件对象\n readonly fileObject?: boolean,\n\n // 文件名\n name?: string;\n\n // 文件字节\n size?: number,\n\n // 文件 mime 类型\n type?: string,\n\n // 是否激活中\n active?: boolean,\n\n // 错误消息\n error?: Error | string,\n\n // 是否成功\n success?: boolean,\n\n // post 地址\n postAction?: string;\n\n // putAction 地址\n putAction?: string;\n\n // timeout\n timeout?: number;\n\n // 请求 data\n data?: { [key: string]: any }\n\n // 请求 headers\n headers?: { [key: string]: any }\n\n // 响应信息\n response?: { [key: string]: any };\n\n // 进度\n progress?: string; // 只读\n\n // 速度\n speed?: 0; // 只读\n\n // xhr 信息\n file?: Blob; // 只读\n xhr?: XMLHttpRequest; // 只读\n\n // el 信息 仅有 html4 使用\n el?: HTMLInputElement;\n\n // iframe 信息 仅有 html4 使用\n iframe?: HTMLElement; // 只读\n\n [key: string]: any;\n}\n\n\n\n\nexport interface FileSystemEntry {\n isDirectory: boolean\n isFile: boolean\n name: string\n fullPath: string\n filesystem: string\n}\nexport interface FileSystemDirectoryReader {\n readEntries: (\n successCallback: (result: Array) => void,\n errorCallback?: (error: DOMError) => void,\n ) => void\n}\nexport interface FileSystemFlags {\n create?: boolean\n exclusive?: boolean\n}\nexport interface FileSystemDirectoryEntry extends FileSystemEntry {\n isDirectory: true\n isFile: false\n createReader: () => FileSystemDirectoryReader\n getFile: (\n path?: string,\n options?: FileSystemFlags,\n successCallback?: (result: FileSystemFileEntry) => void,\n errorCallback?: (error: DOMError) => void,\n ) => void\n getDirectory: (\n path?: string,\n options?: FileSystemFlags,\n successCallback?: (result: FileSystemDirectoryEntry) => void,\n errorCallback?: (error: DOMError) => void,\n ) => void\n}\nexport interface FileSystemFileEntry extends FileSystemEntry {\n isDirectory: false\n isFile: true\n file: (cb: (file: File) => void) => void\n}\n\n\n\n\nexport default defineComponent({\n props: {\n inputId: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n accept: {\n type: String,\n },\n capture: {\n },\n disabled: {\n default: false,\n },\n multiple: {\n type: Boolean,\n default: false,\n },\n maximum: {\n type: Number,\n },\n addIndex: {\n type: [Boolean, Number],\n },\n directory: {\n type: Boolean,\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String,\n },\n putAction: {\n type: String,\n },\n customAction: {\n type: Function as PropType<(file: VueUploadItem, self: any) => Promise>\n },\n headers: {\n type: Object as PropType<{[key:string]: any}>,\n default:() => {\n return {}\n },\n },\n\n data: {\n type: Object as PropType<{[key:string]: any}>,\n default:() => {\n return {}\n },\n },\n timeout: {\n type: Number,\n default: 0,\n },\n drop: {\n default: false,\n },\n dropDirectory: {\n type: Boolean,\n default: true,\n },\n size: {\n type: Number,\n default: 0,\n },\n extensions: {\n type: [RegExp, String, Array] as PropType,\n default: () => {\n return []\n },\n },\n modelValue: {\n type: Array as PropType,\n default:() => {\n return []\n },\n },\n thread: {\n type: Number,\n default: 1,\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object as PropType<{headers?: {[key:string]: any}; action?: string; minSize?: number; maxActive?: number; maxRetries?: number; handler?: any;}>,\n default: (): ChunkOptions => {\n return CHUNK_DEFAULT_OPTIONS\n }\n }\n },\n emits: [\n 'update:modelValue',\n 'input-filter',\n 'input-file',\n ],\n data(): Data {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false,\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n reload: false,\n }\n },\n /**\n * mounted\n * @return {[type]} [description]\n */\n mounted() {\n const input = document.createElement('input')\n input.type = 'file'\n input.multiple = true\n // html5 特征\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true\n }\n // 拖拽特征\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true\n }\n } else {\n this.features.html5 = false\n }\n // files 定位缓存\n this.maps = {}\n if (this.files) {\n for (let i = 0; i < this.files.length; i++) {\n const file = this.files[i]\n this.maps[file.id] = file\n }\n }\n\n // @ts-ignore\n this.$nextTick( () => {\n // 更新下父级\n if (this.$parent) {\n this.$parent.$forceUpdate()\n // 拖拽渲染\n this.$parent.$nextTick(() => {\n this.watchDrop(this.drop)\n })\n } else {\n // 拖拽渲染\n this.watchDrop(this.drop)\n }\n })\n },\n /**\n * beforeUnmount\n * @return {[type]} [description]\n */\n beforeUnmount() {\n // 已销毁\n this.destroy = true\n // 设置成不激活\n this.active = false\n // 销毁拖拽事件\n this.watchDrop(false)\n },\n\n computed: {\n /**\n * uploading 正在上传的线程\n * @return {[type]} [description]\n */\n /**\n * uploaded 文件列表是否全部已上传\n * @return {[type]} [description]\n */\n uploaded() {\n let file\n for (let i = 0; i < this.files.length; i++) {\n file = this.files[i]\n if (file.fileObject && !file.error && !file.success) {\n return false\n }\n }\n return true\n },\n chunkOptions(): ChunkOptions {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk)\n },\n className(): Array {\n return [\n 'file-uploads',\n this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4',\n this.features.directory && this.directory ? 'file-uploads-directory' : undefined,\n this.features.drop && this.drop ? 'file-uploads-drop' : undefined,\n this.disabled ? 'file-uploads-disabled' : undefined,\n ]\n },\n forId(): string {\n return this.inputId || this.name\n },\n iMaximum(): number {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1\n }\n return this.maximum\n },\n iExtensions(): RegExp | undefined {\n if (!this.extensions) {\n return\n }\n if (this.extensions instanceof RegExp) {\n return this.extensions\n }\n if (!this.extensions.length) {\n return\n }\n let exts: string[] = []\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',')\n } else {\n exts = this.extensions\n }\n exts = exts.map(function(value) { return value.trim() }).filter(function(value) { return value })\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i')\n },\n },\n watch: {\n active(active: boolean) {\n this.watchActive(active)\n },\n dropActive() {\n if (this.$parent) {\n this.$parent.$forceUpdate()\n }\n },\n drop(value: boolean) {\n this.watchDrop(value)\n },\n modelValue(files: VueUploadItem[]) {\n if (this.files === files) {\n return\n }\n this.files = files\n const oldMaps = this.maps\n // 重写 maps 缓存\n this.maps = {}\n for (let i = 0; i < this.files.length; i++) {\n const file = this.files[i]\n this.maps[file.id] = file\n }\n // add, update\n for (const key in this.maps) {\n const newFile = this.maps[key]\n const oldFile = oldMaps[key]\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile)\n }\n }\n // delete\n for (const key in oldMaps) {\n if (!this.maps[key]) {\n this.emitFile(undefined, oldMaps[key])\n }\n }\n },\n },\n methods: {\n newId(): string {\n return Math.random().toString(36).substr(2)\n },\n // 清空\n clear() {\n if (this.files.length) {\n const files = this.files\n this.files = []\n // 定位\n this.maps = {}\n // 事件\n this.emitInput()\n for (let i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i])\n }\n }\n return true\n },\n // 选择\n get(id: string | VueUploadItem): VueUploadItem | false {\n if (!id) {\n return false\n }\n if (typeof id === 'object') {\n return this.maps[id.id|| ''] || false\n }\n return this.maps[id] || false\n },\n // 添加\n add(_files: VueUploadItem | Blob | Array, index?: number | boolean): VueUploadItem | VueUploadItem[] | undefined {\n // 不是数组整理成数组\n let files: Array\n if (_files instanceof Array) {\n files = _files\n } else {\n files = [_files]\n }\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex\n }\n // 遍历规范对象\n const addFiles: VueUploadItem[] = []\n for (let i = 0; i < files.length; i++) {\n let file: VueUploadItem | Blob = files[i]\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type,\n }\n }\n file = file as VueUploadItem\n let fileObject = false\n if (file.fileObject === false) {\n // false\n } else if (file.fileObject) {\n fileObject = true\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true\n }\n if (fileObject) {\n file = {\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout,\n ...file,\n response: {},\n progress: '0.00', // 只读\n speed: 0, // 只读\n // file: undefined,\n // xhr: undefined,\n // el: undefined,\n // iframe: undefined,\n }\n file.data = {\n ...this.data,\n ...file.data ? file.data : {},\n }\n file.headers = {\n ...this.headers,\n ...file.headers ? file.headers : {},\n }\n }\n // 必须包含 id\n if (!file.id) {\n file.id = this.newId();\n }\n if (this.emitFilter(file, undefined)) {\n continue\n }\n // 最大数量限制\n if (this.iMaximum > 1 && (addFiles.length + this.files.length) >= this.iMaximum) {\n break\n }\n addFiles.push(file)\n // 最大数量限制\n if (this.iMaximum === 1) {\n break\n }\n }\n // 没有文件\n if (!addFiles.length) {\n return\n }\n // 如果是 1 清空\n if (this.iMaximum === 1) {\n this.clear()\n }\n // 添加进去 files\n let newFiles\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files)\n } else if (index) {\n newFiles = this.files.concat([])\n newFiles.splice(index, 0, ...addFiles)\n } else {\n newFiles = this.files.concat(addFiles)\n }\n this.files = newFiles\n // 定位\n for (let i = 0; i < addFiles.length; i++) {\n const file = addFiles[i]\n this.maps[file.id] = file\n }\n // 事件\n this.emitInput()\n for (let i = 0; i < addFiles.length; i++) {\n this.emitFile(addFiles[i], undefined)\n }\n return _files instanceof Array ? addFiles : addFiles[0]\n },\n // 添加表单文件\n addInputFile(el: HTMLInputElement): Promise {\n const files: Array = []\n const maximumValue = this.iMaximum\n // @ts-ignore\n const entrys = el.webkitEntries || el.entries || undefined\n if (entrys?.length) {\n return this.getFileSystemEntry(entrys).then((files) => {\n return this.add(files) as VueUploadItem[]\n })\n }\n \n if (el.files) {\n for (let i = 0; i < el.files.length; i++) {\n const file: File = el.files[i]\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file,\n })\n }\n } else {\n let names = el.value.replace(/\\\\/g, '/').split('/')\n if (!names || !names.length) {\n names = [el.value]\n }\n // @ts-ignore\n delete el.__vuex__\n files.push({\n id: '',\n name: names[names.length - 1],\n el,\n })\n }\n return Promise.resolve(this.add(files) as VueUploadItem[])\n },\n\n // 添加 DataTransfer\n addDataTransfer(dataTransfer: DataTransfer):Promise {\n // dataTransfer.items 支持\n if (dataTransfer?.items?.length) {\n const entrys: Array = []\n // 遍历出所有 dataTransferVueUploadItem\n for (let i = 0; i < dataTransfer.items.length; i++) {\n const dataTransferTtem = dataTransfer.items[i]\n let entry: File| FileSystemFileEntry | FileSystemDirectoryEntry | null\n // @ts-ignore\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile()\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile()\n } else {\n entry = dataTransferTtem.getAsFile()\n }\n if (entry) {\n entrys.push(entry)\n }\n }\n return this.getFileSystemEntry(entrys).then((files) => {\n return this.add(files) as VueUploadItem[]\n })\n }\n\n // dataTransfer.files 支持\n const maximumValue = this.iMaximum\n const files: Array = []\n if (dataTransfer.files.length) {\n for (let i = 0; i < dataTransfer.files.length; i++) {\n files.push(dataTransfer.files[i])\n if (maximumValue > 0 && files.length >= maximumValue) {\n break\n }\n }\n return Promise.resolve(this.add(files) as VueUploadItem[])\n }\n\n return Promise.resolve([])\n },\n\n \n // 获得 entrys \n getFileSystemEntry(entry: Array | File | FileSystemFileEntry | FileSystemDirectoryEntry, path = ''): Promise {\n return new Promise((resolve) => {\n const maximumValue = this.iMaximum\n \n if (!entry) {\n resolve([])\n return\n }\n\n if (entry instanceof Array) {\n // 多个\n const uploadFiles: VueUploadItem[] = []\n const forEach = (i:number) => {\n const v = entry[i]\n if (!v || (maximumValue > 0 && uploadFiles.length >= maximumValue)) {\n return resolve(uploadFiles)\n }\n this.getFileSystemEntry(v, path).then(function(results) {\n uploadFiles.push(...results)\n forEach(i + 1)\n })\n }\n forEach(0)\n return \n }\n\n if (entry instanceof Blob) {\n resolve([\n {\n id: '',\n size: entry.size,\n name: path + entry.name,\n type: entry.type,\n file: entry,\n }\n ])\n return\n }\n\n \n \n if (entry.isFile) {\n entry.file(function (file) {\n resolve([\n {\n id:'',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file,\n }\n ])\n })\n return\n }\n \n if (entry.isDirectory && this.dropDirectory) {\n const uploadFiles: VueUploadItem[] = []\n // 目录也要添加到文件列表\n if (this.createDirectory) {\n uploadFiles.push({\n id: '',\n name: path + entry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + entry.name, {type: 'text/directory'}),\n })\n }\n\n const dirReader = entry.createReader()\n const readEntries = () => {\n dirReader.readEntries((entries) => {\n const forEach = (i:number) => {\n if ((!entries[i] && i === 0) || (maximumValue > 0 && uploadFiles.length >= maximumValue)) {\n return resolve(uploadFiles)\n }\n if (!entries[i]) {\n return readEntries()\n }\n this.getFileSystemEntry(entries[i], path + entry.name + '/').then(function(results) {\n uploadFiles.push(...results)\n forEach(i + 1)\n })\n }\n forEach(0)\n })\n }\n readEntries()\n return\n }\n\n resolve([])\n })\n },\n // 替换\n replace(id1:VueUploadItem | string, id2: VueUploadItem | string): boolean {\n const file1 = this.get(id1)\n const file2 = this.get(id2)\n if (!file1 || !file2 || file1 === file2) {\n return false\n }\n const files = this.files.concat([])\n const index1 = files.indexOf(file1)\n const index2 = files.indexOf(file2)\n if (index1 === -1 || index2 === -1) {\n return false\n }\n files[index1] = file2\n files[index2] = file1\n this.files = files\n this.emitInput()\n return true\n },\n // 移除\n remove(id: VueUploadItem | string): VueUploadItem | false {\n const file = this.get(id)\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false\n }\n const files = this.files.concat([])\n const index = files.indexOf(file)\n if (index === -1) {\n console.error('remove', file)\n return false\n }\n files.splice(index, 1)\n this.files = files\n // 定位\n delete this.maps[file.id]\n // 事件\n this.emitInput()\n this.emitFile(undefined, file)\n }\n return file\n },\n // 更新\n update(id: VueUploadItem | string, data: {[key:string]: any}): VueUploadItem | false {\n const file = this.get(id)\n if (file) {\n const newFile = {\n ...file,\n ...data\n }\n // 停用必须加上错误\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort'\n }\n if (this.emitFilter(newFile, file)) {\n return false\n }\n const files = this.files.concat([])\n const index = files.indexOf(file)\n if (index === -1) {\n console.error('update', file)\n return false\n }\n files.splice(index, 1, newFile)\n this.files = files\n // 删除 旧定位 写入 新定位 (已便支持修改id)\n delete this.maps[file.id]\n this.maps[newFile.id] = newFile\n // 事件\n this.emitInput()\n this.emitFile(newFile, file)\n return newFile\n }\n return false\n },\n // 预处理 事件 过滤器\n emitFilter(newFile: VueUploadItem | undefined, oldFile: VueUploadItem | undefined): boolean {\n let isPrevent = false\n this.$emit('input-filter', newFile, oldFile, function(prevent = true): boolean {\n isPrevent = prevent\n return isPrevent\n })\n return isPrevent\n },\n\n // 处理后 事件 分发\n emitFile(newFile: VueUploadItem | undefined, oldFile: VueUploadItem | undefined) {\n this.$emit('input-file', newFile, oldFile)\n if (newFile?.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++\n // 激活\n // @ts-ignore\n this.$nextTick(() => {\n setTimeout(() => {\n newFile && this.upload(newFile).then(() => {\n if (newFile) {\n // eslint-disable-next-line\n newFile = this.get(newFile) || undefined\n }\n if (newFile?.fileObject) {\n this.update(newFile, {\n active: false,\n success: !newFile.error\n })\n }\n }).catch((e: any) => {\n newFile && this.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n })\n })\n }, Math.ceil(Math.random() * 50 + 50))\n })\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--\n }\n // 自动延续激活\n // @ts-ignore\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true)\n }\n },\n emitInput() {\n this.$emit('update:modelValue', this.files)\n },\n // 上传\n upload(id: VueUploadItem | string): Promise {\n const file = this.get(id)\n // 被删除\n if (!file) {\n return Promise.reject(new Error('not_exists'))\n }\n // 不是文件对象\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'))\n }\n // 有错误直接响应\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error)\n }\n return Promise.reject(new Error(file.error))\n }\n // 已完成直接响应\n if (file.success) {\n return Promise.resolve(file)\n }\n // 后缀\n if (file.name && this.iExtensions) {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'))\n }\n }\n\n // 大小\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size) {\n return Promise.reject(new Error('size'))\n }\n\n if (this.customAction) {\n return this.customAction(file, this)\n }\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file)\n }\n if (file.putAction) {\n return this.uploadPut(file)\n }\n if (file.postAction) {\n return this.uploadHtml5(file)\n }\n }\n if (file.postAction) {\n return this.uploadHtml4(file)\n }\n return Promise.reject(new Error('No action configured'))\n },\n /**\n * Whether this file should be uploaded using chunk upload or not\n *\n * @param Object file\n */\n shouldUseChunkUpload (file: VueUploadItem) {\n return this.chunkEnabled &&\n !!this.chunkOptions.handler &&\n file.size && file.size > this.chunkOptions.minSize\n },\n /**\n * Upload a file using Chunk method\n *\n * @param File file\n */\n uploadChunk(file: VueUploadItem): Promise {\n const HandlerClass = this.chunkOptions.handler\n file.chunk = new HandlerClass(file, this.chunkOptions)\n return file.chunk.upload().then((res: any) => { return file })\n },\n uploadPut(file: VueUploadItem): Promise {\n const querys = []\n let value\n for (const key in file.data) {\n value = file.data[key]\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value))\n }\n }\n const putAction = file.putAction || ''\n const queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : ''\n const xhr = new XMLHttpRequest()\n xhr.open('PUT', putAction + queryString)\n return this.uploadXhr(xhr, file, file.file as File)\n },\n uploadHtml5(file: VueUploadItem): Promise {\n const form = new window.FormData()\n let value\n for (const key in file.data) {\n value = file.data[key]\n if (value && typeof value === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name)\n } else {\n form.append(key, JSON.stringify(value))\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value)\n }\n }\n // @ts-ignore\n form.append(this.name, file.file, file.file.name || file.file.filename || file.name)\n const xhr = new XMLHttpRequest()\n xhr.open('POST', file.postAction || '')\n return this.uploadXhr(xhr, file, form)\n },\n\n uploadXhr(xhr:XMLHttpRequest, ufile: VueUploadItem | undefined | false, body: FormData | Blob): Promise {\n let file = ufile\n let speedTime = 0\n let speedLoaded = 0\n\n // 进度条\n xhr.upload.onprogress = (e: ProgressEvent) => {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return\n }\n file = this.get(file)\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return\n }\n\n // 进度 速度 每秒更新一次\n const speedTime2 = Math.round(Date.now() / 1000)\n if (speedTime2 === speedTime) {\n return\n }\n speedTime = speedTime2\n\n \n file = this.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded,\n })\n speedLoaded = e.loaded\n }\n\n // 检查激活状态\n let interval: number| undefined = window.setInterval(() => {\n if (file) {\n if ((file = this.get(file))) {\n if (file?.fileObject && !file.success && !file.error && file.active) {\n return\n }\n }\n }\n\n if (interval) {\n clearInterval(interval)\n interval = undefined\n }\n\n try {\n xhr.abort()\n xhr.timeout = 1\n } catch (e) {\n }\n }, 100)\n\n return new Promise((resolve: (u: VueUploadItem) => void, reject: (e: Error) => void) => {\n if (!file) {\n reject(new Error('not_exists'))\n return\n }\n let complete: boolean\n const fn = (e: ProgressEvent) => {\n // 已经处理过了\n if (complete) {\n return\n }\n complete = true\n if (interval) {\n clearInterval(interval)\n interval = undefined\n }\n if (!file) {\n return reject(new Error('not_exists'))\n }\n file = this.get(file)\n\n // 不存在直接响应\n if (!file) {\n return reject(new Error('not_exists'))\n }\n\n // 不是文件对象\n if (!file.fileObject) {\n return reject(new Error('file_object'))\n }\n\n // 有错误自动响应\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error)\n }\n return reject(new Error(file.error))\n }\n\n // 未激活\n if (!file.active) {\n return reject(new Error('abort'))\n }\n\n\n // 已完成 直接相应\n if (file.success) {\n return resolve(file)\n }\n\n const data: {[key: string]: any} = {}\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type\n break\n case 'error':\n if (!xhr.status) {\n data.error = 'network'\n } else if (xhr.status >= 500) {\n data.error = 'server'\n } else if (xhr.status >= 400) {\n data.error = 'denied'\n }\n break\n default:\n if (xhr.status >= 500) {\n data.error = 'server'\n } else if (xhr.status >= 400) {\n data.error = 'denied'\n } else {\n data.progress = '100.00'\n }\n }\n\n if (xhr.responseText) {\n const contentType = xhr.getResponseHeader('Content-Type')\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText)\n } else {\n data.response = xhr.responseText\n }\n }\n\n // 更新\n // @ts-ignore\n file = this.update(file, data)\n \n if (!file) {\n return reject(new Error('abort'))\n }\n\n // 有错误自动响应\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error)\n }\n return reject(new Error(file.error))\n }\n\n // 响应\n return resolve(file)\n }\n\n // 事件\n xhr.onload = fn\n xhr.onerror = fn\n xhr.onabort = fn\n xhr.ontimeout = fn\n \n\n // 超时\n if (file.timeout) {\n xhr.timeout = file.timeout\n }\n\n // headers\n for (const key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key])\n }\n\n // 更新 xhr\n // @ts-ignore\n file = this.update(file, { xhr })\n\n // 开始上传\n file && xhr.send(body)\n })\n },\n uploadHtml4(ufile: VueUploadItem | undefined | false): Promise {\n let file = ufile\n if (!file) {\n return Promise.reject(new Error('not_exists'))\n }\n const onKeydown = function (e: any) {\n if (e.keyCode === 27) {\n e.preventDefault()\n }\n }\n\n const iframe = document.createElement('iframe')\n iframe.id = 'upload-iframe-' + file.id\n iframe.name = 'upload-iframe-' + file.id\n iframe.src = 'about:blank'\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;')\n\n\n const form: HTMLFormElement = document.createElement('form')\n\n form.setAttribute('action', file.postAction || '')\n\n form.name = 'upload-form-' + file.id\n\n form.setAttribute('method', 'POST')\n form.setAttribute('target', 'upload-iframe-' + file.id)\n form.setAttribute('enctype', 'multipart/form-data')\n\n for (const key in file.data) {\n let value = file.data[key]\n if (value && typeof value === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value)\n }\n if (value !== null && value !== undefined) {\n const el = document.createElement('input')\n el.type = 'hidden'\n el.name = key\n el.value = value\n form.appendChild(el)\n }\n }\n\n form.appendChild(file.el as HTMLInputElement)\n\n document.body.appendChild(iframe).appendChild(form)\n\n\n const getResponseData = function (): string | null {\n let doc\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document\n }\n } catch (err) {\n }\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document\n } catch (err) {\n // @ts-ignore\n doc = iframe.document\n }\n }\n // @ts-ignore\n if (doc?.body) {\n return doc.body.innerHTML\n }\n return null\n }\n\n return new Promise((resolve: (u: VueUploadItem) => void, reject: (e: Error) => void) => {\n setTimeout(() => {\n if (!file) {\n reject(new Error('not_exists'))\n return\n }\n\n file = this.update(file, { iframe })\n\n // 不存在\n if (!file) {\n return reject(new Error('not_exists'))\n }\n\n // 定时检查\n let interval: number | undefined = window.setInterval(() => {\n if (file) {\n if ((file = this.get(file))) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return\n }\n }\n }\n\n if (interval) {\n clearInterval(interval)\n interval = undefined\n }\n // @ts-ignore\n iframe.onabort({ type: file ? 'abort' : 'not_exists' })\n }, 100)\n\n\n let complete: boolean\n const fn = (e: Event | string) => {\n // 已经处理过了\n if (complete) {\n return\n }\n complete = true\n\n if (interval) {\n clearInterval(interval)\n interval = undefined\n }\n\n // 关闭 esc 事件\n document.body.removeEventListener('keydown', onKeydown)\n\n if (!file) {\n return reject(new Error('not_exists'))\n }\n\n file = this.get(file)\n\n // 不存在直接响应\n if (!file) {\n return reject(new Error('not_exists'))\n }\n\n // 不是文件对象\n if (!file.fileObject) {\n return reject(new Error('file_object'))\n }\n\n // 有错误自动响应\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error)\n }\n return reject(new Error(file.error))\n }\n\n // 未激活\n if (!file.active) {\n return reject(new Error('abort'))\n }\n\n // 已完成 直接相应\n if (file.success) {\n return resolve(file)\n }\n\n let response: any = getResponseData()\n const data: {[key: string]: any} = {}\n if (typeof e === 'string') {\n return reject(new Error(e))\n }\n switch (e.type) {\n case 'abort':\n data.error = 'abort'\n break\n case 'error':\n if (file.error) {\n data.error = file.error\n } else if (response === null) {\n data.error = 'network'\n } else {\n data.error = 'denied'\n }\n break\n default:\n if (file.error) {\n data.error = file.error\n } else if (response === null) {\n data.error = 'network'\n } else {\n data.progress = '100.00'\n }\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response)\n } catch (err) {\n }\n }\n data.response = response\n }\n\n // 更新\n file = this.update(file, data)\n if (!file) {\n return reject(new Error('not_exists'))\n }\n\n if (file?.error) {\n if (file.error instanceof Error) {\n return reject(file.error)\n }\n return reject(new Error(file.error))\n }\n\n // 响应\n return resolve(file)\n }\n\n\n // 添加事件\n iframe.onload = fn\n iframe.onerror = fn\n iframe.onabort = fn\n\n\n // 禁止 esc 键\n document.body.addEventListener('keydown', onKeydown)\n\n // 提交\n form.submit()\n }, 50)\n }).then(function (res: VueUploadItem): VueUploadItem {\n iframe?.parentNode?.removeChild(iframe)\n return res\n }).catch(function (res: any) {\n iframe?.parentNode?.removeChild(iframe)\n return res\n })\n },\n\n watchActive(active: boolean) {\n let file\n let index = 0\n while ((file = this.files[index])) {\n index++\n if (!file.fileObject) {\n // 不是文件对象\n } else if (active && !this.destroy) {\n if (this.uploading >= this.thread || (this.uploading && !this.features.html5)) {\n break\n }\n if (!file.active && !file.error && !file.success) {\n this.update(file, { active: true })\n }\n } else {\n if (file.active) {\n this.update(file, { active: false })\n }\n }\n }\n if (this.uploading === 0) {\n this.active = false\n }\n },\n\n watchDrop(newDrop: boolean | string | HTMLElement | null, oldDrop: boolean | string | HTMLElement | undefined = undefined) {\n if (!this.features.drop) {\n return\n }\n if (newDrop === oldDrop) {\n return\n }\n\n // 移除挂载\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDragenter, false)\n document.removeEventListener('dragleave', this.onDragleave, false)\n document.removeEventListener('drop', this.onDocumentDrop, false)\n this.dropElement.removeEventListener('dragover', this.onDragover, false)\n this.dropElement.removeEventListener('drop', this.onDrop, false)\n } catch (e) {\n }\n }\n\n let el: HTMLElement | null = null\n\n if (!newDrop) {\n // empty\n } else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop)\n } else if (newDrop === true) {\n // @ts-ignore\n el = this.$parent.$el\n } else {\n el = newDrop\n }\n this.dropElement = el\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDragenter, false)\n document.addEventListener('dragleave', this.onDragleave, false)\n document.addEventListener('drop', this.onDocumentDrop, false)\n this.dropElement.addEventListener('dragover', this.onDragover, false)\n this.dropElement.addEventListener('drop', this.onDrop, false)\n }\n },\n\n onDragenter(e: DragEvent) {\n e.preventDefault()\n if (this.dropActive) {\n return\n }\n if (!e.dataTransfer) {\n return\n }\n const dt = e.dataTransfer\n if (dt?.files?.length) {\n this.dropActive = true\n } else if (!dt.types) {\n this.dropActive = true\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true\n // @ts-ignore\n } else if (dt.types?.contains && dt.types.contains('Files')) {\n this.dropActive = true\n }\n },\n onDragleave(e: DragEvent) {\n e.preventDefault()\n if (!this.dropActive) {\n return\n }\n\n // @ts-ignore\n if (e.target.nodeName === 'HTML' || e.target === e.explicitOriginalTarget || (!e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight))) {\n this.dropActive = false\n }\n },\n onDragover(e: DragEvent) {\n e.preventDefault()\n },\n onDocumentDrop() {\n this.dropActive = false\n },\n onDrop(e: DragEvent) {\n e.preventDefault()\n e.dataTransfer && this.addDataTransfer(e.dataTransfer)\n },\n async inputOnChange(e: Event) {\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"))\n }\n const target = e.target\n const reinput = (res: any) => {\n this.reload = true\n // @ts-ignore\n this.$nextTick(() => {\n this.reload = false\n })\n return res\n }\n\n return this.addInputFile(e.target).then(reinput).catch(reinput)\n },\n },\n})\n","import {\n default as request,\n createRequest,\n sendFormRequest\n} from '../utils/request'\n\nexport default class ChunkUploadHandler {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n constructor(file, options) {\n this.file = file\n this.options = options\n this.chunks = []\n this.sessionId = null\n this.chunkSize = null\n this.speedInterval = null\n }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries() {\n return parseInt(this.options.maxRetries, 10)\n }\n\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n get maxActiveChunks() {\n return parseInt(this.options.maxActive, 10)\n }\n\n /**\n * Gets the file type\n */\n get fileType() {\n return this.file.type\n }\n\n /**\n * Gets the file size\n */\n get fileSize() {\n return this.file.size\n }\n\n /**\n * Gets the file name\n */\n get fileName() {\n return this.file.name\n }\n\n /**\n * Gets action (url) to upload the file\n */\n get action() {\n return this.options.action || null\n }\n\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n get startBody() {\n return this.options.startBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n get uploadBody() {\n return this.options.uploadBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n get finishBody() {\n return this.options.finishBody || {}\n }\n\n /**\n * Gets the headers of the requests from options\n */\n get headers() {\n return this.options.headers || {}\n }\n\n /**\n * Whether it's ready to upload files or not\n */\n get readyToUpload() {\n return !!this.chunks\n }\n\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n get progress() {\n const completedProgress = (this.chunksUploaded.length / this.chunks.length) * 100\n const uploadingProgress = this.chunksUploading.reduce((progress, chunk) => {\n return progress + ((chunk.progress | 0) / this.chunks.length)\n }, 0)\n\n return Math.min(completedProgress + uploadingProgress, 100)\n }\n\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n get chunksToUpload() {\n return this.chunks.filter(chunk => {\n return !chunk.active && !chunk.uploaded\n })\n }\n\n /**\n * Whether there are chunks to upload or not\n */\n get hasChunksToUpload() {\n return this.chunksToUpload.length > 0\n }\n\n /**\n * Gets all the chunks that are uploading\n */\n get chunksUploading() {\n return this.chunks.filter(chunk => {\n return !!chunk.xhr && !!chunk.active\n })\n }\n\n /**\n * Gets all the chunks that have finished uploading\n */\n get chunksUploaded() {\n return this.chunks.filter(chunk => {\n return !!chunk.uploaded\n })\n }\n\n /**\n * Creates all the chunks in the initial state\n */\n createChunks() {\n this.chunks = []\n\n let start = 0\n let end = this.chunkSize\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n })\n start = end\n end = start + this.chunkSize\n }\n }\n\n /**\n * Updates the progress of the file with the handler's progress\n */\n updateFileProgress() {\n this.file.progress = this.progress\n }\n\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n pause() {\n this.file.active = false\n this.stopChunks()\n }\n\n /**\n * Stops all the current chunks\n */\n stopChunks() {\n this.chunksUploading.forEach(chunk => {\n chunk.xhr.abort()\n chunk.active = false\n })\n\n this.stopSpeedCalc()\n }\n\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n resume() {\n this.file.active = true\n this.startChunking()\n }\n\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n upload() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve\n this.reject = reject\n })\n this.start()\n\n return this.promise\n }\n\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n start() {\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json'},\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(res => {\n if (res.status !== 'success') {\n this.file.response = res\n return this.reject('server')\n }\n\n this.sessionId = res.data.session_id\n this.chunkSize = res.data.end_offset\n\n this.createChunks()\n this.startChunking()\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n /**\n * Starts to upload chunks\n */\n startChunking() {\n for (let i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk()\n }\n\n this.startSpeedCalc()\n }\n\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0])\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish()\n }\n }\n }\n\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n uploadChunk(chunk) {\n chunk.progress = 0\n chunk.active = true\n this.updateFileProgress()\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n })\n\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100)\n }\n }, false)\n\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(res => {\n chunk.active = false\n if (res.status === 'success') {\n chunk.uploaded = true\n } else {\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n }\n\n this.uploadNextChunk()\n }).catch(() => {\n chunk.active = false\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n\n this.uploadNextChunk()\n })\n }\n\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n finish() {\n this.updateFileProgress()\n this.stopSpeedCalc()\n\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json' },\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(res => {\n this.file.response = res\n if (res.status !== 'success') {\n return this.reject('server')\n }\n\n this.resolve(res)\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n startSpeedCalc() {\n this.file.speed = 0\n let lastUploadedBytes = 0\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(() => {\n let uploadedBytes = (this.progress / 100) * this.fileSize\n this.file.speed = (uploadedBytes - lastUploadedBytes)\n lastUploadedBytes = uploadedBytes\n }, 1000)\n }\n }\n\n /**\n * Removes the upload speed interval\n */\n stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval)\n this.speedInterval = null\n this.file.speed = 0\n }\n}\n","import api from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../node_modules/vue-loader/dist/stylePostLoader.js!../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FileUpload.vue?vue&type=style&index=0&id=5f28f5e8&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./FileUpload.vue?vue&type=template&id=5f28f5e8\"\nimport script from \"./FileUpload.vue?vue&type=script&lang=ts\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=ts\"\n\nimport \"./FileUpload.vue?vue&type=style&index=0&id=5f28f5e8&lang=css\"\nscript.render = render\n\nexport default script","\n\n\n","\nimport {ref, SetupContext} from 'vue'\nimport FileUpload from '../../../src/FileUpload.vue'\nimport type { VueUploadItem } from '../../../src/FileUpload.vue'\nexport default {\n components: {\n FileUpload,\n },\n\n setup(props: unknown, context: SetupContext) {\n const upload = ref | null>(null)\n \n const files = ref([])\n\n function inputFilter(newFile: VueUploadItem | undefined, oldFile: VueUploadItem | undefined, prevent: (prevent?: boolean) => boolean) {\n if (newFile && !oldFile) {\n // Before adding a file\n // 添加文件前\n\n // Filter system files or hide files\n // 过滤系统文件 和隐藏文件\n \n if (newFile.name && /(\\/|^)(Thumbs\\.db|desktop\\.ini|\\..+)$/.test(newFile.name)) {\n return prevent()\n }\n \n // Filter php html js file\n // 过滤 php html js 文件\n if (newFile.name && /\\.(php5?|html?|jsx?)$/i.test(newFile.name)) {\n return prevent()\n }\n }\n }\n\n function inputFile(newFile: VueUploadItem | undefined, oldFile: VueUploadItem | undefined) {\n if (newFile && !oldFile) {\n // add\n console.log('add', newFile)\n }\n if (newFile && oldFile) {\n // update\n console.log('update', newFile)\n }\n\n if (!newFile && oldFile) {\n // remove\n console.log('remove', oldFile)\n }\n }\n\n return {\n files,\n upload,\n inputFilter,\n inputFile,\n }\n }\n}\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Typescript.vue?vue&type=style&index=0&id=9d132648&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Typescript.vue?vue&type=template&id=9d132648\"\nimport script from \"./Typescript.vue?vue&type=script&lang=ts\"\nexport * from \"./Typescript.vue?vue&type=script&lang=ts\"\n\nimport \"./Typescript.vue?vue&type=style&index=0&id=9d132648&lang=css\"\nscript.render = render\n\nexport default script","import { createRouter, createWebHashHistory } from 'vue-router'\n\nimport i18n from './i18n'\nimport RouterComponent from './views/Router'\nimport DocumentComponent from './views/Document'\nimport ExampleComponent from './views/Example'\n\nimport FullExampleComponent from './views/examples/Full'\nimport SimpleExampleComponent from './views/examples/Simple'\nimport AvatarExampleComponent from './views/examples/Avatar'\nimport DragExampleComponent from './views/examples/Drag'\nimport MultipleExampleComponent from './views/examples/Multiple'\nimport ChunkExampleComponent from './views/examples/Chunk'\nimport VuexExampleComponent from './views/examples/Vuex'\nimport TypescriptExampleComponent from './views/examples/Typescript'\n\n\n// console.log(i18n)\n\n\nlet examples = [\n {\n path: '',\n component: FullExampleComponent,\n },\n {\n path: 'full',\n component: FullExampleComponent,\n },\n {\n path: '',\n component: SimpleExampleComponent,\n },\n {\n path: 'simple',\n component: SimpleExampleComponent,\n },\n {\n path: 'avatar',\n component: AvatarExampleComponent,\n },\n {\n path: 'drag',\n component: DragExampleComponent,\n },\n {\n path: 'multiple',\n component: MultipleExampleComponent,\n },\n {\n path: 'chunk',\n component: ChunkExampleComponent,\n },\n {\n path: 'vuex',\n component: VuexExampleComponent,\n },\n {\n path: 'typescript',\n component: TypescriptExampleComponent,\n },\n]\n\n\nconst router = createRouter({\n history: createWebHashHistory(),\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n } else if (to.hash) {\n return { el: to.hash, top: document.querySelector('#header').offsetHeight }\n } else {\n return { x: 0, y: 0 }\n }\n },\n routes: [\n {\n path: '/:locale(' + i18n.global.availableLocales.join('|') + ')?',\n component: RouterComponent,\n children: [\n {\n path: 'documents',\n component: DocumentComponent,\n },\n {\n path: 'examples',\n component: ExampleComponent,\n children: examples,\n },\n {\n path: '',\n component: ExampleComponent,\n children: examples,\n },\n ]\n },\n ]\n})\nexport default router\n","\n\n\n","import api from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=style&index=0&id=081f9696&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./App.vue?vue&type=template&id=081f9696\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=081f9696&lang=css\"\nscript.render = render\n\nexport default script","import { createApp, h } from 'vue'\nimport marked from 'marked'\nimport highlightjs from 'highlight.js'\nimport store from './store'\nimport router from './router'\nimport i18n from './i18n'\nimport App from './views/App'\nimport { stringifyQuery } from 'vue-router'\n\nclass Renderer extends marked.Renderer {\n heading(text, level, raw) {\n let rawName = raw.toLowerCase().replace(/([\\u0000-\\u002F\\u003A-\\u0060\\u007B-\\u007F]+)/g, '-').replace(/^\\-+|\\-+$/, '')\n\n if (!this.options.headers) {\n this.options.headers = []\n }\n while (this.options.headers.length >= level) {\n this.options.headers.pop()\n }\n let parent = this.options.headers.filter(value => !!value).join('-')\n if (parent) {\n parent = parent + '-'\n }\n while (this.options.headers.length < (level - 1)) {\n this.options.headers.push('')\n }\n this.options.headers.push(rawName)\n return ''\n + text\n + '\\n'\n }\n}\n\nmarked.setOptions({\n renderer: new Renderer(),\n gfm: true,\n tables: true,\n breaks: false,\n pedantic: false,\n sanitize: false,\n smartLists: true,\n smartypants: false,\n highlight(code, lang) {\n if (lang) {\n return highlightjs.highlight(lang, code).value\n } else {\n return highlightjs.highlightAuto(code).value\n }\n }\n})\n\n\n\n\n\n\n\nconst app = createApp({\n render() {\n return h(App)\n },\n})\n\napp.use(store)\napp.use(i18n)\napp.use(router)\n\n\n// 设置当前 url 信息\nrouter.push(window.location.hash ? window.location.hash.substr(1) : '')\n\n// 载入\nrouter.isReady().then(function () {\n app.mount('#app')\n})\n\n\napp.directive('markdown', {\n mounted(el, binding, vnode) {\n if (!el.className || !/vue-markdown/.test(el.className)) {\n el.className += ' vue-markdown'\n }\n let text = ''\n if (typeof vnode.children === 'string') {\n text = vnode.children\n } else {\n for (let i = 0; i < vnode.children.length; i++) {\n text += vnode.children[i].text || ''\n }\n }\n if (el.markdown === text) {\n return\n }\n\n el.markdown = text\n el.innerHTML = marked(text)\n let selectorList = el.querySelectorAll('a')\n for (let i = 0; i < selectorList.length; i++) {\n selectorList[i].onclick = function (e) {\n if (e.metaKey || e.ctrlKey || e.shiftKey) {\n return\n }\n if (e.defaultPrevented) {\n return\n }\n if (e.button !== undefined && e.button !== 0) {\n return\n }\n\n if (this.host !== window.location.host) {\n return\n }\n\n let href = this.getAttribute('href')\n if (!href) {\n return\n }\n\n if (href.charAt(0) !== '#') {\n return\n }\n\n e.preventDefault()\n router.push(href)\n }\n }\n },\n beforeUpdate(el, binding, vnode) {\n if (el.classList.contains(\"vue-markdown\")) {\n el.classList.remove(\"vue-markdown\");\n }\n },\n updated(el, binding, vnode) {\n if (!el.className || !/vue-markdown/.test(el.className)) {\n el.className += ' vue-markdown'\n }\n let text = ''\n if (typeof vnode.children === 'string') {\n text = vnode.children\n } else {\n for (let i = 0; i < vnode.children.length; i++) {\n text += vnode.children[i].text || ''\n }\n }\n if (el.markdown === text) {\n return\n }\n\n el.markdown = text\n el.innerHTML = marked(text)\n let selectorList = el.querySelectorAll('a')\n for (let i = 0; i < selectorList.length; i++) {\n selectorList[i].onclick = function (e) {\n if (e.metaKey || e.ctrlKey || e.shiftKey) {\n return\n }\n if (e.defaultPrevented) {\n return\n }\n if (e.button !== undefined && e.button !== 0) {\n return\n }\n\n if (this.host !== window.location.host) {\n return\n }\n\n let href = this.getAttribute('href')\n if (!href) {\n return\n }\n\n if (href.charAt(0) !== '#') {\n return\n }\n\n e.preventDefault()\n router.push(href)\n }\n }\n }\n})\n\n\n\napp.config.globalProperties.$toLocale = function(to) {\n return '/' + i18n.global.locale + to\n}\n\napp.config.globalProperties.$formatSize = function(size) {\n if (size > 1024 * 1024 * 1024 * 1024) {\n return (size / 1024 / 1024 / 1024 / 1024).toFixed(2) + ' TB'\n } else if (size > 1024 * 1024 * 1024) {\n return (size / 1024 / 1024 / 1024).toFixed(2) + ' GB'\n } else if (size > 1024 * 1024) {\n return (size / 1024 / 1024).toFixed(2) + ' MB'\n } else if (size > 1024) {\n return (size / 1024).toFixed(2) + ' KB'\n }\n return size.toString() + ' B'\n}\n\n\n\n// new Vue({\n// store,\n// // router,\n// // i18n,\n// // ...App\n// }).$mount('#app')\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://vue-upload-component//Users/lianyue/Project/vue-upload-component/docs/docs|sync|/^\\.\\/.*\\.md$/","webpack://vue-upload-component/vue-upload-component.js","webpack://vue-upload-component/../src/api/hooks.ts","webpack://vue-upload-component/../src/api/index.ts","webpack://vue-upload-component/../src/const.ts","webpack://vue-upload-component/../src/env.ts","webpack://vue-upload-component/../src/index.ts","webpack://vue-upload-component/./node_modules/css-loader/dist/runtime/api.js","webpack://vue-upload-component/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://vue-upload-component/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://vue-upload-component/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://vue-upload-component/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://vue-upload-component/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://vue-upload-component/./node_modules/vue/dist/vue.runtime.esm-bundler.js","webpack://vue-upload-component/./node_modules/vuex/dist/vuex.cjs.js","webpack://vue-upload-component/./docs/views/App.vue?7146","webpack://vue-upload-component/./docs/views/Document.vue?b4ff","webpack://vue-upload-component/./docs/views/examples/Avatar.vue?c926","webpack://vue-upload-component/./docs/views/examples/Chunk.vue?a071","webpack://vue-upload-component/./docs/views/examples/Chunk.vue?4634","webpack://vue-upload-component/./docs/views/examples/Drag.vue?0bdf","webpack://vue-upload-component/./docs/views/examples/Full.vue?7cde","webpack://vue-upload-component/./docs/views/examples/Multiple.vue?d8d5","webpack://vue-upload-component/./docs/views/examples/Simple.vue?05bc","webpack://vue-upload-component/./docs/views/examples/Typescript.vue?9d7f","webpack://vue-upload-component/./docs/views/examples/Vuex.vue?fb5c","webpack://vue-upload-component/./src/FileUpload.vue?970b","webpack://vue-upload-component/./docs/docs/en.md","webpack://vue-upload-component/./docs/docs/zh-cn.md","webpack://vue-upload-component/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://vue-upload-component/webpack/bootstrap","webpack://vue-upload-component/webpack/runtime/compat get default export","webpack://vue-upload-component/webpack/runtime/define property getters","webpack://vue-upload-component/webpack/runtime/global","webpack://vue-upload-component/webpack/runtime/hasOwnProperty shorthand","webpack://vue-upload-component/webpack/runtime/make namespace object","webpack://vue-upload-component/external \"marked\"","webpack://vue-upload-component/external \"hljs\"","webpack://vue-upload-component/./node_modules/vuex/dist/vuex.mjs","webpack://vue-upload-component/./docs/store.js","webpack://vue-upload-component/./node_modules/vue-router/dist/vue-router.esm-bundler.js","webpack://vue-upload-component/./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack://vue-upload-component/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack://vue-upload-component/./node_modules/@intlify/message-resolver/dist/message-resolver.esm-bundler.js","webpack://vue-upload-component/./node_modules/@intlify/runtime/dist/runtime.esm-bundler.js","webpack://vue-upload-component/./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","webpack://vue-upload-component/./docs/i18n/en.js","webpack://vue-upload-component/./docs/i18n/index.js","webpack://vue-upload-component/./docs/i18n/zh-cn.js","webpack://vue-upload-component/./docs/views/Router.vue?8b4d","webpack://vue-upload-component/./docs/views/Router.vue","webpack://vue-upload-component/./docs/views/Document.vue","webpack://vue-upload-component/./docs/views/Document.vue?cf30","webpack://vue-upload-component/./docs/views/Document.vue?cf40","webpack://vue-upload-component/./docs/views/Example.vue","webpack://vue-upload-component/./docs/views/Example.vue?ff14","webpack://vue-upload-component/./docs/views/examples/Full.vue","webpack://vue-upload-component/external \"Cropper\"","webpack://vue-upload-component/external \"ImageCompressor\"","webpack://vue-upload-component/./docs/views/examples/Full.vue?d888","webpack://vue-upload-component/./docs/views/examples/Full.vue?11ff","webpack://vue-upload-component/./docs/views/examples/Simple.vue","webpack://vue-upload-component/./docs/views/examples/Simple.vue?6ffb","webpack://vue-upload-component/./docs/views/examples/Simple.vue?2dbc","webpack://vue-upload-component/./docs/views/examples/Avatar.vue","webpack://vue-upload-component/./docs/views/examples/Avatar.vue?0ef7","webpack://vue-upload-component/./docs/views/examples/Avatar.vue?fdd5","webpack://vue-upload-component/./docs/views/examples/Drag.vue","webpack://vue-upload-component/./docs/views/examples/Drag.vue?0400","webpack://vue-upload-component/./docs/views/examples/Drag.vue?3826","webpack://vue-upload-component/./docs/views/examples/Multiple.vue","webpack://vue-upload-component/./docs/views/examples/Multiple.vue?10e0","webpack://vue-upload-component/./docs/views/examples/Multiple.vue?41fa","webpack://vue-upload-component/./docs/views/examples/Chunk.vue","webpack://vue-upload-component/./docs/views/examples/Chunk.vue?3865","webpack://vue-upload-component/./docs/views/examples/Chunk.vue?97cd","webpack://vue-upload-component/./docs/views/examples/Chunk.vue?5faa","webpack://vue-upload-component/./docs/views/examples/Vuex.vue","webpack://vue-upload-component/./docs/views/examples/Vuex.vue?c8a4","webpack://vue-upload-component/./docs/views/examples/Vuex.vue?0ee5","webpack://vue-upload-component/./docs/views/examples/Typescript.vue","webpack://vue-upload-component/./src/utils/request.js","webpack://vue-upload-component/./src/FileUpload.vue?7cbe","webpack://vue-upload-component/./src/chunk/ChunkUploadHandler.js","webpack://vue-upload-component/./src/FileUpload.vue?dad4","webpack://vue-upload-component/./src/FileUpload.vue?9d70","webpack://vue-upload-component/./src/FileUpload.vue","webpack://vue-upload-component/./docs/views/examples/Typescript.vue?b7d9","webpack://vue-upload-component/./docs/views/examples/Typescript.vue?735d","webpack://vue-upload-component/./docs/views/examples/Typescript.vue?67ad","webpack://vue-upload-component/./docs/router.js","webpack://vue-upload-component/./docs/views/App.vue","webpack://vue-upload-component/./docs/views/App.vue?062e","webpack://vue-upload-component/./docs/views/App.vue?8096","webpack://vue-upload-component/./docs/entry.js"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","_toConsumableArray","arr","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","from","_iterableToArray","minLen","n","prototype","toString","call","slice","constructor","name","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","length","i","arr2","_ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_typeof","_defineProperties","props","descriptor","_defineProperty","ownKeys","_objectSpread2","createRequest","options","xhr","XMLHttpRequest","open","method","url","responseType","headers","setRequestHeader","request","body","Promise","reject","onload","status","response","JSON","parse","err","onerror","send","stringify","CHUNK_DEFAULT_OPTIONS","action","minSize","maxActive","maxRetries","handler","ChunkUploadHandler","file","instance","Constructor","_classCallCheck","this","chunks","sessionId","chunkSize","speedInterval","protoProps","start","end","fileSize","blob","startOffset","active","retries","progress","stopChunks","chunksUploading","chunk","abort","stopSpeedCalc","startChunking","_this","promise","_this2","assign","startBody","phase","mime_type","fileType","size","fileName","then","res","data","session_id","end_offset","createChunks","catch","maxActiveChunks","uploadNextChunk","startSpeedCalc","hasChunksToUpload","uploadChunk","chunksToUpload","finish","_this3","updateFileProgress","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","FormData","append","sendFormRequest","uploadBody","start_offset","uploaded","_this4","finishBody","_this5","speed","lastUploadedBytes","window","setInterval","uploadedBytes","clearInterval","get","parseInt","type","_this6","completedProgress","chunksUploaded","uploadingProgress","reduce","min","script","defineComponent","inputId","String","default","accept","capture","disabled","multiple","Boolean","maximum","Number","addIndex","directory","createDirectory","postAction","putAction","customAction","Function","timeout","drop","dropDirectory","extensions","RegExp","modelValue","thread","chunkEnabled","emits","files","features","html5","dropActive","uploading","destroy","maps","dropElement","reload","mounted","_this7","input","document","createElement","webkitdirectory","ondrop","$nextTick","$parent","$forceUpdate","watchDrop","beforeUnmount","watchActive","computed","fileObject","error","success","chunkOptions","className","undefined","forId","iMaximum","iExtensions","exts","split","trim","join","replace","watch","_active","oldMaps","newFile","oldFile","emitFile","_key","methods","newId","random","substr","clear","emitInput","add","_files","index","addFiles","Blob","webkitRelativePath","relativePath","Element","el","HTMLInputElement","emitFilter","newFiles","concat","_newFiles","splice","_i","_file","_i2","addInputFile","_this8","entrys","webkitEntries","entries","getFileSystemEntry","names","__vuex__","addDataTransfer","dataTransfer","_dataTransfer$items","_this9","items","entry","dataTransferTtem","getAsEntry","getAsFile","webkitGetAsEntry","maximumValue","_i3","_this10","path","uploadFiles","v","results","isFile","isDirectory","_uploadFiles","File","dirReader","createReader","readEntries","id1","id2","file1","file2","index1","indexOf","index2","remove","console","update","isPrevent","$emit","prevent","_newFile","_this11","setTimeout","_newFile2","message","ceil","search","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","filename","ufile","_this12","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","_file2","complete","fn","responseText","contentType","getResponseHeader","onabort","ontimeout","_this13","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","_file3","removeEventListener","_doc","doc","contentWindow","contentDocument","innerHTML","getResponseData","submit","_iframe$parentNode","parentNode","removeChild","_iframe$parentNode2","newDrop","oldDrop","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","querySelector","$root","$el","_dt$files","_dt$types","dt","types","contains","nodeName","explicitOriginalTarget","fromElement","clientX","clientY","innerWidth","innerHeight","inputOnChange","async","_this14","reinput","css","ref","insertAt","head","getElementsByTagName","style","firstChild","insertBefore","styleSheet","cssText","createTextNode","styleInject","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createBlock","class","renderSlot","$slots","createVNode","for","createCommentVNode","allowdirs","onChange","Hooks","cssWithMappingToString","list","item","content","modules","mediaQuery","dedupe","alreadyImportedModules","_item","_arrayWithHoles","_arr","_n","_d","_e","_s","next","done","_iterableToArrayLimit","_nonIterableRest","cssMapping","btoa","base64","unescape","sourceMapping","sourceURLs","sources","sourceRoot","makeMap","str","expectsLowerCase","create","val","toLowerCase","isGloballyWhitelisted","isSpecialBooleanAttr","normalizeStyle","normalized","isString","parseStringStyle","isObject","listDelimiterRE","propertyDelimiterRE","ret","tmp","normalizeClass","looseEqual","a","b","aValidType","isDate","bValidType","getTime","equal","looseCompareArrays","aHasKey","hasOwnProperty","bHasKey","looseIndexOf","findIndex","toDisplayString","replacer","isMap","isSet","values","isPlainObject","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","isModelListener","startsWith","extend","hasOwn","toTypeString","isFunction","isSymbol","isPromise","objectToString","isIntegerKey","isReservedProp","cacheStringFunction","cache","camelizeRE","camelize","_","c","toUpperCase","hyphenateRE","hyphenate","capitalize","charAt","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","toNumber","parseFloat","isNaN","targetMap","WeakMap","effectStack","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","effect","_isEffect","isEffect","raw","scheduler","includes","cleanup","trackStack","shouldTrack","pop","resetTracking","uid","allowRecurse","deps","createReactiveEffect","lazy","stop","onStop","delete","pauseTracking","last","track","depsMap","set","Map","dep","Set","has","trigger","newValue","oldTarget","effects","effectsToAdd","builtInSymbols","getOwnPropertyNames","createGetter","shallowGet","readonlyGet","shallowReadonlyGet","arrayInstrumentations","isReadonly","shallow","receiver","readonlyMap","reactiveMap","targetIsArray","Reflect","isRef","readonly","reactive","createSetter","toRaw","hadKey","result","args","l","mutableHandlers","deleteProperty","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toReactive","toReadonly","toShallow","getProto","getPrototypeOf","get$1","isShallow","rawTarget","rawKey","wrap","has$1","set$1","deleteEntry","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","targetIsMap","isPair","isKeyOnly","innerIterator","createReadonlyMethod","mutableInstrumentations","shallowInstrumentations","readonlyInstrumentations","createInstrumentationGetter","instrumentations","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","isExtensible","rawType","targetTypeMap","toRawType","proxy","Proxy","isReactive","isProxy","markRaw","convert","r","__v_isRef","createRef","shallowRef","RefImpl","_rawValue","_shallow","_value","newVal","rawValue","triggerRef","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","_get","_set","customRef","toRefs","toRef","ObjectRefImpl","_object","ComputedRefImpl","getter","_setter","_dirty","stack","warn","msg","component","appWarnHandler","appContext","config","warnHandler","trace","currentVNode","normalizedStack","vnode","recurseCount","parentInstance","parent","getComponentTrace","callWithErrorHandling","formatComponentName","warnArgs","logs","postfix","isRoot","close","formatProps","formatTraceEntry","formatTrace","formatProp","handleError","callWithAsyncErrorHandling","throwInDev","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","errorHandler","contextVNode","logError","isFlushing","isFlushPending","queue","flushIndex","pendingPreFlushCbs","activePreFlushCbs","preFlushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","currentPreFlushParentJob","nextTick","p","bind","queueJob","job","queueFlush","flushJobs","queueCb","cb","activeQueue","pendingQueue","queuePostFlushCb","flushPreFlushCbs","seen","parentJob","flushPostFlushCbs","deduped","sort","getId","Infinity","devtools","setDevtoolsHook","hook","devtoolsComponentAdded","createDevtoolsComponentHook","devtoolsComponentUpdated","devtoolsComponentRemoved","emit","app","event","rawArgs","modelArg","modifiersKey","number","params","devtoolsComponentEmit","handlerName","onceHandler","emitted","normalizeEmitsOptions","comp","asMixin","deopt","__emits","hasExtends","extendEmits","mixins","extends","isEmitListener","currentRenderingInstance","setCurrentRenderingInstance","renderComponentRoot","Component","withProxy","propsOptions","slots","attrs","renderCache","setupState","ctx","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","getFunctionalFallthrough","root","inheritAttrs","some","filterModelListeners","cloneVNode","dirs","transition","Comment","hasPropsChanged","prevProps","nextProps","emitsOptions","nextKeys","updateHOCHostEl","subTree","Suspense","__isSuspense","process","n1","n2","container","anchor","parentComponent","parentSuspense","isSVG","optimized","rendererInternals","patch","hiddenContainer","suspense","createSuspenseBoundary","pendingBranch","ssContent","ssFallback","setActiveBranch","mountSuspense","um","unmount","newBranch","newFallback","activeBranch","isInFallback","isHydrating","isSameVNodeType","pendingId","onPending","fallback","patchSuspense","hydrate","node","hydrateNode","m","move","isUnmounted","resume","delayEnter","mode","afterLeave","hasUnresolvedAncestor","onResolve","fallbackVNode","onFallback","mountFallback","registerDep","setupRenderEffect","isInPendingSuspense","hydratedEl","asyncDep","asyncSetupResult","suspenseId","asyncResolved","handleSetupResult","placeholder","doRemove","normalizeSuspenseSlot","s","children","singleRoot","child","isVNode","filterSingleRoot","queueEffectWithSuspense","branch","isRenderingCompiledSlot","setCompiledSlotRendering","slot","validSlotContent","ensureValidVNode","rendered","Fragment","vnodes","withCtx","renderFnWithContext","owner","closeBlock","_c","currentScopeId","scopeIdStack","pushScopeId","popScopeId","withScopeId","setFullProps","rawProps","needCastKeys","camelKey","rawCurrentProps","resolvePropValue","opt","hasDefault","defaultValue","setCurrentInstance","normalizePropsOptions","__props","extendProps","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","stringIndex","getType","ctor","match","isSameType","expectedTypes","injectHook","currentInstance","prepend","hooks","wrappedHook","__weh","unshift","createHook","lifecycle","isInSSRComponentSetup","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","onRenderTriggered","onRenderTracked","onErrorCaptured","watchEffect","doWatch","INITIAL_WATCHER_VALUE","immediate","deep","flush","onTrack","onTrigger","forceTrigger","traverse","onInvalidate","baseGetter","runner","queuePostRenderEffect","isMounted","queuePreFlushCb","recordInstanceBoundEffect","instanceWatch","publicThis","useTransitionState","state","isLeaving","isUnmounting","leavingVNodes","TransitionHookValidator","BaseTransition","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","setup","getCurrentInstance","prevTransitionKey","getTransitionRawChildren","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","leavingHooks","delayLeave","earlyRemove","delayedLeave","getLeavingNodesForType","_leaveCb","leavingVNodesCache","callHook","beforeEnter","leavingVNode","enter","afterHook","cancelHook","called","_enterCb","cancelled","leave","clone","isKeepAlive","keepComment","keyedFragmentCount","patchFlag","__isKeepAlive","KeepAlive","inheritRef","include","exclude","max","current","sharedContext","renderer","_unmount","storageContainer","resetShapeFlag","pruneCache","getName","pruneCacheEntry","cached","activate","isDeactivated","vnodeHook","onVnodeMounted","invokeVNodeHook","deactivate","da","onVnodeUnmounted","matches","pendingCacheKey","cacheSubtree","getInnerChild","rawVNode","cachedVNode","displayName","pattern","onActivated","registerKeepAliveHook","onDeactivated","__wdc","injectToKeepAliveRoot","keepAliveRoot","injected","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","withDirectives","directives","bindings","dir","modifiers","updated","invokeDirectiveHook","prevVNode","oldBindings","binding","createAppContext","isNativeTag","performance","globalProperties","optionMergeStrategies","isCustomElement","components","provides","createAppAPI","rootComponent","rootProps","context","installedPlugins","_uid","_component","_props","_container","_context","version","use","plugin","install","mixin","directive","mount","rootContainer","isHydrate","__vue_app__","Text","Static","devtoolsInitApp","devtoolsUnmountApp","provide","hasMismatch","isSVGContainer","namespaceURI","tagName","isComment","nodeType","createHydrationFunctions","mt","mountComponent","patchProp","nextSibling","insert","createComment","isFragmentStart","onMismatch","handleMismatch","domType","nextNode","needToAdoptContent","staticCount","outerHTML","hydrateFragment","hydrateElement","hydrateComponent","loadAsync","__asyncLoader","locateClosingAsyncAnchor","hydrateChildren","setRef","dynamicChildren","onClick","vnodeHooks","onVnodeBeforeMount","textContent","parentVNode","isFragment","defineAsyncComponent","loader","loadingComponent","errorComponent","delay","suspensible","onError","userOnError","resolvedComp","pendingRequest","load","thisRequest","__esModule","toStringTag","createInnerComp","delayed","prodEffectOptions","rawRef","oldRawRef","exposed","oldRef","refs","doSet","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","forcePatchProp","hostForcePatchProp","hostCreateElement","createText","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","cloneNode","hostCloneNode","insertStaticContent","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","internals","mountElement","patchElement","scopeId","is","mountChildren","unmountChildren","needCallTransitionHooks","treeOwnerId","__scopeId","cloneIfMounted","oldProps","newProps","onVnodeBeforeUpdate","patchProps","propsToUpdate","dynamicProps","prev","areChildrenSVG","patchBlockChildren","patchChildren","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","traverseStaticChildren","updateComponent","initialVNode","emptyAppContext","uid$1","accessCache","setupContext","bc","bm","bu","u","bum","rtg","rtc","createComponentInstance","isSSR","isStateful","InternalObjectKey","initProps","initSlots","PublicInstanceProxyHandlers","createSetupContext","setupResult","resolvedResult","finishComponentSetup","setupStatefulComponent","setupComponent","nextVNode","prevChildren","nextChildren","$stable","shouldUpdateComponent","updateComponentPreRender","invalidateJob","originNext","nextTree","prevTree","rawPrevProps","kebabKey","camelizedKey","updateProps","needDeletionCheck","deletionComparisonTarget","updateSlots","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","newLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","arrI","getSequence","nextIndex","moveType","performLeave","moveStaticNode","shouldInvokeDirs","onVnodeBeforeUnmount","unmountComponent","isTeleportDisabled","removeFragment","removeStaticNode","performRemove","_vnode","mc","pc","pbc","createApp","ch1","ch2","isTargetSVG","SVGElement","resolveTarget","select","targetSelector","to","moveTeleport","targetAnchor","isReorder","Teleport","__isTeleport","mainAnchor","wasDisabled","currentContainer","currentAnchor","nextTarget","targetNode","_lpa","COMPONENTS","resolveComponent","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","resolveDirective","warnMissing","selfName","registry","blockStack","currentBlock","disableTracking","vnodeArgsTransformer","setBlockTracking","__v_isVNode","transformVNodeArgs","transformer","normalizeKey","normalizeRef","isBlockNode","cloned","normalizeChildren","__vccOpts","klass","isSuspense","isTeleport","normalizeSuspenseChildren","extraProps","mergeRef","mergedProps","mergeProps","createTextVNode","text","flag","createStaticVNode","numberOfNodes","asBlock","slotFlag","toMerge","existing","incoming","parentProvides","inject","treatDefaultAsFactory","isInBeforeCreate","applyOptions","deferredData","deferredWatch","deferredProvide","extendsOptions","dataOptions","computedOptions","watchOptions","provideOptions","injectOptions","beforeMount","beforeUpdate","activated","deactivated","beforeDestroy","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","expose","globalMixins","callSyncHook","applyMixins","methodHandler","dataFn","resolveData","createWatcher","callHookFromMixins","base","callHookFromExtends","selfHook","baseHook","chainedMixins","segments","createPathGetter","mergeOptions","strats","getPublicInstance","publicPropertiesMap","$","$attrs","$refs","__merged","resolveMergedOptions","$watch","normalizedProps","publicGetter","cssModule","__cssModules","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","compile","devtoolsRawSetupState","registerRuntimeCompiler","_compile","template","delimiters","_rc","classifyRE","__file","inferFromRegistry","getterOrOptions","setter","computed$1","defineProps","defineEmit","useContext","h","propsOrChildren","ssrContextKey","useSSRContext","initCustomFormatter","renderList","renderItem","toHandlers","createSlots","dynamicSlots","ssrUtils","svgNS","tempContainer","tempSVGContainer","nodeOps","tag","createElementNS","nodeValue","selector","temp","first","importantRE","setStyle","setProperty","prefixed","rawName","prefixCache","prefixes","autoPrefix","xlinkNS","_getNow","createEvent","timeStamp","cachedNow","reset","optionsModifierRE","nativeOnRE","useCssModule","useCssVars","setVars","setVarsOnVNode","vars","TRANSITION","ANIMATION","Transition","resolveTransitionProps","DOMTransitionPropsValidators","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","baseProps","durations","NumberOf","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","cachedTransition","transitionProperty","cls","classList","_vtc","requestAnimationFrame","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","d","toMs","positionMap","newPositionMap","TransitionGroup","moveClass","display","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","offsetHeight","transform","webkitTransform","transitionDuration","_moveCb","propertyName","cssTransitionProps","getBoundingClientRect","oldPos","newPos","dx","left","dy","top","getModelAssigner","onCompositionStart","composing","onCompositionEnd","initEvent","dispatchEvent","vModelText","created","_assign","castToNumber","domValue","activeElement","vModelCheckbox","_modelValue","elementValue","getValue","checked","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","setSelected","_binding","isMultiple","option","optionValue","selectedIndex","vModelDynamic","callModelHook","modelToUse","systemModifiers","modifierGuards","stopPropagation","self","currentTarget","ctrl","ctrlKey","shift","shiftKey","alt","altKey","meta","metaKey","button","middle","right","exact","withModifiers","guard","keyNames","esc","space","up","down","withKeys","eventKey","k","vShow","_vod","setDisplay","rendererOptions","prevValue","nextValue","transitionClasses","patchClass","removeAttribute","patchStyle","invokers","_vei","existingInvoker","parseName","initialValue","invoker","attached","originalStop","stopImmediatePropagation","_stopped","patchStopImmediatePropagation","createInvoker","patchEvent","shouldSetAsProp","patchDOMProp","_trueValue","_falseValue","removeAttributeNS","setAttributeNS","isBoolean","patchAttr","enabledHydration","ensureRenderer","ensureHydrationRenderer","containerOrSelector","normalizeContainer","createSSRApp","vue","require","storeKey","devtoolHook","global","__VUE_DEVTOOLS_GLOBAL_HOOK__","deepCopy","f","hit","original","copy","forEachValue","Module","rawModule","runtime","_children","_rawModule","rawState","prototypeAccessors","namespaced","addChild","getChild","hasChild","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","targetModule","newModule","getNamespace","namespace","this$1","rawChildModule","unregister","isRegistered","Store","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_makeLocalGettersCache","store","dispatch","commit","payload","installModule","resetStoreState","_devtoolHook","on","targetState","replaceState","subscribe","mutation","subscribeAction","devtoolPlugin","prototypeAccessors$1","genericSubscribe","subs","resetStore","hot","oldState","_state","wrappedGetters","computedObj","partial","enableStrictMode","_withCommit","rootState","parentState","getNestedState","moduleName","local","noNamespace","_type","_payload","_options","unifyObjectStyle","gettersProxy","splitPos","localType","makeLocalGetters","makeLocalContext","registerMutation","rootGetters","registerAction","rawGetter","registerGetter","injectKey","$store","sub","before","all","after","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","isValidMap","helper","startMessage","logger","collapsed","groupCollapsed","group","log","endMessage","groupEnd","getFormattedTime","time","pad","getHours","getMinutes","getSeconds","getMilliseconds","num","maxLength","times","index_cjs","createStore","useStore","createNamespacedHelpers","createLogger","stateBefore","stateAfter","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","prevState","nextState","formattedTime","formattedMutation","formattedAction","___CSS_LOADER_EXPORT___","memo","getTarget","styleTarget","HTMLIFrameElement","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","count","media","sourceMap","references","updater","addStyle","insertStyleElement","attributes","nonce","textStore","replaceText","replacement","applyToSingletonTag","cssNode","childNodes","applyToTag","singleton","singletonCounter","styleIndex","removeStyleElement","newObj","atob","lastIdentifiers","newList","newLastIdentifiers","_index","__webpack_module_cache__","moduleId","__webpack_modules__","definition","g","globalThis","marked","hljs","updateFiles","hasSymbol","PolySymbol","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","isBrowser","applyToParams","newParams","noop","TRAILING_SLASH_RE","parseURL","parseQuery","location","currentLocation","query","searchString","hash","searchPos","hashPos","fromSegments","toSegments","toPosition","segment","position","resolveRelativePath","fullPath","stripBase","pathname","isSameRouteRecord","aliasOf","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","every","NavigationType","NavigationDirection","BEFORE_HASH_RE","createHref","computeScrollPosition","pageXOffset","pageYOffset","getScrollKey","delta","history","scrollPositions","createBaseLocation","protocol","host","createCurrentLocation","pathFromHash","buildState","back","forward","replaced","computeScroll","scroll","isRouteName","START_LOCATION_NORMALIZED","matched","redirectedFrom","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","sensitive","REGEX_CHARS_RE","compareScoreArray","diff","comparePathParserScore","aScore","score","bScore","ROOT_TOKEN","VALID_PARAM_RE","createRouteRecordMatcher","record","parser","extraOptions","segmentScores","tokenIndex","token","subSegmentScore","repeatable","optional","regexp","re","subPattern","avoidDuplicatedSlash","endsWith","param","tokensToParser","crash","buffer","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","tokenizePath","matcher","alias","normalizeRecordProps","propsObject","isAliasRecord","mergeMetaFields","defaults","partialOptions","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeURI","encodeQueryValue","encodeParam","encodePath","decode","decodeURIComponent","searchParams","searchParam","eqPos","currentValue","stringifyQuery","normalizeQuery","normalizedQuery","useCallbacks","handlers","guardToPromiseFn","enterCallbackArray","enterCallbacks","valid","route","guardReturn","instances","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolved","resolvedComponent","RouterLink","required","activeClass","exactActiveClass","custom","ariaCurrentValue","link","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","isActive","outer","inner","innerValue","outerValue","includesParams","isExactActive","href","navigate","defaultPrevented","getAttribute","guardEvent","useLink","elClass","getLinkClass","linkActiveClass","linkExactActiveClass","propClass","globalClass","defaultClass","slotContent","RouterView","injectedRoute","routeToDisplay","depth","matchedRouteRef","viewRef","oldInstance","oldName","leaveGuards","updateGuards","matchedRoute","ViewComponent","currentName","routePropsOption","routeProps","commonjsGlobal","createCommonjsModule","basedir","commonjsRequire","env","navigator","_const","ApiHookEvents","api","api$1","__createBinding","k2","__exportStar","lib","setupDevtoolsPlugin","pluginDescriptor","setupFn","SETUP_DEVTOOLS_PLUGIN","__VUE_DEVTOOLS_PLUGINS__","formatRouteLocation","routeLocation","tooltip","rest","_custom","readOnly","formatDisplay","routerId","addDevtools","label","inspectComponent","instanceData","editable","refreshRoutesView","notifyComponentUpdate","sendInspectorTree","routerInspectorId","navigationsLayerId","addTimelineLayer","color","addTimelineEvent","layerId","logType","beforeEach","afterEach","failure","activeRoutesPayload","routes","getRoutes","resetMatchStateOnRouteRecord","isRouteMatching","markRouteRecordActive","rootNodes","formatRouteRecordForInspector","addInspector","icon","treeFilterPlaceholder","getInspectorTree","inspectorId","getInspectorState","find","__vd_id","nodeId","formatRouteRecordMatcherForStateInspector","sendInspectorState","fields","modifierForKey","redirect","tags","textColor","backgroundColor","__vd_match","__vd_exactActive","__vd_active","routeRecordId","EXTRACT_REGEXP_RE","childRoute","decodedPath","runGuardQueue","makeSymbol","isNumber","isFinite","isRegExp","isEmptyObject","_globalThis","getGlobalThis","escapeHtml","rawText","createCompileError","loc","optinos","domain","messages","SyntaxError","defaultOnError","createLocation","CHAR_SP","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","_buf","_line","_column","_peekOffset","isCRLF","isPS","isLS","offset","isLF","line","column","peekOffset","currentChar","currentPeek","peek","resetPeek","skipToPeek","EOF","createTokenizer","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","emitError","pos","getToken","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","charCodeAt","isPluralStart","isTextStart","hasSpace","detectModulo","takeChar","takeIdentifierChar","takeDigit","takeHexDigit","getDigits","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLeteral","readToken","isNamedIdentifierStart","readNamedIdentifier","isNumberStart","isListIdentifierStart","readListIdentifier","isLiteralStart","literal","x","readLiteral","closure","readInvalidIdentifier","isLinkedDotStart","isLinkedDelimiterStart","isLinkedModifierStart","readLinkedModifier","isLinkedReferStart","detect","readLinkedRefer","readText","nextToken","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","fromCodePoint","createParser","tokenzer","startNode","endNode","parseText","tokenizer","parseList","parseNamed","parseLiteral","parseLinked","linkedNode","modifier","parseLinkedModifier","parseLinkedKey","parseMessage","msgNode","hasEmptyMessage","cases","parsePlural","parseResource","traverseNodes","nodes","traverseNode","generateNode","generator","generateResource","indent","deindent","generatePluralNode","generateMessageNode","generateLinkedNode","baseCompile","ast","helpers","createTransformer","indentLevel","_newline","repeat","withoutNewLine","newline","createCodeGenerator","toJSON","generate","pathStateMachine","[","literalValueRE","getPathCharType","newChar","typeMap","subPathDepth","maybeUnescapeQuote","nextChar","trimmed","exp","stripQuotes","formatSubPath","resolveValue","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","abs","_compiler","handleMissing","locale","missingWarn","missing","onWarn","getLocaleChain","__localeChainCache","chain","block","appendBlockToChain","blocks","follow","appendLocaleToChain","appendItemToChain","updateFallbackLocale","defaultOnCacheKey","compileCache","createCoreError","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","fallbackFormat","postTranslation","unresolving","fallbackLocale","parseTranslateArgs","escapeParameter","fallbackWarn","defaultMsgOrKey","enableDefaultMsg","named","escapeParams","format","targetLocale","locales","missingRet","resolveMessageFormat","cacheBaseKey","occured","compileMessasgeFormat","messaged","msgCtx","evaluateMessage","pluralIndex","getPluralIndex","pluralRule","pluralRules","orgPluralRule","_list","_named","normalizeNamed","normalize","processor","interpolate","createMessageContext","ctxOptions","getMessageContextOptions","errorDetector","messageCompiler","warnHtmlMessage","onCacheKey","friendlyJSONstringify","json","generateFormatCacheKey","getCompileOptions","arg1","arg2","arg3","intlDefined","Intl","datetime","datetimeFormats","__datetimeFormatters","orverrides","parseDateTimeArgs","part","DateTimeFormat","datetimeFormat","formatter","formatToParts","arg4","toISOString","clearDateTimeFormat","numberFormats","__numberFormatters","parseNumberArgs","NumberFormat","numberFormat","clearNumberFormat","DevToolsLabels","DevToolsPlaceholders","DevToolsTimelineColors","DevToolsTimelineLayerMaps","createEmitter","events","off","devtoolsApi","makeScopeInspectState","composer","localeType","localeStates","availableLocales","inheritLocale","localeMessagesType","localeMessagesStates","datetimeFormatsType","datetimeFormatsStates","numberFormatsType","numberFormatsStates","createI18nError","TransrateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","EnableEmitter","DisableEmitter","composerID","defineCoreMissingHandler","getLocaleMessages","__i18n","functions","compiled","targetLocaleMessage","paths","addPreCompileMessages","destination","createComposer","__root","_isGlobal","_inheritLocale","_locale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","getCoreContext","internalOptions","upper","lower","toLocaleUpperCase","createCoreContext","__emitter","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","getLocaleMessage","t","te","tm","setLocaleMessage","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","createVueI18n","silentTranslationWarn","silentFallbackWarn","formatFallbackMessages","pluralizationRules","warnHtmlInMessage","escapeParameterHtml","sync","sharedMessages","convertComposerOptions","vueI18n","__composer","tc","getChoiceIndex","__onComponentInstanceCreated","componentInstanceCreatedListener","baseFormatProps","scope","validator","Translation","keypath","i18n","useI18n","useScope","getInterpolateArg","renderFormatter","slotKeys","partFormatter","parts","NUMBER_FORMAT_KEYS","DATETIME_FORMAT_KEYS","DatetimeFormat","mergeToRoot","optoins","__VUE_I18N_SYMBOL__","__i18nGlobal","i18nInternal","__getInstance","getComposer$1","composerOptions","emitter","__INTLIFY_PROD_DEVTOOLS__","__INTLIFY__","_composer","__deleteInstance","setupLifeCycle","__setInstance","globalExportProps","globalExportMethods","needWarn","__VUE_I18N_FULL_INSTALL__","__VUE_I18N_LEGACY_API__","initFeatureFlags","__legacyMode","legacy","__globalInjection","globalInjection","__instances","__global","symbol","__VUE_I18N__","desc","$i18n","injectGlobalFields","pluginOptions","useI18nComponentName","globalInstall","getComposer","parsedValue","parseValue","makeParams","vTDirective","vuei18n","beforeCreate","optionsI18n","$t","$tc","$te","$d","$n","$tm","_vueI18n","__enableEmitter","__disableEmitter","defineMixin","componentInstance","inspectComposer","keyInstance","registerScope","inspectScope","enableDevTools","header","logo","home","examples","documents","blog","issues","github","en","title","example","full","simple","avatar","drag","typescript","role","$route","scrollTo","offsetTop","navs","navPrev","rootNode","level","nav","active-class","$toLocale","aria-hidden","colspan","Cropper","ImageCompressor","FileUpload","autoCompress","uploadAuto","isOption","addData","show","editFile","editImage","cropper","autoCrop","inputFilter","convertSize","maxWidth","maxHeight","compress","URL","webkitURL","createObjectURL","thumb","img","Image","height","width","οnerrοr","inputFile","alert","onEditFileShow","onEditorFile","binStr","getCroppedCanvas","toDataURL","Uint8Array","onAddFolder","click","onchange","onAddData","$formatSize","post-action","put-action","create-directory","drop-directory","add-index","tabindex","rows","rotate","crop","edit","aspectRatio","viewMode","editSave","files1","files2","input-id","upload1","upload2","chunkMinSize","chunkMaxActive","chunkMaxRetries","pause","chunk-enabled","inputUpdate","FullExampleComponent","SimpleExampleComponent","AvatarExampleComponent","DragExampleComponent","MultipleExampleComponent","ChunkExampleComponent","VuexExampleComponent","globalOptions","matchers","matcherMap","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","originalMatcher","normalizedRecord","parentPath","connectingSlash","removeRoute","insertMatcher","matcherRef","paramsFromLocation","parentMatcher","getRecordMatcher","createRouterMatcher","parseQuery$1","stringifyQuery$1","routerHistory","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","scrollBehavior","scrollRestoration","normalizeParams","paramValue","encodeParams","decodeParams","rawLocation","locationNormalized","matcherLocation","stringifyURL","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","newTargetLocation","targetLocation","force","shouldRedirect","toLocation","aLastIndex","bLastIndex","isSameRouteLocation","handleScroll","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","leavingRecords","updatingRecords","enteringRecords","recordFrom","recordTo","extractChangingRecords","reverse","canceledNavigationCheck","isPush","isFirstNavigation","markAsReady","removeHistoryListener","ready","readyHandlers","errorHandlers","listen","_from","info","scrollPosition","go","getSavedScrollPosition","scrollToOptions","positionEl","isIdSelector","getElementById","docRect","documentElement","elRect","behavior","getElementPosition","scrollToPosition","started","installedApps","parentOrRoute","recordMatcher","hasRoute","routeMatcher","beforeResolve","isReady","$router","reactiveRoute","unmountApp","createRouter","historyNavigation","historyState","changeLocation","hashIndex","currentState","useHistoryStateNavigation","baseEl","normalizeBase","historyListeners","listeners","teardowns","pauseState","popStateHandler","fromState","listener","direction","unknown","beforeUnloadListener","pauseListeners","teardown","useHistoryListeners","triggerListeners","createWebHistory","savedPosition","y","RouterComponent","DocumentComponent","ExampleComponent","rel","showLocale","showNav","onLocale","Renderer","headerPrefix","gfm","tables","breaks","pedantic","sanitize","smartLists","smartypants","highlight","lang","highlightjs","App","markdown","selectorList","querySelectorAll","onclick"],"mappings":"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","file":"docs/dist/docs.js","sourcesContent":["var map = {\n\t\"./en.md\": 512,\n\t\"./zh-cn.md\": 819\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 635;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { _ownKeys(Object(source), true).forEach(function (key) { _defineProperty2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { defineComponent, openBlock, createBlock, renderSlot, createVNode, createCommentVNode } from 'vue';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\nvar createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n};\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\nvar sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n};\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\nvar sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n};\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\nfunction request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n}\n\nvar ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"createChunks\",\n\n /**\n * Creates all the chunks in the initial state\n */\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this2.file.response = res;\n return _this2.reject('server');\n }\n\n _this2.sessionId = res.data.session_id;\n _this2.chunkSize = res.data.end_offset;\n\n _this2.createChunks();\n\n _this2.startChunking();\n }).catch(function (res) {\n _this2.file.response = res;\n\n _this2.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this3 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n }\n\n _this3.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n\n return _this3.reject('upload');\n }\n\n _this3.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this4 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this4.file.response = res;\n\n if (res.status !== 'success') {\n return _this4.reject('server');\n }\n\n _this4.resolve(res);\n }).catch(function (res) {\n _this4.file.response = res;\n\n _this4.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this5 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this5.progress / 100 * _this5.fileSize;\n _this5.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }, {\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this6 = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this6.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n }]);\n\n return ChunkUploadHandler;\n}();\n\nvar CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n};\nvar script = defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\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 timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive() {\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(addFiles));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n var maximumValue = this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n entry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + entry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + entry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = entry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + entry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions) {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size) {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // @ts-ignore\n\n\n form.append(this.name, file.file, file.file.name || file.file.filename || file.name);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDragenter, false);\n document.removeEventListener('dragleave', this.onDragleave, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n // @ts-ignore\n el = this.$parent.$el;\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDragenter, false);\n document.addEventListener('dragleave', this.onDragleave, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n onDragenter: function onDragenter(e) {\n var _dt$files, _dt$types;\n\n e.preventDefault();\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n },\n onDragleave: function onDragleave(e) {\n e.preventDefault();\n\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target.nodeName === 'HTML' || e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n }\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n var target = e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"span\", {\n class: _ctx.className\n }, [renderSlot(_ctx.$slots, \"default\"), createVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, [\"for\"]), !_ctx.reload ? (openBlock(), createBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.directory && _ctx.features.directory,\n allowdirs: _ctx.directory && _ctx.features.directory,\n directory: _ctx.directory && _ctx.features.directory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[1] || (_cache[1] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"])) : createCommentVNode(\"\", true)], 2);\n}\n\nfunction styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input, .file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input, .file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\";\nstyleInject(css_248z);\nscript.render = render;\nexport default script;\n//# sourceMappingURL=vue-upload-component.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Hooks = void 0;\nvar Hooks;\n(function (Hooks) {\n Hooks[\"TRANSFORM_CALL\"] = \"transformCall\";\n Hooks[\"GET_APP_RECORD_NAME\"] = \"getAppRecordName\";\n Hooks[\"GET_APP_ROOT_INSTANCE\"] = \"getAppRootInstance\";\n Hooks[\"REGISTER_APPLICATION\"] = \"registerApplication\";\n Hooks[\"WALK_COMPONENT_TREE\"] = \"walkComponentTree\";\n Hooks[\"WALK_COMPONENT_PARENTS\"] = \"walkComponentParents\";\n Hooks[\"INSPECT_COMPONENT\"] = \"inspectComponent\";\n Hooks[\"GET_COMPONENT_BOUNDS\"] = \"getComponentBounds\";\n Hooks[\"GET_COMPONENT_NAME\"] = \"getComponentName\";\n Hooks[\"GET_ELEMENT_COMPONENT\"] = \"getElementComponent\";\n Hooks[\"GET_INSPECTOR_TREE\"] = \"getInspectorTree\";\n Hooks[\"GET_INSPECTOR_STATE\"] = \"getInspectorState\";\n})(Hooks = exports.Hooks || (exports.Hooks = {}));\n//# sourceMappingURL=hooks.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./api\"), exports);\n__exportStar(require(\"./app\"), exports);\n__exportStar(require(\"./component\"), exports);\n__exportStar(require(\"./context\"), exports);\n__exportStar(require(\"./hooks\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApiHookEvents = void 0;\nvar ApiHookEvents;\n(function (ApiHookEvents) {\n ApiHookEvents[\"SETUP_DEVTOOLS_PLUGIN\"] = \"devtools-plugin:setup\";\n})(ApiHookEvents = exports.ApiHookEvents || (exports.ApiHookEvents = {}));\n//# sourceMappingURL=const.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hook = exports.target = exports.isBrowser = void 0;\nexports.isBrowser = typeof navigator !== 'undefined';\nexports.target = exports.isBrowser\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nexports.hook = exports.target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n//# sourceMappingURL=env.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setupDevtoolsPlugin = void 0;\nconst env_1 = require(\"./env\");\nconst const_1 = require(\"./const\");\n__exportStar(require(\"./api\"), exports);\nfunction setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n if (env_1.hook) {\n env_1.hook.emit(const_1.ApiHookEvents.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn);\n }\n else {\n const list = env_1.target.__VUE_DEVTOOLS_PLUGINS__ = env_1.target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor,\n setupFn\n });\n }\n}\nexports.setupDevtoolsPlugin = setupDevtoolsPlugin;\n//# sourceMappingURL=index.js.map","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === 'function') {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n};","/**\r\n * Make a map and return a function for checking if a key\r\n * is in that map.\r\n * IMPORTANT: all calls of this function must be prefixed with\r\n * \\/\\*#\\_\\_PURE\\_\\_\\*\\/\r\n * So that rollup can tree-shake them if necessary.\r\n */\r\nfunction makeMap(str, expectsLowerCase) {\r\n const map = Object.create(null);\r\n const list = str.split(',');\r\n for (let i = 0; i < list.length; i++) {\r\n map[list[i]] = true;\r\n }\r\n return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];\r\n}\n\n/**\r\n * dev only flag -> name mapping\r\n */\r\nconst PatchFlagNames = {\r\n [1 /* TEXT */]: `TEXT`,\r\n [2 /* CLASS */]: `CLASS`,\r\n [4 /* STYLE */]: `STYLE`,\r\n [8 /* PROPS */]: `PROPS`,\r\n [16 /* FULL_PROPS */]: `FULL_PROPS`,\r\n [32 /* HYDRATE_EVENTS */]: `HYDRATE_EVENTS`,\r\n [64 /* STABLE_FRAGMENT */]: `STABLE_FRAGMENT`,\r\n [128 /* KEYED_FRAGMENT */]: `KEYED_FRAGMENT`,\r\n [256 /* UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`,\r\n [512 /* NEED_PATCH */]: `NEED_PATCH`,\r\n [1024 /* DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`,\r\n [2048 /* DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`,\r\n [-1 /* HOISTED */]: `HOISTED`,\r\n [-2 /* BAIL */]: `BAIL`\r\n};\n\n/**\r\n * Dev only\r\n */\r\nconst slotFlagsText = {\r\n [1 /* STABLE */]: 'STABLE',\r\n [2 /* DYNAMIC */]: 'DYNAMIC',\r\n [3 /* FORWARDED */]: 'FORWARDED'\r\n};\n\nconst GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\r\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\r\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl';\r\nconst isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED);\n\nconst range = 2;\r\nfunction generateCodeFrame(source, start = 0, end = source.length) {\r\n const lines = source.split(/\\r?\\n/);\r\n let count = 0;\r\n const res = [];\r\n for (let i = 0; i < lines.length; i++) {\r\n count += lines[i].length + 1;\r\n if (count >= start) {\r\n for (let j = i - range; j <= i + range || end > count; j++) {\r\n if (j < 0 || j >= lines.length)\r\n continue;\r\n const line = j + 1;\r\n res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);\r\n const lineLength = lines[j].length;\r\n if (j === i) {\r\n // push underline\r\n const pad = start - (count - lineLength) + 1;\r\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\r\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\r\n }\r\n else if (j > i) {\r\n if (end > count) {\r\n const length = Math.max(Math.min(end - count, lineLength), 1);\r\n res.push(` | ` + '^'.repeat(length));\r\n }\r\n count += lineLength + 1;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return res.join('\\n');\r\n}\n\n/**\r\n * On the client we only need to offer special cases for boolean attributes that\r\n * have different names from their corresponding dom properties:\r\n * - itemscope -> N/A\r\n * - allowfullscreen -> allowFullscreen\r\n * - formnovalidate -> formNoValidate\r\n * - ismap -> isMap\r\n * - nomodule -> noModule\r\n * - novalidate -> noValidate\r\n * - readonly -> readOnly\r\n */\r\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\r\nconst isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs);\r\n/**\r\n * The full list is needed during SSR to produce the correct initial markup.\r\n */\r\nconst isBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs +\r\n `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,` +\r\n `loop,open,required,reversed,scoped,seamless,` +\r\n `checked,muted,multiple,selected`);\r\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\r\nconst attrValidationCache = {};\r\nfunction isSSRSafeAttrName(name) {\r\n if (attrValidationCache.hasOwnProperty(name)) {\r\n return attrValidationCache[name];\r\n }\r\n const isUnsafe = unsafeAttrCharRE.test(name);\r\n if (isUnsafe) {\r\n console.error(`unsafe attribute name: ${name}`);\r\n }\r\n return (attrValidationCache[name] = !isUnsafe);\r\n}\r\nconst propsToAttrMap = {\r\n acceptCharset: 'accept-charset',\r\n className: 'class',\r\n htmlFor: 'for',\r\n httpEquiv: 'http-equiv'\r\n};\r\n/**\r\n * CSS properties that accept plain numbers\r\n */\r\nconst isNoUnitNumericStyleProp = /*#__PURE__*/ makeMap(`animation-iteration-count,border-image-outset,border-image-slice,` +\r\n `border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,` +\r\n `columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,` +\r\n `grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,` +\r\n `grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,` +\r\n `line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,` +\r\n // SVG\r\n `fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,` +\r\n `stroke-miterlimit,stroke-opacity,stroke-width`);\r\n/**\r\n * Known attributes, this is used for stringification of runtime static nodes\r\n * so that we don't stringify bindings that cannot be set from HTML.\r\n * Don't also forget to allow `data-*` and `aria-*`!\r\n * Generated from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes\r\n */\r\nconst isKnownAttr = /*#__PURE__*/ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,` +\r\n `autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,` +\r\n `border,buffered,capture,challenge,charset,checked,cite,class,code,` +\r\n `codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,` +\r\n `coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,` +\r\n `disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,` +\r\n `formaction,formenctype,formmethod,formnovalidate,formtarget,headers,` +\r\n `height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,` +\r\n `ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,` +\r\n `manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,` +\r\n `open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,` +\r\n `referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,` +\r\n `selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,` +\r\n `start,step,style,summary,tabindex,target,title,translate,type,usemap,` +\r\n `value,width,wrap`);\n\nfunction normalizeStyle(value) {\r\n if (isArray(value)) {\r\n const res = {};\r\n for (let i = 0; i < value.length; i++) {\r\n const item = value[i];\r\n const normalized = normalizeStyle(isString(item) ? parseStringStyle(item) : item);\r\n if (normalized) {\r\n for (const key in normalized) {\r\n res[key] = normalized[key];\r\n }\r\n }\r\n }\r\n return res;\r\n }\r\n else if (isObject(value)) {\r\n return value;\r\n }\r\n}\r\nconst listDelimiterRE = /;(?![^(]*\\))/g;\r\nconst propertyDelimiterRE = /:(.+)/;\r\nfunction parseStringStyle(cssText) {\r\n const ret = {};\r\n cssText.split(listDelimiterRE).forEach(item => {\r\n if (item) {\r\n const tmp = item.split(propertyDelimiterRE);\r\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\r\n }\r\n });\r\n return ret;\r\n}\r\nfunction stringifyStyle(styles) {\r\n let ret = '';\r\n if (!styles) {\r\n return ret;\r\n }\r\n for (const key in styles) {\r\n const value = styles[key];\r\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\r\n if (isString(value) ||\r\n (typeof value === 'number' && isNoUnitNumericStyleProp(normalizedKey))) {\r\n // only render valid values\r\n ret += `${normalizedKey}:${value};`;\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction normalizeClass(value) {\r\n let res = '';\r\n if (isString(value)) {\r\n res = value;\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n res += normalizeClass(value[i]) + ' ';\r\n }\r\n }\r\n else if (isObject(value)) {\r\n for (const name in value) {\r\n if (value[name]) {\r\n res += name + ' ';\r\n }\r\n }\r\n }\r\n return res.trim();\r\n}\n\n// These tag configs are shared between compiler-dom and runtime-dom, so they\r\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element\r\nconst HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' +\r\n 'header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,' +\r\n 'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' +\r\n 'data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,' +\r\n 'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' +\r\n 'canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,' +\r\n 'th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,' +\r\n 'option,output,progress,select,textarea,details,dialog,menu,' +\r\n 'summary,template,blockquote,iframe,tfoot';\r\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Element\r\nconst SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' +\r\n 'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' +\r\n 'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' +\r\n 'feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +\r\n 'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' +\r\n 'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' +\r\n 'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' +\r\n 'mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,' +\r\n 'polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,' +\r\n 'text,textPath,title,tspan,unknown,use,view';\r\nconst VOID_TAGS = 'area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr';\r\nconst isHTMLTag = /*#__PURE__*/ makeMap(HTML_TAGS);\r\nconst isSVGTag = /*#__PURE__*/ makeMap(SVG_TAGS);\r\nconst isVoidTag = /*#__PURE__*/ makeMap(VOID_TAGS);\n\nconst escapeRE = /[\"'&<>]/;\r\nfunction escapeHtml(string) {\r\n const str = '' + string;\r\n const match = escapeRE.exec(str);\r\n if (!match) {\r\n return str;\r\n }\r\n let html = '';\r\n let escaped;\r\n let index;\r\n let lastIndex = 0;\r\n for (index = match.index; index < str.length; index++) {\r\n switch (str.charCodeAt(index)) {\r\n case 34: // \"\r\n escaped = '"';\r\n break;\r\n case 38: // &\r\n escaped = '&';\r\n break;\r\n case 39: // '\r\n escaped = ''';\r\n break;\r\n case 60: // <\r\n escaped = '<';\r\n break;\r\n case 62: // >\r\n escaped = '>';\r\n break;\r\n default:\r\n continue;\r\n }\r\n if (lastIndex !== index) {\r\n html += str.substring(lastIndex, index);\r\n }\r\n lastIndex = index + 1;\r\n html += escaped;\r\n }\r\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\r\n}\r\n// https://www.w3.org/TR/html52/syntax.html#comments\r\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\r\n}\n\n/**\r\n * For converting {{ interpolation }} values to displayed strings.\r\n * @private\r\n */\r\nconst toDisplayString = (val) => {\r\n return val == null\r\n ? ''\r\n : isObject(val)\r\n ? JSON.stringify(val, replacer, 2)\r\n : String(val);\r\n};\r\nconst replacer = (_key, val) => {\r\n if (isMap(val)) {\r\n return {\r\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val]) => {\r\n entries[`${key} =>`] = val;\r\n return entries;\r\n }, {})\r\n };\r\n }\r\n else if (isSet(val)) {\r\n return {\r\n [`Set(${val.size})`]: [...val.values()]\r\n };\r\n }\r\n else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\r\n return String(val);\r\n }\r\n return val;\r\n};\n\n/**\r\n * List of @babel/parser plugins that are used for template expression\r\n * transforms and SFC script transforms. By default we enable proposals slated\r\n * for ES2020. This will need to be updated as the spec moves forward.\r\n * Full list at https://babeljs.io/docs/en/next/babel-parser#plugins\r\n */\r\nconst babelParserDefaultPlugins = [\r\n 'bigInt',\r\n 'optionalChaining',\r\n 'nullishCoalescingOperator'\r\n];\r\nconst EMPTY_OBJ = (process.env.NODE_ENV !== 'production')\r\n ? Object.freeze({})\r\n : {};\r\nconst EMPTY_ARR = (process.env.NODE_ENV !== 'production') ? Object.freeze([]) : [];\r\nconst NOOP = () => { };\r\n/**\r\n * Always return false.\r\n */\r\nconst NO = () => false;\r\nconst onRE = /^on[^a-z]/;\r\nconst isOn = (key) => onRE.test(key);\r\nconst isModelListener = (key) => key.startsWith('onUpdate:');\r\nconst extend = Object.assign;\r\nconst remove = (arr, el) => {\r\n const i = arr.indexOf(el);\r\n if (i > -1) {\r\n arr.splice(i, 1);\r\n }\r\n};\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst isArray = Array.isArray;\r\nconst isMap = (val) => toTypeString(val) === '[object Map]';\r\nconst isSet = (val) => toTypeString(val) === '[object Set]';\r\nconst isDate = (val) => val instanceof Date;\r\nconst isFunction = (val) => typeof val === 'function';\r\nconst isString = (val) => typeof val === 'string';\r\nconst isSymbol = (val) => typeof val === 'symbol';\r\nconst isObject = (val) => val !== null && typeof val === 'object';\r\nconst isPromise = (val) => {\r\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\r\n};\r\nconst objectToString = Object.prototype.toString;\r\nconst toTypeString = (value) => objectToString.call(value);\r\nconst toRawType = (value) => {\r\n // extract \"RawType\" from strings like \"[object RawType]\"\r\n return toTypeString(value).slice(8, -1);\r\n};\r\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\r\nconst isIntegerKey = (key) => isString(key) &&\r\n key !== 'NaN' &&\r\n key[0] !== '-' &&\r\n '' + parseInt(key, 10) === key;\r\nconst isReservedProp = /*#__PURE__*/ makeMap(\r\n// the leading comma is intentional so empty string \"\" is also included\r\n',key,ref,' +\r\n 'onVnodeBeforeMount,onVnodeMounted,' +\r\n 'onVnodeBeforeUpdate,onVnodeUpdated,' +\r\n 'onVnodeBeforeUnmount,onVnodeUnmounted');\r\nconst cacheStringFunction = (fn) => {\r\n const cache = Object.create(null);\r\n return ((str) => {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n });\r\n};\r\nconst camelizeRE = /-(\\w)/g;\r\n/**\r\n * @private\r\n */\r\nconst camelize = cacheStringFunction((str) => {\r\n return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\r\n});\r\nconst hyphenateRE = /\\B([A-Z])/g;\r\n/**\r\n * @private\r\n */\r\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, '-$1').toLowerCase());\r\n/**\r\n * @private\r\n */\r\nconst capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));\r\n/**\r\n * @private\r\n */\r\nconst toHandlerKey = cacheStringFunction((str) => (str ? `on${capitalize(str)}` : ``));\r\n// compare whether a value has changed, accounting for NaN.\r\nconst hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue);\r\nconst invokeArrayFns = (fns, arg) => {\r\n for (let i = 0; i < fns.length; i++) {\r\n fns[i](arg);\r\n }\r\n};\r\nconst def = (obj, key, value) => {\r\n Object.defineProperty(obj, key, {\r\n configurable: true,\r\n enumerable: false,\r\n value\r\n });\r\n};\r\nconst toNumber = (val) => {\r\n const n = parseFloat(val);\r\n return isNaN(n) ? val : n;\r\n};\r\nlet _globalThis;\r\nconst getGlobalThis = () => {\r\n return (_globalThis ||\r\n (_globalThis =\r\n typeof globalThis !== 'undefined'\r\n ? globalThis\r\n : typeof self !== 'undefined'\r\n ? self\r\n : typeof window !== 'undefined'\r\n ? window\r\n : typeof global !== 'undefined'\r\n ? global\r\n : {}));\r\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, babelParserDefaultPlugins, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, invokeArrayFns, isArray, isBooleanAttr, isDate, isFunction, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownAttr, isMap, isModelListener, isNoUnitNumericStyleProp, isObject, isOn, isPlainObject, isPromise, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, makeMap, normalizeClass, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","import { EMPTY_OBJ, isArray, isMap, isIntegerKey, isSymbol, extend, hasOwn, isObject, hasChanged, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nconst targetMap = new WeakMap();\r\nconst effectStack = [];\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nfunction isEffect(fn) {\r\n return fn && fn._isEffect === true;\r\n}\r\nfunction effect(fn, options = EMPTY_OBJ) {\r\n if (isEffect(fn)) {\r\n fn = fn.raw;\r\n }\r\n const effect = createReactiveEffect(fn, options);\r\n if (!options.lazy) {\r\n effect();\r\n }\r\n return effect;\r\n}\r\nfunction stop(effect) {\r\n if (effect.active) {\r\n cleanup(effect);\r\n if (effect.options.onStop) {\r\n effect.options.onStop();\r\n }\r\n effect.active = false;\r\n }\r\n}\r\nlet uid = 0;\r\nfunction createReactiveEffect(fn, options) {\r\n const effect = function reactiveEffect() {\r\n if (!effect.active) {\r\n return options.scheduler ? undefined : fn();\r\n }\r\n if (!effectStack.includes(effect)) {\r\n cleanup(effect);\r\n try {\r\n enableTracking();\r\n effectStack.push(effect);\r\n activeEffect = effect;\r\n return fn();\r\n }\r\n finally {\r\n effectStack.pop();\r\n resetTracking();\r\n activeEffect = effectStack[effectStack.length - 1];\r\n }\r\n }\r\n };\r\n effect.id = uid++;\r\n effect.allowRecurse = !!options.allowRecurse;\r\n effect._isEffect = true;\r\n effect.active = true;\r\n effect.raw = fn;\r\n effect.deps = [];\r\n effect.options = options;\r\n return effect;\r\n}\r\nfunction cleanup(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (!shouldTrack || activeEffect === undefined) {\r\n return;\r\n }\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = new Set()));\r\n }\r\n if (!dep.has(activeEffect)) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.options.onTrack) {\r\n activeEffect.options.onTrack({\r\n effect: activeEffect,\r\n target,\r\n type,\r\n key\r\n });\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n const effects = new Set();\r\n const add = (effectsToAdd) => {\r\n if (effectsToAdd) {\r\n effectsToAdd.forEach(effect => {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n effects.add(effect);\r\n }\r\n });\r\n }\r\n };\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n depsMap.forEach(add);\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n add(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n add(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n add(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n add(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n add(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n add(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n add(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n add(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const run = (effect) => {\r\n if ((process.env.NODE_ENV !== 'production') && effect.options.onTrigger) {\r\n effect.options.onTrigger({\r\n effect,\r\n target,\r\n key,\r\n type,\r\n newValue,\r\n oldValue,\r\n oldTarget\r\n });\r\n }\r\n if (effect.options.scheduler) {\r\n effect.options.scheduler(effect);\r\n }\r\n else {\r\n effect();\r\n }\r\n };\r\n effects.forEach(run);\r\n}\n\nconst builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol)\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = {};\r\n['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n const method = Array.prototype[key];\r\n arrayInstrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = method.apply(arr, args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return method.apply(arr, args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n});\r\n['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n const method = Array.prototype[key];\r\n arrayInstrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = method.apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n});\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver === (isReadonly ? readonlyMap : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key)\r\n ? builtInSymbols.has(key)\r\n : key === `__proto__` || key === `__v_isRef`) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - does not apply for Array + integer key.\r\n const shouldUnwrap = !targetIsArray || !isIntegerKey(key);\r\n return shouldUnwrap ? res.value : res;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n const oldValue = target[key];\r\n if (!shallow) {\r\n value = toRaw(value);\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\r\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (key !== rawKey) {\r\n !isReadonly && track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n !isReadonly && track(rawTarget, \"get\" /* GET */, rawKey);\r\n const { has } = getProto(rawTarget);\r\n const wrap = isReadonly ? toReadonly : isShallow ? toShallow : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (key !== rawKey) {\r\n !isReadonly && track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n !isReadonly && track(rawTarget, \"has\" /* HAS */, rawKey);\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n target.add(value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isReadonly ? toReadonly : isShallow ? toShallow : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isReadonly ? toReadonly : isShallow ? toShallow : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nconst mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n};\r\nconst shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n};\r\nconst readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n};\r\nconst iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\niteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n});\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: createInstrumentationGetter(true, false)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (target && target[\"__v_isReadonly\" /* IS_READONLY */]) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, readonlyCollectionHandlers);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const proxyMap = isReadonly ? readonlyMap : reactiveMap;\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only a whitelist of value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n return ((observed && toRaw(observed[\"__v_raw\" /* RAW */])) || observed);\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\n\nconst convert = (val) => isObject(val) ? reactive(val) : val;\r\nfunction isRef(r) {\r\n return Boolean(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nclass RefImpl {\r\n constructor(_rawValue, _shallow = false) {\r\n this._rawValue = _rawValue;\r\n this._shallow = _shallow;\r\n this.__v_isRef = true;\r\n this._value = _shallow ? _rawValue : convert(_rawValue);\r\n }\r\n get value() {\r\n track(toRaw(this), \"get\" /* GET */, 'value');\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n if (hasChanged(toRaw(newVal), this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this._shallow ? newVal : convert(newVal);\r\n trigger(toRaw(this), \"set\" /* SET */, 'value', newVal);\r\n }\r\n }\r\n}\r\nfunction createRef(rawValue, shallow = false) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nfunction triggerRef(ref) {\r\n trigger(toRaw(ref), \"set\" /* SET */, 'value', (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => track(this, \"get\" /* GET */, 'value'), () => trigger(this, \"set\" /* SET */, 'value'));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key) {\r\n this._object = _object;\r\n this._key = _key;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n return this._object[this._key];\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key) {\r\n return isRef(object[key])\r\n ? object[key]\r\n : new ObjectRefImpl(object, key);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly) {\r\n this._setter = _setter;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this.effect = effect(getter, {\r\n lazy: true,\r\n scheduler: () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n trigger(toRaw(this), \"set\" /* SET */, 'value');\r\n }\r\n }\r\n });\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n if (this._dirty) {\r\n this._value = this.effect();\r\n this._dirty = false;\r\n }\r\n track(toRaw(this), \"get\" /* GET */, 'value');\r\n return this._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions) {\r\n let getter;\r\n let setter;\r\n if (isFunction(getterOrOptions)) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n return new ComputedRefImpl(getter, setter, isFunction(getterOrOptions) || !getterOrOptions.set);\r\n}\n\nexport { ITERATE_KEY, computed, customRef, effect, enableTracking, isProxy, isReactive, isReadonly, isRef, markRaw, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, shallowReactive, trigger, isReactive, effect, stop, ref, isProxy, proxyRefs, toRef, reactive, shallowReadonly, track, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, def, isReservedProp, EMPTY_ARR, isObject, capitalize, toRawType, makeMap, remove, NOOP, hasChanged, isSet, isMap, invokeArrayFns, NO, getGlobalThis, normalizeClass, normalizeStyle, isGloballyWhitelisted } from '@vue/shared';\nexport { camelize, capitalize, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n queue.push(job);\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > -1) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex]);\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex]);\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, job);\r\n }\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length || pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n throw new Error(`Maximum recursive updates exceeded. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n const globalObject = typeof global !== 'undefined'\r\n ? global\r\n : typeof self !== 'undefined'\r\n ? self\r\n : typeof window !== 'undefined'\r\n ? window\r\n : {};\r\n globalObject.__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, component) {\r\n if (!component) {\r\n warn(`HMR API usage is out of date.\\n` +\r\n `Please upgrade vue-loader/vite/rollup-plugin-vue or other relevant ` +\r\n `depdendency that handles Vue SFC compilation.`);\r\n component = {};\r\n }\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n component: isClassComponent(component) ? component.__vccOpts : component,\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n if (newRender)\r\n record.component.render = newRender;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n Array.from(record.instances).forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n const { component, instances } = record;\r\n if (!hmrDirtyComponents.has(component)) {\r\n // 1. Update existing comp definition to match new one\r\n newComp = isClassComponent(newComp) ? newComp.__vccOpts : newComp;\r\n extend(component, newComp);\r\n for (const key in component) {\r\n if (!(key in newComp)) {\r\n delete component[key];\r\n }\r\n }\r\n // 2. Mark component dirty. This forces the renderer to replace the component\r\n // on patch.\r\n hmrDirtyComponents.add(component);\r\n // 3. Make sure to unmark the component after the reload.\r\n queuePostFlushCb(() => {\r\n hmrDirtyComponents.delete(component);\r\n });\r\n }\r\n Array.from(instances).forEach(instance => {\r\n if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n });\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nfunction setDevtoolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n // TODO queue if devtools is undefined\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = /*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n if (!devtools)\r\n return;\r\n devtools.emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit(instance, event, ...rawArgs) {\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions)) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n else if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n // convert handler name to camelCase. See issue #2249\r\n let handlerName = toHandlerKey(camelize(event));\r\n let handler = props[handlerName];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handlerName = toHandlerKey(hyphenate(event));\r\n handler = props[handlerName];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n (instance.emitted = {})[handlerName] = true;\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n if (!appContext.deopt && comp.__emits !== undefined) {\r\n return comp.__emits;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n hasExtends = true;\r\n extend(normalized, normalizeEmitsOptions(raw, appContext, true));\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n return (comp.__emits = null);\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n return (comp.__emits = normalized);\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nfunction setCurrentRenderingInstance(instance) {\r\n currentRenderingInstance = instance;\r\n}\r\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx } = instance;\r\n let result;\r\n currentRenderingInstance = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n let fallthroughAttrs;\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') && result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n ;\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (Component.inheritAttrs !== false && fallthroughAttrs) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & 1 /* ELEMENT */ ||\r\n shapeFlag & 6 /* COMPONENT */) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n }\r\n catch (err) {\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n currentRenderingInstance = null;\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & 6 /* COMPONENT */ ||\r\n vnode.shapeFlag & 1 /* ELEMENT */ ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = ( SuspenseImpl\r\n );\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n const onPending = n2.props && n2.props.onPending;\r\n if (isFunction(onPending)) {\r\n onPending();\r\n }\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n const onResolve = vnode.props && vnode.props.onResolve;\r\n if (isFunction(onResolve)) {\r\n onResolve();\r\n }\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n const onFallback = vnode.props && vnode.props.onFallback;\r\n if (isFunction(onFallback)) {\r\n onFallback();\r\n }\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n suspense.isInFallback = true;\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n let content;\r\n let fallback;\r\n if (shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n content = normalizeSuspenseSlot(children.default);\r\n fallback = normalizeSuspenseSlot(children.fallback);\r\n }\r\n else {\r\n content = normalizeSuspenseSlot(children);\r\n fallback = normalizeVNode(null);\r\n }\r\n return {\r\n content,\r\n fallback\r\n };\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n if (isFunction(s)) {\r\n s = s();\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n return normalizeVNode(s);\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nlet isRenderingCompiledSlot = 0;\r\nconst setCompiledSlotRendering = (n) => (isRenderingCompiledSlot += n);\r\n/**\r\n * Compiler runtime helper for rendering ``\r\n * @private\r\n */\r\nfunction renderSlot(slots, name, props = {}, \r\n// this is not a user-facing function, so the fallback is always generated by\r\n// the compiler and guaranteed to be a function returning an array\r\nfallback) {\r\n let slot = slots[name];\r\n if ((process.env.NODE_ENV !== 'production') && slot && slot.length > 1) {\r\n warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +\r\n `function. You need to mark this component with $dynamic-slots in the ` +\r\n `parent template.`);\r\n slot = () => [];\r\n }\r\n // a compiled slot disables block tracking by default to avoid manual\r\n // invocation interfering with template-based block tracking, but in\r\n // `renderSlot` we can be sure that it's template-based so we can force\r\n // enable it.\r\n isRenderingCompiledSlot++;\r\n openBlock();\r\n const validSlotContent = slot && ensureValidVNode(slot(props));\r\n const rendered = createBlock(Fragment, { key: props.key || `_${name}` }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 /* STABLE */\r\n ? 64 /* STABLE_FRAGMENT */\r\n : -2 /* BAIL */);\r\n isRenderingCompiledSlot--;\r\n return rendered;\r\n}\r\nfunction ensureValidVNode(vnodes) {\r\n return vnodes.some(child => {\r\n if (!isVNode(child))\r\n return true;\r\n if (child.type === Comment)\r\n return false;\r\n if (child.type === Fragment &&\r\n !ensureValidVNode(child.children))\r\n return false;\r\n return true;\r\n })\r\n ? vnodes\r\n : null;\r\n}\n\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance) {\r\n if (!ctx)\r\n return fn;\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we need to push a null block to\r\n // avoid that. This isn't necessary if rendering a compiled ``.\r\n if (!isRenderingCompiledSlot) {\r\n openBlock(true /* null block that disables tracking */);\r\n }\r\n const owner = currentRenderingInstance;\r\n setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(owner);\r\n if (!isRenderingCompiledSlot) {\r\n closeBlock();\r\n }\r\n return res;\r\n };\r\n renderFnWithContext._c = true;\r\n return renderFnWithContext;\r\n}\n\n// SFC scoped style ID management.\r\nlet currentScopeId = null;\r\nconst scopeIdStack = [];\r\n/**\r\n * @private\r\n */\r\nfunction pushScopeId(id) {\r\n scopeIdStack.push((currentScopeId = id));\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n scopeIdStack.pop();\r\n currentScopeId = scopeIdStack[scopeIdStack.length - 1] || null;\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction withScopeId(id) {\r\n return ((fn) => withCtx(function () {\r\n pushScopeId(id);\r\n const res = fn.apply(this, arguments);\r\n popScopeId();\r\n return res;\r\n }));\r\n}\n\nfunction initProps(instance, rawProps, isStateful, // result of bitwise flag comparison\r\nisSSR = false) {\r\n const props = {};\r\n const attrs = {};\r\n def(attrs, InternalObjectKey, 1);\r\n setFullProps(instance, rawProps, props, attrs);\r\n // validation\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(props, instance);\r\n }\r\n if (isStateful) {\r\n // stateful\r\n instance.props = isSSR ? props : shallowReactive(props);\r\n }\r\n else {\r\n if (!instance.type.props) {\r\n // functional w/ optional props, props === attrs\r\n instance.props = attrs;\r\n }\r\n else {\r\n // functional w/ declared props\r\n instance.props = props;\r\n }\r\n }\r\n instance.attrs = attrs;\r\n}\r\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\r\n const { props, attrs, vnode: { patchFlag } } = instance;\r\n const rawCurrentProps = toRaw(props);\r\n const [options] = instance.propsOptions;\r\n if (\r\n // always force full diff in dev\r\n // - #1942 if hmr is enabled with sfc component\r\n // - vite#872 non-sfc component used by sfc component\r\n !((process.env.NODE_ENV !== 'production') &&\r\n (instance.type.__hmrId ||\r\n (instance.parent && instance.parent.type.__hmrId))) &&\r\n (optimized || patchFlag > 0) &&\r\n !(patchFlag & 16 /* FULL_PROPS */)) {\r\n if (patchFlag & 8 /* PROPS */) {\r\n // Compiler-generated props & no keys change, just set the updated\r\n // the props.\r\n const propsToUpdate = instance.vnode.dynamicProps;\r\n for (let i = 0; i < propsToUpdate.length; i++) {\r\n const key = propsToUpdate[i];\r\n // PROPS flag guarantees rawProps to be non-null\r\n const value = rawProps[key];\r\n if (options) {\r\n // attr / props separation was done on init and will be consistent\r\n // in this code path, so just check if attrs have it.\r\n if (hasOwn(attrs, key)) {\r\n attrs[key] = value;\r\n }\r\n else {\r\n const camelizedKey = camelize(key);\r\n props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance);\r\n }\r\n }\r\n else {\r\n attrs[key] = value;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // full props update.\r\n setFullProps(instance, rawProps, props, attrs);\r\n // in case of dynamic props, check if we need to delete keys from\r\n // the props object\r\n let kebabKey;\r\n for (const key in rawCurrentProps) {\r\n if (!rawProps ||\r\n // for camelCase\r\n (!hasOwn(rawProps, key) &&\r\n // it's possible the original props was passed in as kebab-case\r\n // and converted to camelCase (#955)\r\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {\r\n if (options) {\r\n if (rawPrevProps &&\r\n // for camelCase\r\n (rawPrevProps[key] !== undefined ||\r\n // for kebab-case\r\n rawPrevProps[kebabKey] !== undefined)) {\r\n props[key] = resolvePropValue(options, rawProps || EMPTY_OBJ, key, undefined, instance);\r\n }\r\n }\r\n else {\r\n delete props[key];\r\n }\r\n }\r\n }\r\n // in the case of functional component w/o props declaration, props and\r\n // attrs point to the same object so it should already have been updated.\r\n if (attrs !== rawCurrentProps) {\r\n for (const key in attrs) {\r\n if (!rawProps || !hasOwn(rawProps, key)) {\r\n delete attrs[key];\r\n }\r\n }\r\n }\r\n }\r\n // trigger updates for $attrs in case it's used in component slots\r\n trigger(instance, \"set\" /* SET */, '$attrs');\r\n if ((process.env.NODE_ENV !== 'production') && rawProps) {\r\n validateProps(props, instance);\r\n }\r\n}\r\nfunction setFullProps(instance, rawProps, props, attrs) {\r\n const [options, needCastKeys] = instance.propsOptions;\r\n if (rawProps) {\r\n for (const key in rawProps) {\r\n const value = rawProps[key];\r\n // key, ref are reserved and never passed down\r\n if (isReservedProp(key)) {\r\n continue;\r\n }\r\n // prop option names are camelized during normalization, so to support\r\n // kebab -> camel conversion here we need to camelize the key.\r\n let camelKey;\r\n if (options && hasOwn(options, (camelKey = camelize(key)))) {\r\n props[camelKey] = value;\r\n }\r\n else if (!isEmitListener(instance.emitsOptions, key)) {\r\n // Any non-declared (either as a prop or an emitted event) props are put\r\n // into a separate `attrs` object for spreading. Make sure to preserve\r\n // original key casing\r\n attrs[key] = value;\r\n }\r\n }\r\n }\r\n if (needCastKeys) {\r\n const rawCurrentProps = toRaw(props);\r\n for (let i = 0; i < needCastKeys.length; i++) {\r\n const key = needCastKeys[i];\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, rawCurrentProps[key], instance);\r\n }\r\n }\r\n}\r\nfunction resolvePropValue(options, props, key, value, instance) {\r\n const opt = options[key];\r\n if (opt != null) {\r\n const hasDefault = hasOwn(opt, 'default');\r\n // default values\r\n if (hasDefault && value === undefined) {\r\n const defaultValue = opt.default;\r\n if (opt.type !== Function && isFunction(defaultValue)) {\r\n setCurrentInstance(instance);\r\n value = defaultValue(props);\r\n setCurrentInstance(null);\r\n }\r\n else {\r\n value = defaultValue;\r\n }\r\n }\r\n // boolean casting\r\n if (opt[0 /* shouldCast */]) {\r\n if (!hasOwn(props, key) && !hasDefault) {\r\n value = false;\r\n }\r\n else if (opt[1 /* shouldCastTrue */] &&\r\n (value === '' || value === hyphenate(key))) {\r\n value = true;\r\n }\r\n }\r\n }\r\n return value;\r\n}\r\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\r\n if (!appContext.deopt && comp.__props) {\r\n return comp.__props;\r\n }\r\n const raw = comp.props;\r\n const normalized = {};\r\n const needCastKeys = [];\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendProps = (raw) => {\r\n hasExtends = true;\r\n const [props, keys] = normalizePropsOptions(raw, appContext, true);\r\n extend(normalized, props);\r\n if (keys)\r\n needCastKeys.push(...keys);\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendProps);\r\n }\r\n if (comp.extends) {\r\n extendProps(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendProps);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n return (comp.__props = EMPTY_ARR);\r\n }\r\n if (isArray(raw)) {\r\n for (let i = 0; i < raw.length; i++) {\r\n if ((process.env.NODE_ENV !== 'production') && !isString(raw[i])) {\r\n warn(`props must be strings when using array syntax.`, raw[i]);\r\n }\r\n const normalizedKey = camelize(raw[i]);\r\n if (validatePropName(normalizedKey)) {\r\n normalized[normalizedKey] = EMPTY_OBJ;\r\n }\r\n }\r\n }\r\n else if (raw) {\r\n if ((process.env.NODE_ENV !== 'production') && !isObject(raw)) {\r\n warn(`invalid props options`, raw);\r\n }\r\n for (const key in raw) {\r\n const normalizedKey = camelize(key);\r\n if (validatePropName(normalizedKey)) {\r\n const opt = raw[key];\r\n const prop = (normalized[normalizedKey] =\r\n isArray(opt) || isFunction(opt) ? { type: opt } : opt);\r\n if (prop) {\r\n const booleanIndex = getTypeIndex(Boolean, prop.type);\r\n const stringIndex = getTypeIndex(String, prop.type);\r\n prop[0 /* shouldCast */] = booleanIndex > -1;\r\n prop[1 /* shouldCastTrue */] =\r\n stringIndex < 0 || booleanIndex < stringIndex;\r\n // if the prop needs boolean casting or default value\r\n if (booleanIndex > -1 || hasOwn(prop, 'default')) {\r\n needCastKeys.push(normalizedKey);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return (comp.__props = [normalized, needCastKeys]);\r\n}\r\nfunction validatePropName(key) {\r\n if (key[0] !== '$') {\r\n return true;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid prop name: \"${key}\" is a reserved property.`);\r\n }\r\n return false;\r\n}\r\n// use function string name to check type constructors\r\n// so that it works across vms / iframes.\r\nfunction getType(ctor) {\r\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\r\n return match ? match[1] : '';\r\n}\r\nfunction isSameType(a, b) {\r\n return getType(a) === getType(b);\r\n}\r\nfunction getTypeIndex(type, expectedTypes) {\r\n if (isArray(expectedTypes)) {\r\n for (let i = 0, len = expectedTypes.length; i < len; i++) {\r\n if (isSameType(expectedTypes[i], type)) {\r\n return i;\r\n }\r\n }\r\n }\r\n else if (isFunction(expectedTypes)) {\r\n return isSameType(expectedTypes, type) ? 0 : -1;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProps(props, instance) {\r\n const rawValues = toRaw(props);\r\n const options = instance.propsOptions[0];\r\n for (const key in options) {\r\n let opt = options[key];\r\n if (opt == null)\r\n continue;\r\n validateProp(key, rawValues[key], opt, !hasOwn(rawValues, key));\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProp(name, value, prop, isAbsent) {\r\n const { type, required, validator } = prop;\r\n // required!\r\n if (required && isAbsent) {\r\n warn('Missing required prop: \"' + name + '\"');\r\n return;\r\n }\r\n // missing but optional\r\n if (value == null && !prop.required) {\r\n return;\r\n }\r\n // type check\r\n if (type != null && type !== true) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n // value is valid as long as one of the specified types match\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || '');\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n warn(getInvalidTypeMessage(name, value, expectedTypes));\r\n return;\r\n }\r\n }\r\n // custom validator\r\n if (validator && !validator(value)) {\r\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".');\r\n }\r\n}\r\nconst isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol');\r\n/**\r\n * dev only\r\n */\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n // for primitive wrapper objects\r\n if (!valid && t === 'object') {\r\n valid = value instanceof type;\r\n }\r\n }\r\n else if (expectedType === 'Object') {\r\n valid = isObject(value);\r\n }\r\n else if (expectedType === 'Array') {\r\n valid = isArray(value);\r\n }\r\n else {\r\n valid = value instanceof type;\r\n }\r\n return {\r\n valid,\r\n expectedType\r\n };\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n let message = `Invalid prop: type check failed for prop \"${name}\".` +\r\n ` Expected ${expectedTypes.map(capitalize).join(', ')}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n // check if we need to specify expected value\r\n if (expectedTypes.length === 1 &&\r\n isExplicable(expectedType) &&\r\n !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n // check if we need to specify received value\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction styleValue(value, type) {\r\n if (type === 'String') {\r\n return `\"${value}\"`;\r\n }\r\n else if (type === 'Number') {\r\n return `${Number(value)}`;\r\n }\r\n else {\r\n return `${value}`;\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isExplicable(type) {\r\n const explicitTypes = ['string', 'number', 'boolean'];\r\n return explicitTypes.some(elem => type.toLowerCase() === elem);\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isBoolean(...args) {\r\n return args.some(elem => elem.toLowerCase() === 'boolean');\r\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n const hooks = target[type] || (target[type] = []);\r\n // cache the error handling wrapper for injected hooks so the same hook\r\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\r\n // handling\".\r\n const wrappedHook = hook.__weh ||\r\n (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n // Set currentInstance during hook invocation.\r\n // This assumes the hook does not synchronously trigger other hooks, which\r\n // can only be false when the user does something really funky.\r\n setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n setCurrentInstance(null);\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n }\r\n else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));\r\n warn(`${apiName} is called when there is no active component instance to be ` +\r\n `associated with. ` +\r\n `Lifecycle injection APIs can only be used during execution of setup().` +\r\n ( ` If you are using async setup(), make sure to register lifecycle ` +\r\n `hooks before the first await statement.`\r\n ));\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \r\n// post-create lifecycle registrations are noops during SSR\r\n!isInSSRComponentSetup && injectHook(lifecycle, hook, target);\r\nconst onBeforeMount = createHook(\"bm\" /* BEFORE_MOUNT */);\r\nconst onMounted = createHook(\"m\" /* MOUNTED */);\r\nconst onBeforeUpdate = createHook(\"bu\" /* BEFORE_UPDATE */);\r\nconst onUpdated = createHook(\"u\" /* UPDATED */);\r\nconst onBeforeUnmount = createHook(\"bum\" /* BEFORE_UNMOUNT */);\r\nconst onUnmounted = createHook(\"um\" /* UNMOUNTED */);\r\nconst onRenderTriggered = createHook(\"rtg\" /* RENDER_TRIGGERED */);\r\nconst onRenderTracked = createHook(\"rtc\" /* RENDER_TRACKED */);\r\nconst onErrorCaptured = (hook, target = currentInstance) => {\r\n injectHook(\"ec\" /* ERROR_CAPTURED */, hook, target);\r\n};\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ, instance = currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n let getter;\r\n let forceTrigger = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = !!source._shallow;\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onInvalidate]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n const onInvalidate = (fn) => {\r\n cleanup = runner.options.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n let oldValue = isArray(source) ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!runner.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = runner();\r\n if (deep || forceTrigger || hasChanged(newValue, oldValue)) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onInvalidate\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n runner();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job;\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => {\r\n if (!instance || instance.isMounted) {\r\n queuePreFlushCb(job);\r\n }\r\n else {\r\n // with 'pre' option, the first call must happen before\r\n // the component is mounted so it is called synchronously.\r\n job();\r\n }\r\n };\r\n }\r\n const runner = effect(getter, {\r\n lazy: true,\r\n onTrack,\r\n onTrigger,\r\n scheduler\r\n });\r\n recordInstanceBoundEffect(runner, instance);\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = runner();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(runner, instance && instance.suspense);\r\n }\r\n else {\r\n runner();\r\n }\r\n return () => {\r\n stop(runner);\r\n if (instance) {\r\n remove(instance.effects, runner);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, cb, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? () => publicThis[source]\r\n : source.bind(publicThis);\r\n return doWatch(getter, cb.bind(publicThis), options, this);\r\n}\r\nfunction traverse(value, seen = new Set()) {\r\n if (!isObject(value) || seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n // warn multiple elements\r\n if ((process.env.NODE_ENV !== 'production') && children.length > 1) {\r\n warn(' can only be used on a single element or component. Use ' +\r\n ' for lists.');\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') && mode && !['in-out', 'out-in', 'default'].includes(mode)) {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n // at this point children has a guaranteed length of 1.\r\n const child = children[0];\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out') {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n hook(el, done);\r\n if (hook.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n onLeave(el, done);\r\n if (onLeave.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if ( vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n // handle fragment children case, e.g. v-for\r\n if (child.type === Fragment) {\r\n if (child.patchFlag & 128 /* KEYED_FRAGMENT */)\r\n keyedFragmentCount++;\r\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment));\r\n }\r\n // comment placeholders should be skipped, e.g. v-if\r\n else if (keepComment || child.type !== Comment) {\r\n ret.push(child);\r\n }\r\n }\r\n // #1126 if a transition children list contains multiple sub fragments, these\r\n // fragments will be merged into a flat children array. Since each v-for\r\n // fragment may contain different static bindings inside, we need to de-op\r\n // these children to force full diffs to ensure correct behavior.\r\n if (keyedFragmentCount > 1) {\r\n for (let i = 0; i < ret.length; i++) {\r\n ret[i].patchFlag = -2 /* BAIL */;\r\n }\r\n }\r\n return ret;\r\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nconst KeepAliveImpl = {\r\n name: `KeepAlive`,\r\n // Marker for special handling inside the renderer. We are not using a ===\r\n // check directly on KeepAlive in the renderer, because importing it directly\r\n // would prevent it from being tree-shaken.\r\n __isKeepAlive: true,\r\n inheritRef: true,\r\n props: {\r\n include: [String, RegExp, Array],\r\n exclude: [String, RegExp, Array],\r\n max: [String, Number]\r\n },\r\n setup(props, { slots }) {\r\n const cache = new Map();\r\n const keys = new Set();\r\n let current = null;\r\n const instance = getCurrentInstance();\r\n const parentSuspense = instance.suspense;\r\n // KeepAlive communicates with the instantiated renderer via the\r\n // ctx where the renderer passes in its internals,\r\n // and the KeepAlive instance exposes activate/deactivate implementations.\r\n // The whole point of this is to avoid importing KeepAlive directly in the\r\n // renderer to facilitate tree-shaking.\r\n const sharedContext = instance.ctx;\r\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\r\n const storageContainer = createElement('div');\r\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\r\n const instance = vnode.component;\r\n move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);\r\n // in case props have changed\r\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, optimized);\r\n queuePostRenderEffect(() => {\r\n instance.isDeactivated = false;\r\n if (instance.a) {\r\n invokeArrayFns(instance.a);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n }, parentSuspense);\r\n };\r\n sharedContext.deactivate = (vnode) => {\r\n const instance = vnode.component;\r\n move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);\r\n queuePostRenderEffect(() => {\r\n if (instance.da) {\r\n invokeArrayFns(instance.da);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n instance.isDeactivated = true;\r\n }, parentSuspense);\r\n };\r\n function unmount(vnode) {\r\n // reset the shapeFlag so it can be properly unmounted\r\n resetShapeFlag(vnode);\r\n _unmount(vnode, instance, parentSuspense);\r\n }\r\n function pruneCache(filter) {\r\n cache.forEach((vnode, key) => {\r\n const name = getName(vnode.type);\r\n if (name && (!filter || !filter(name))) {\r\n pruneCacheEntry(key);\r\n }\r\n });\r\n }\r\n function pruneCacheEntry(key) {\r\n const cached = cache.get(key);\r\n if (!current || cached.type !== current.type) {\r\n unmount(cached);\r\n }\r\n else if (current) {\r\n // current active instance should no longer be kept-alive.\r\n // we can't unmount it now but it might be later, so reset its flag now.\r\n resetShapeFlag(current);\r\n }\r\n cache.delete(key);\r\n keys.delete(key);\r\n }\r\n // prune cache on include/exclude prop change\r\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\r\n include && pruneCache(name => matches(include, name));\r\n exclude && pruneCache(name => !matches(exclude, name));\r\n }, \r\n // prune post-render after `current` has been updated\r\n { flush: 'post', deep: true });\r\n // cache sub tree after render\r\n let pendingCacheKey = null;\r\n const cacheSubtree = () => {\r\n // fix #1621, the pendingCacheKey could be 0\r\n if (pendingCacheKey != null) {\r\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\r\n }\r\n };\r\n onMounted(cacheSubtree);\r\n onUpdated(cacheSubtree);\r\n onBeforeUnmount(() => {\r\n cache.forEach(cached => {\r\n const { subTree, suspense } = instance;\r\n const vnode = getInnerChild(subTree);\r\n if (cached.type === vnode.type) {\r\n // current instance will be unmounted as part of keep-alive's unmount\r\n resetShapeFlag(vnode);\r\n // but invoke its deactivated hook here\r\n const da = vnode.component.da;\r\n da && queuePostRenderEffect(da, suspense);\r\n return;\r\n }\r\n unmount(cached);\r\n });\r\n });\r\n return () => {\r\n pendingCacheKey = null;\r\n if (!slots.default) {\r\n return null;\r\n }\r\n const children = slots.default();\r\n const rawVNode = children[0];\r\n if (children.length > 1) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`KeepAlive should contain exactly one component child.`);\r\n }\r\n current = null;\r\n return children;\r\n }\r\n else if (!isVNode(rawVNode) ||\r\n (!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&\r\n !(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {\r\n current = null;\r\n return rawVNode;\r\n }\r\n let vnode = getInnerChild(rawVNode);\r\n const comp = vnode.type;\r\n const name = getName(comp);\r\n const { include, exclude, max } = props;\r\n if ((include && (!name || !matches(include, name))) ||\r\n (exclude && name && matches(exclude, name))) {\r\n current = vnode;\r\n return rawVNode;\r\n }\r\n const key = vnode.key == null ? comp : vnode.key;\r\n const cachedVNode = cache.get(key);\r\n // clone vnode if it's reused because we are going to mutate it\r\n if (vnode.el) {\r\n vnode = cloneVNode(vnode);\r\n if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {\r\n rawVNode.ssContent = vnode;\r\n }\r\n }\r\n // #1513 it's possible for the returned vnode to be cloned due to attr\r\n // fallthrough or scopeId, so the vnode here may not be the final vnode\r\n // that is mounted. Instead of caching it directly, we store the pending\r\n // key and cache `instance.subTree` (the normalized vnode) in\r\n // beforeMount/beforeUpdate hooks.\r\n pendingCacheKey = key;\r\n if (cachedVNode) {\r\n // copy over mounted state\r\n vnode.el = cachedVNode.el;\r\n vnode.component = cachedVNode.component;\r\n if (vnode.transition) {\r\n // recursively update transition hooks on subTree\r\n setTransitionHooks(vnode, vnode.transition);\r\n }\r\n // avoid vnode being mounted as fresh\r\n vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;\r\n // make this key the freshest\r\n keys.delete(key);\r\n keys.add(key);\r\n }\r\n else {\r\n keys.add(key);\r\n // prune oldest entry\r\n if (max && keys.size > parseInt(max, 10)) {\r\n pruneCacheEntry(keys.values().next().value);\r\n }\r\n }\r\n // avoid vnode being unmounted\r\n vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n current = vnode;\r\n return rawVNode;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst KeepAlive = KeepAliveImpl;\r\nfunction getName(comp) {\r\n return comp.displayName || comp.name;\r\n}\r\nfunction matches(pattern, name) {\r\n if (isArray(pattern)) {\r\n return pattern.some((p) => matches(p, name));\r\n }\r\n else if (isString(pattern)) {\r\n return pattern.split(',').indexOf(name) > -1;\r\n }\r\n else if (pattern.test) {\r\n return pattern.test(name);\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n}\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\" /* ACTIVATED */, target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\" /* DEACTIVATED */, target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n // cache the deactivate branch check wrapper for injected hooks so the same\r\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\r\n // deactivation check\".\r\n const wrappedHook = hook.__wdc ||\r\n (hook.__wdc = () => {\r\n // only fire the hook if the target instance is NOT in a deactivated branch.\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n // In addition to registering it on the target instance, we walk up the parent\r\n // chain and register it on all ancestor instances that are keep-alive roots.\r\n // This avoids the need to walk the entire component tree when invoking these\r\n // hooks, and more importantly, avoids the need to track child components in\r\n // arrays.\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n // injectHook wraps the original for error handling, so make sure to remove\r\n // the wrapped version.\r\n const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\nfunction resetShapeFlag(vnode) {\r\n let shapeFlag = vnode.shapeFlag;\r\n if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {\r\n shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n }\r\n if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {\r\n shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;\r\n }\r\n vnode.shapeFlag = shapeFlag;\r\n}\r\nfunction getInnerChild(vnode) {\r\n return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;\r\n}\n\nconst isInternalKey = (key) => key[0] === '_' || key === '$stable';\r\nconst normalizeSlotValue = (value) => isArray(value)\r\n ? value.map(normalizeVNode)\r\n : [normalizeVNode(value)];\r\nconst normalizeSlot = (key, rawSlot, ctx) => withCtx((props) => {\r\n if ((process.env.NODE_ENV !== 'production') && currentInstance) {\r\n warn(`Slot \"${key}\" invoked outside of the render function: ` +\r\n `this will not track dependencies used in the slot. ` +\r\n `Invoke the slot function inside the render function instead.`);\r\n }\r\n return normalizeSlotValue(rawSlot(props));\r\n}, ctx);\r\nconst normalizeObjectSlots = (rawSlots, slots) => {\r\n const ctx = rawSlots._ctx;\r\n for (const key in rawSlots) {\r\n if (isInternalKey(key))\r\n continue;\r\n const value = rawSlots[key];\r\n if (isFunction(value)) {\r\n slots[key] = normalizeSlot(key, value, ctx);\r\n }\r\n else if (value != null) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Non-function value encountered for slot \"${key}\". ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(value);\r\n slots[key] = () => normalized;\r\n }\r\n }\r\n};\r\nconst normalizeVNodeSlots = (instance, children) => {\r\n if ((process.env.NODE_ENV !== 'production') && !isKeepAlive(instance.vnode)) {\r\n warn(`Non-function value encountered for default slot. ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(children);\r\n instance.slots.default = () => normalized;\r\n};\r\nconst initSlots = (instance, children) => {\r\n if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n instance.slots = children;\r\n // make compiler marker non-enumerable\r\n def(children, '_', type);\r\n }\r\n else {\r\n normalizeObjectSlots(children, (instance.slots = {}));\r\n }\r\n }\r\n else {\r\n instance.slots = {};\r\n if (children) {\r\n normalizeVNodeSlots(instance, children);\r\n }\r\n }\r\n def(instance.slots, InternalObjectKey, 1);\r\n};\r\nconst updateSlots = (instance, children) => {\r\n const { vnode, slots } = instance;\r\n let needDeletionCheck = true;\r\n let deletionComparisonTarget = EMPTY_OBJ;\r\n if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // compiled slots.\r\n if ((process.env.NODE_ENV !== 'production') && isHmrUpdating) {\r\n // Parent was HMR updated so slot content may have changed.\r\n // force update slots and mark instance for hmr as well\r\n extend(slots, children);\r\n }\r\n else if (type === 1 /* STABLE */) {\r\n // compiled AND stable.\r\n // no need to update, and skip stale slots removal.\r\n needDeletionCheck = false;\r\n }\r\n else {\r\n // compiled but dynamic (v-if/v-for on slots) - update slots, but skip\r\n // normalization.\r\n extend(slots, children);\r\n }\r\n }\r\n else {\r\n needDeletionCheck = !children.$stable;\r\n normalizeObjectSlots(children, slots);\r\n }\r\n deletionComparisonTarget = children;\r\n }\r\n else if (children) {\r\n // non slot object children (direct value) passed to a component\r\n normalizeVNodeSlots(instance, children);\r\n deletionComparisonTarget = { default: 1 };\r\n }\r\n // delete stale slots\r\n if (needDeletionCheck) {\r\n for (const key in slots) {\r\n if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {\r\n delete slots[key];\r\n }\r\n }\r\n }\r\n};\n\n/**\r\nRuntime helper for applying directives to a vnode. Example usage:\r\n\nconst comp = resolveComponent('comp')\r\nconst foo = resolveDirective('foo')\r\nconst bar = resolveDirective('bar')\r\n\nreturn withDirectives(h(comp), [\r\n [foo, this.x],\r\n [bar, this.y]\r\n])\r\n*/\r\nconst isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text');\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn('Do not use built-in directive ids as custom directive id: ' + name);\r\n }\r\n}\r\n/**\r\n * Adds directives to a VNode.\r\n */\r\nfunction withDirectives(vnode, directives) {\r\n const internalInstance = currentRenderingInstance;\r\n if (internalInstance === null) {\r\n (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = internalInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n return vnode;\r\n}\r\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\r\n const bindings = vnode.dirs;\r\n const oldBindings = prevVNode && prevVNode.dirs;\r\n for (let i = 0; i < bindings.length; i++) {\r\n const binding = bindings[i];\r\n if (oldBindings) {\r\n binding.oldValue = oldBindings[i].value;\r\n }\r\n const hook = binding.dir[name];\r\n if (hook) {\r\n callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [\r\n vnode.el,\r\n binding,\r\n vnode,\r\n prevVNode\r\n ]);\r\n }\r\n }\r\n}\n\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n isCustomElement: NO,\r\n errorHandler: undefined,\r\n warnHandler: undefined\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: Object.create(null)\r\n };\r\n}\r\nlet uid = 0;\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (rootProps != null && !isObject(rootProps)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = new Set();\r\n let isMounted = false;\r\n const app = (context.app = {\r\n _uid: uid++,\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`app.config cannot be replaced. Modify individual options instead.`);\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Plugin has already been applied to target app.`);\r\n }\r\n else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n }\r\n else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`A plugin must either be a function or an object with an \"install\" ` +\r\n `function.`);\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n // global mixin with props/emits de-optimizes props/emits\r\n // normalization caching.\r\n if (mixin.props || mixin.emits) {\r\n context.deopt = true;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixin has already been applied to target app' +\r\n (mixin.name ? `: ${mixin.name}` : ''));\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixins are only available in builds supporting Options API');\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.components[name]) {\r\n warn(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.directives[name]) {\r\n warn(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n mount(rootContainer, isHydrate) {\r\n if (!isMounted) {\r\n const vnode = createVNode(rootComponent, rootProps);\r\n // store app context on the root VNode.\r\n // this will be set on the root instance on initial mount.\r\n vnode.appContext = context;\r\n // HMR root reload\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.reload = () => {\r\n render(cloneVNode(vnode), rootContainer);\r\n };\r\n }\r\n if (isHydrate && hydrate) {\r\n hydrate(vnode, rootContainer);\r\n }\r\n else {\r\n render(vnode, rootContainer);\r\n }\r\n isMounted = true;\r\n app._container = rootContainer;\r\n rootContainer.__vue_app__ = app;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsInitApp(app, version);\r\n }\r\n return vnode.component.proxy;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`App has already been mounted.\\n` +\r\n `If you want to remount the same app, move your app creation logic ` +\r\n `into a factory function and create fresh app instances for each ` +\r\n `mount - e.g. \\`const createMyApp = () => createApp(App)\\``);\r\n }\r\n },\r\n unmount() {\r\n if (isMounted) {\r\n render(null, app._container);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsUnmountApp(app);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot unmount an app that is not mounted.`);\r\n }\r\n },\r\n provide(key, value) {\r\n if ((process.env.NODE_ENV !== 'production') && key in context.provides) {\r\n warn(`App already provides property with key \"${String(key)}\". ` +\r\n `It will be overwritten with the new value.`);\r\n }\r\n // TypeScript doesn't allow symbols as index type\r\n // https://github.com/Microsoft/TypeScript/issues/24587\r\n context.provides[key] = value;\r\n return app;\r\n }\r\n });\r\n return app;\r\n };\r\n}\n\nlet hasMismatch = false;\r\nconst isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';\r\nconst isComment = (node) => node.nodeType === 8 /* COMMENT */;\r\n// Note: hydration is DOM-specific\r\n// But we have to place it in core due to tight coupling with core - splitting\r\n// it out creates a ton of unnecessary complexity.\r\n// Hydration also depends on some renderer internal logic which needs to be\r\n// passed in via arguments.\r\nfunction createHydrationFunctions(rendererInternals) {\r\n const { mt: mountComponent, p: patch, o: { patchProp, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;\r\n const hydrate = (vnode, container) => {\r\n if ((process.env.NODE_ENV !== 'production') && !container.hasChildNodes()) {\r\n warn(`Attempting to hydrate existing markup but container is empty. ` +\r\n `Performing full mount instead.`);\r\n patch(null, vnode, container);\r\n return;\r\n }\r\n hasMismatch = false;\r\n hydrateNode(container.firstChild, vnode, null, null);\r\n flushPostFlushCbs();\r\n if (hasMismatch && !false) {\r\n // this error should show up in production\r\n console.error(`Hydration completed but contains mismatches.`);\r\n }\r\n };\r\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, optimized = false) => {\r\n const isFragmentStart = isComment(node) && node.data === '[';\r\n const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, isFragmentStart);\r\n const { type, ref, shapeFlag } = vnode;\r\n const domType = node.nodeType;\r\n vnode.el = node;\r\n let nextNode = null;\r\n switch (type) {\r\n case Text:\r\n if (domType !== 3 /* TEXT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n if (node.data !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text mismatch:` +\r\n `\\n- Client: ${JSON.stringify(node.data)}` +\r\n `\\n- Server: ${JSON.stringify(vnode.children)}`);\r\n node.data = vnode.children;\r\n }\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Comment:\r\n if (domType !== 8 /* COMMENT */ || isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Static:\r\n if (domType !== 1 /* ELEMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n // determine anchor, adopt content\r\n nextNode = node;\r\n // if the static vnode has its content stripped during build,\r\n // adopt it from the server-rendered HTML.\r\n const needToAdoptContent = !vnode.children.length;\r\n for (let i = 0; i < vnode.staticCount; i++) {\r\n if (needToAdoptContent)\r\n vnode.children += nextNode.outerHTML;\r\n if (i === vnode.staticCount - 1) {\r\n vnode.anchor = nextNode;\r\n }\r\n nextNode = nextSibling(nextNode);\r\n }\r\n return nextNode;\r\n }\r\n break;\r\n case Fragment:\r\n if (!isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n if (domType !== 1 /* ELEMENT */ ||\r\n vnode.type !== node.tagName.toLowerCase()) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n // when setting up the render effect, if the initial vnode already\r\n // has .el set, the component will perform hydration instead of mount\r\n // on its sub-tree.\r\n const container = parentNode(node);\r\n const hydrateComponent = () => {\r\n mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);\r\n };\r\n // async component\r\n const loadAsync = vnode.type.__asyncLoader;\r\n if (loadAsync) {\r\n loadAsync().then(hydrateComponent);\r\n }\r\n else {\r\n hydrateComponent();\r\n }\r\n // component may be async, so in the case of fragments we cannot rely\r\n // on component's rendered output to determine the end of the fragment\r\n // instead, we do a lookahead to find the end anchor node.\r\n nextNode = isFragmentStart\r\n ? locateClosingAsyncAnchor(node)\r\n : nextSibling(node);\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n if (domType !== 8 /* COMMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, optimized, rendererInternals, hydrateChildren);\r\n }\r\n }\r\n else if ( shapeFlag & 128 /* SUSPENSE */) {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), optimized, rendererInternals, hydrateNode);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid HostVNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n if (ref != null) {\r\n setRef(ref, null, parentSuspense, vnode);\r\n }\r\n return nextNode;\r\n };\r\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, optimized) => {\r\n optimized = optimized || !!vnode.dynamicChildren;\r\n const { props, patchFlag, shapeFlag, dirs } = vnode;\r\n // skip props & children if this is hoisted static nodes\r\n if (patchFlag !== -1 /* HOISTED */) {\r\n if (dirs) {\r\n invokeDirectiveHook(vnode, null, parentComponent, 'created');\r\n }\r\n // props\r\n if (props) {\r\n if (!optimized ||\r\n (patchFlag & 16 /* FULL_PROPS */ ||\r\n patchFlag & 32 /* HYDRATE_EVENTS */)) {\r\n for (const key in props) {\r\n if (!isReservedProp(key) && isOn(key)) {\r\n patchProp(el, key, null, props[key]);\r\n }\r\n }\r\n }\r\n else if (props.onClick) {\r\n // Fast path for click listeners (which is most often) to avoid\r\n // iterating through props.\r\n patchProp(el, 'onClick', null, props.onClick);\r\n }\r\n }\r\n // vnode / directive hooks\r\n let vnodeHooks;\r\n if ((vnodeHooks = props && props.onVnodeBeforeMount)) {\r\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n }\r\n if (dirs) {\r\n invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');\r\n }\r\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs) {\r\n queueEffectWithSuspense(() => {\r\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n dirs && invokeDirectiveHook(vnode, null, parentComponent, 'mounted');\r\n }, parentSuspense);\r\n }\r\n // children\r\n if (shapeFlag & 16 /* ARRAY_CHILDREN */ &&\r\n // skip if element has innerHTML / textContent\r\n !(props && (props.innerHTML || props.textContent))) {\r\n let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, optimized);\r\n let hasWarned = false;\r\n while (next) {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${vnode.type}>: ` +\r\n `server rendered element contains more child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // The SSRed DOM contains more nodes than it should. Remove them.\r\n const cur = next;\r\n next = next.nextSibling;\r\n remove(cur);\r\n }\r\n }\r\n else if (shapeFlag & 8 /* TEXT_CHILDREN */) {\r\n if (el.textContent !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text content mismatch in <${vnode.type}>:\\n` +\r\n `- Client: ${el.textContent}\\n` +\r\n `- Server: ${vnode.children}`);\r\n el.textContent = vnode.children;\r\n }\r\n }\r\n }\r\n return el.nextSibling;\r\n };\r\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, optimized) => {\r\n optimized = optimized || !!parentVNode.dynamicChildren;\r\n const children = parentVNode.children;\r\n const l = children.length;\r\n let hasWarned = false;\r\n for (let i = 0; i < l; i++) {\r\n const vnode = optimized\r\n ? children[i]\r\n : (children[i] = normalizeVNode(children[i]));\r\n if (node) {\r\n node = hydrateNode(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n else {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +\r\n `server rendered element contains fewer child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // the SSRed DOM didn't contain enough nodes. Mount the missing ones.\r\n patch(null, vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container));\r\n }\r\n }\r\n return node;\r\n };\r\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, optimized) => {\r\n const container = parentNode(node);\r\n const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, optimized);\r\n if (next && isComment(next) && next.data === ']') {\r\n return nextSibling((vnode.anchor = next));\r\n }\r\n else {\r\n // fragment didn't hydrate successfully, since we didn't get a end anchor\r\n // back. This should have led to node/children mismatch warnings.\r\n hasMismatch = true;\r\n // since the anchor is missing, we need to create one and insert it\r\n insert((vnode.anchor = createComment(`]`)), container, next);\r\n return next;\r\n }\r\n };\r\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, isFragment) => {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration node mismatch:\\n- Client vnode:`, vnode.type, `\\n- Server rendered DOM:`, node, node.nodeType === 3 /* TEXT */\r\n ? `(text)`\r\n : isComment(node) && node.data === '['\r\n ? `(start of fragment)`\r\n : ``);\r\n vnode.el = null;\r\n if (isFragment) {\r\n // remove excessive fragment nodes\r\n const end = locateClosingAsyncAnchor(node);\r\n while (true) {\r\n const next = nextSibling(node);\r\n if (next && next !== end) {\r\n remove(next);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n const next = nextSibling(node);\r\n const container = parentNode(node);\r\n remove(node);\r\n patch(null, vnode, container, next, parentComponent, parentSuspense, isSVGContainer(container));\r\n return next;\r\n };\r\n const locateClosingAsyncAnchor = (node) => {\r\n let match = 0;\r\n while (node) {\r\n node = nextSibling(node);\r\n if (node && isComment(node)) {\r\n if (node.data === '[')\r\n match++;\r\n if (node.data === ']') {\r\n if (match === 0) {\r\n return nextSibling(node);\r\n }\r\n else {\r\n match--;\r\n }\r\n }\r\n }\r\n }\r\n return node;\r\n };\r\n return [hydrate, hydrateNode];\r\n}\n\nlet supported;\r\nlet perf;\r\nfunction startMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n perf.mark(`vue-${type}-${instance.uid}`);\r\n }\r\n}\r\nfunction endMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n const startTag = `vue-${type}-${instance.uid}`;\r\n const endTag = startTag + `:end`;\r\n perf.mark(endTag);\r\n perf.measure(`<${formatComponentName(instance, instance.type)}> ${type}`, startTag, endTag);\r\n perf.clearMarks(startTag);\r\n perf.clearMarks(endTag);\r\n }\r\n}\r\nfunction isSupported() {\r\n if (supported !== undefined) {\r\n return supported;\r\n }\r\n /* eslint-disable no-restricted-globals */\r\n if (typeof window !== 'undefined' && window.performance) {\r\n supported = true;\r\n perf = window.performance;\r\n }\r\n else {\r\n supported = false;\r\n }\r\n /* eslint-enable no-restricted-globals */\r\n return supported;\r\n}\n\n/**\r\n * This is only called in esm-bundler builds.\r\n * It is called when a renderer is created, in `baseCreateRenderer` so that\r\n * importing runtime-core is side-effects free.\r\n *\r\n * istanbul-ignore-next\r\n */\r\nfunction initFeatureFlags() {\r\n let needWarn = false;\r\n if (typeof __VUE_OPTIONS_API__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_OPTIONS_API__ = true;\r\n }\r\n if (typeof __VUE_PROD_DEVTOOLS__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && needWarn) {\r\n console.warn(`You are running the esm-bundler build of Vue. It is recommended to ` +\r\n `configure your bundler to explicitly replace feature flag globals ` +\r\n `with boolean literals to get proper tree-shaking in the final bundle. ` +\r\n `See http://link.vuejs.org/feature-flags for more details.`);\r\n }\r\n}\n\n// implementation, close to no-op\r\nfunction defineComponent(options) {\r\n return isFunction(options) ? { setup: options, name: options.name } : options;\r\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\r\nfunction defineAsyncComponent(source) {\r\n if (isFunction(source)) {\r\n source = { loader: source };\r\n }\r\n const { loader, loadingComponent: loadingComponent, errorComponent: errorComponent, delay = 200, timeout, // undefined = never times out\r\n suspensible = true, onError: userOnError } = source;\r\n let pendingRequest = null;\r\n let resolvedComp;\r\n let retries = 0;\r\n const retry = () => {\r\n retries++;\r\n pendingRequest = null;\r\n return load();\r\n };\r\n const load = () => {\r\n let thisRequest;\r\n return (pendingRequest ||\r\n (thisRequest = pendingRequest = loader()\r\n .catch(err => {\r\n err = err instanceof Error ? err : new Error(String(err));\r\n if (userOnError) {\r\n return new Promise((resolve, reject) => {\r\n const userRetry = () => resolve(retry());\r\n const userFail = () => reject(err);\r\n userOnError(err, userRetry, userFail, retries + 1);\r\n });\r\n }\r\n else {\r\n throw err;\r\n }\r\n })\r\n .then((comp) => {\r\n if (thisRequest !== pendingRequest && pendingRequest) {\r\n return pendingRequest;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && !comp) {\r\n warn(`Async component loader resolved to undefined. ` +\r\n `If you are using retry(), make sure to return its return value.`);\r\n }\r\n // interop module default\r\n if (comp &&\r\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\r\n comp = comp.default;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && comp && !isObject(comp) && !isFunction(comp)) {\r\n throw new Error(`Invalid async component load result: ${comp}`);\r\n }\r\n resolvedComp = comp;\r\n return comp;\r\n })));\r\n };\r\n return defineComponent({\r\n __asyncLoader: load,\r\n name: 'AsyncComponentWrapper',\r\n setup() {\r\n const instance = currentInstance;\r\n // already resolved\r\n if (resolvedComp) {\r\n return () => createInnerComp(resolvedComp, instance);\r\n }\r\n const onError = (err) => {\r\n pendingRequest = null;\r\n handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);\r\n };\r\n // suspense-controlled or SSR.\r\n if (( suspensible && instance.suspense) ||\r\n (false )) {\r\n return load()\r\n .then(comp => {\r\n return () => createInnerComp(comp, instance);\r\n })\r\n .catch(err => {\r\n onError(err);\r\n return () => errorComponent\r\n ? createVNode(errorComponent, {\r\n error: err\r\n })\r\n : null;\r\n });\r\n }\r\n const loaded = ref(false);\r\n const error = ref();\r\n const delayed = ref(!!delay);\r\n if (delay) {\r\n setTimeout(() => {\r\n delayed.value = false;\r\n }, delay);\r\n }\r\n if (timeout != null) {\r\n setTimeout(() => {\r\n if (!loaded.value && !error.value) {\r\n const err = new Error(`Async component timed out after ${timeout}ms.`);\r\n onError(err);\r\n error.value = err;\r\n }\r\n }, timeout);\r\n }\r\n load()\r\n .then(() => {\r\n loaded.value = true;\r\n })\r\n .catch(err => {\r\n onError(err);\r\n error.value = err;\r\n });\r\n return () => {\r\n if (loaded.value && resolvedComp) {\r\n return createInnerComp(resolvedComp, instance);\r\n }\r\n else if (error.value && errorComponent) {\r\n return createVNode(errorComponent, {\r\n error: error.value\r\n });\r\n }\r\n else if (loadingComponent && !delayed.value) {\r\n return createVNode(loadingComponent);\r\n }\r\n };\r\n }\r\n });\r\n}\r\nfunction createInnerComp(comp, { vnode: { ref, props, children } }) {\r\n const vnode = createVNode(comp, props, children);\r\n // ensure inner component inherits the async wrapper's ref owner\r\n vnode.ref = ref;\r\n return vnode;\r\n}\n\nconst prodEffectOptions = {\r\n scheduler: queueJob,\r\n // #1801, #2043 component render effects should allow recursive updates\r\n allowRecurse: true\r\n};\r\nfunction createDevEffectOptions(instance) {\r\n return {\r\n scheduler: queueJob,\r\n allowRecurse: true,\r\n onTrack: instance.rtc ? e => invokeArrayFns(instance.rtc, e) : void 0,\r\n onTrigger: instance.rtg ? e => invokeArrayFns(instance.rtg, e) : void 0\r\n };\r\n}\r\nconst queuePostRenderEffect = queueEffectWithSuspense\r\n ;\r\nconst setRef = (rawRef, oldRawRef, parentSuspense, vnode) => {\r\n if (isArray(rawRef)) {\r\n rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode));\r\n return;\r\n }\r\n let value;\r\n if (!vnode || isAsyncWrapper(vnode)) {\r\n value = null;\r\n }\r\n else {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n value = vnode.component.exposed || vnode.component.proxy;\r\n }\r\n else {\r\n value = vnode.el;\r\n }\r\n }\r\n const { i: owner, r: ref } = rawRef;\r\n if ((process.env.NODE_ENV !== 'production') && !owner) {\r\n warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +\r\n `A vnode with ref must be created inside the render function.`);\r\n return;\r\n }\r\n const oldRef = oldRawRef && oldRawRef.r;\r\n const refs = owner.refs === EMPTY_OBJ ? (owner.refs = {}) : owner.refs;\r\n const setupState = owner.setupState;\r\n // unset old ref\r\n if (oldRef != null && oldRef !== ref) {\r\n if (isString(oldRef)) {\r\n refs[oldRef] = null;\r\n if (hasOwn(setupState, oldRef)) {\r\n setupState[oldRef] = null;\r\n }\r\n }\r\n else if (isRef(oldRef)) {\r\n oldRef.value = null;\r\n }\r\n }\r\n if (isString(ref)) {\r\n const doSet = () => {\r\n refs[ref] = value;\r\n if (hasOwn(setupState, ref)) {\r\n setupState[ref] = value;\r\n }\r\n };\r\n // #1789: for non-null values, set them after render\r\n // null values means this is unmount and it should not overwrite another\r\n // ref with the same key\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if (isRef(ref)) {\r\n const doSet = () => {\r\n ref.value = value;\r\n };\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if (isFunction(ref)) {\r\n callWithErrorHandling(ref, owner, 12 /* FUNCTION_REF */, [value, refs]);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid template ref type:', value, `(${typeof value})`);\r\n }\r\n};\r\n/**\r\n * The createRenderer function accepts two generic arguments:\r\n * HostNode and HostElement, corresponding to Node and Element types in the\r\n * host environment. For example, for runtime-dom, HostNode would be the DOM\r\n * `Node` interface and HostElement would be the DOM `Element` interface.\r\n *\r\n * Custom renderers can pass in the platform specific types like this:\r\n *\r\n * ``` js\r\n * const { render, createApp } = createRenderer({\r\n * patchProp,\r\n * ...nodeOps\r\n * })\r\n * ```\r\n */\r\nfunction createRenderer(options) {\r\n return baseCreateRenderer(options);\r\n}\r\n// Separate API for creating hydration-enabled renderer.\r\n// Hydration logic is only used when calling this function, making it\r\n// tree-shakable.\r\nfunction createHydrationRenderer(options) {\r\n return baseCreateRenderer(options, createHydrationFunctions);\r\n}\r\n// implementation\r\nfunction baseCreateRenderer(options, createHydrationFns) {\r\n // compile-time feature flags check\r\n {\r\n initFeatureFlags();\r\n }\r\n const { insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, forcePatchProp: hostForcePatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = NOOP, cloneNode: hostCloneNode, insertStaticContent: hostInsertStaticContent } = options;\r\n // Note: functions inside this closure should use `const xxx = () => {}`\r\n // style in order to prevent being inlined by minifiers.\r\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, optimized = false) => {\r\n // patching & not same type, unmount old tree\r\n if (n1 && !isSameVNodeType(n1, n2)) {\r\n anchor = getNextHostNode(n1);\r\n unmount(n1, parentComponent, parentSuspense, true);\r\n n1 = null;\r\n }\r\n if (n2.patchFlag === -2 /* BAIL */) {\r\n optimized = false;\r\n n2.dynamicChildren = null;\r\n }\r\n const { type, ref, shapeFlag } = n2;\r\n switch (type) {\r\n case Text:\r\n processText(n1, n2, container, anchor);\r\n break;\r\n case Comment:\r\n processCommentNode(n1, n2, container, anchor);\r\n break;\r\n case Static:\r\n if (n1 == null) {\r\n mountStaticNode(n2, container, anchor, isSVG);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n patchStaticNode(n1, n2, container, isSVG);\r\n }\r\n break;\r\n case Fragment:\r\n processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);\r\n }\r\n else if ( shapeFlag & 128 /* SUSPENSE */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid VNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n // set ref\r\n if (ref != null && parentComponent) {\r\n setRef(ref, n1 && n1.ref, parentSuspense, n2);\r\n }\r\n };\r\n const processText = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateText(n2.children)), container, anchor);\r\n }\r\n else {\r\n const el = (n2.el = n1.el);\r\n if (n2.children !== n1.children) {\r\n hostSetText(el, n2.children);\r\n }\r\n }\r\n };\r\n const processCommentNode = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateComment(n2.children || '')), container, anchor);\r\n }\r\n else {\r\n // there's no support for dynamic comments\r\n n2.el = n1.el;\r\n }\r\n };\r\n const mountStaticNode = (n2, container, anchor, isSVG) => {\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\r\n };\r\n /**\r\n * Dev / HMR only\r\n */\r\n const patchStaticNode = (n1, n2, container, isSVG) => {\r\n // static nodes are only patched during dev for HMR\r\n if (n2.children !== n1.children) {\r\n const anchor = hostNextSibling(n1.anchor);\r\n // remove existing\r\n removeStaticNode(n1);\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\r\n }\r\n else {\r\n n2.el = n1.el;\r\n n2.anchor = n1.anchor;\r\n }\r\n };\r\n const moveStaticNode = ({ el, anchor }, container, nextSibling) => {\r\n let next;\r\n while (el && el !== anchor) {\r\n next = hostNextSibling(el);\r\n hostInsert(el, container, nextSibling);\r\n el = next;\r\n }\r\n hostInsert(anchor, container, nextSibling);\r\n };\r\n const removeStaticNode = ({ el, anchor }) => {\r\n let next;\r\n while (el && el !== anchor) {\r\n next = hostNextSibling(el);\r\n hostRemove(el);\r\n el = next;\r\n }\r\n hostRemove(anchor);\r\n };\r\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\r\n isSVG = isSVG || n2.type === 'svg';\r\n if (n1 == null) {\r\n mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else {\r\n patchElement(n1, n2, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n };\r\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\r\n let el;\r\n let vnodeHook;\r\n const { type, props, shapeFlag, transition, scopeId, patchFlag, dirs } = vnode;\r\n if (!(process.env.NODE_ENV !== 'production') &&\r\n vnode.el &&\r\n hostCloneNode !== undefined &&\r\n patchFlag === -1 /* HOISTED */) {\r\n // If a vnode has non-null el, it means it's being reused.\r\n // Only static vnodes can be reused, so its mounted DOM nodes should be\r\n // exactly the same, and we can simply do a clone here.\r\n // only do this in production since cloned trees cannot be HMR updated.\r\n el = vnode.el = hostCloneNode(vnode.el);\r\n }\r\n else {\r\n el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is);\r\n // mount children first, since some props may rely on child content\r\n // being already rendered, e.g. `