From 931aea917d03880cb3ad5ddf8847ce75d02bac61 Mon Sep 17 00:00:00 2001 From: Safraz Razik Date: Tue, 17 Dec 2019 22:07:10 +0530 Subject: [PATCH] Add dist files --- dist/vue-file-agent.common.js | 19 ++++++++----------- dist/vue-file-agent.common.js.map | 2 +- dist/vue-file-agent.umd.js | 19 ++++++++----------- dist/vue-file-agent.umd.js.map | 2 +- dist/vue-file-agent.umd.min.js | 2 +- dist/vue-file-agent.umd.min.js.map | 2 +- 6 files changed, 20 insertions(+), 26 deletions(-) diff --git a/dist/vue-file-agent.common.js b/dist/vue-file-agent.common.js index cab607a..eac85e2 100644 --- a/dist/vue-file-agent.common.js +++ b/dist/vue-file-agent.common.js @@ -563,8 +563,8 @@ var component = normalizeComponent( ) /* harmony default export */ var vue_file_icon = (component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"032644aa-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/vue-file-preview.vue?vue&type=template&id=6265c58c& -var vue_file_previewvue_type_template_id_6265c58c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[ +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"032644aa-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/vue-file-preview.vue?vue&type=template&id=1f00ad11& +var vue_file_previewvue_type_template_id_1f00ad11_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[ 'file-preview-wrapper-' + _vm.fileData.ext(), _vm.fileData.isImage() ? 'file-preview-wrapper-image' : 'file-preview-wrapper-other', 'file-category-' + _vm.fileData.icon().category, @@ -578,15 +578,15 @@ var vue_file_previewvue_type_template_id_6265c58c_render = function () {var _vm= 'dark-content': _vm.fileData.isImage() && _vm.fileData.isDarkColor(), },style:({ 'background-color': _vm.fileData.color(), - })},[_c('span',{staticClass:"file-preview-overlay"}),_c('span',{staticClass:"thumbnail",staticStyle:{"position":"absolute","top":"0","right":"0","bottom":"0","left":"0","overflow":"hidden"}},[(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('img',{staticClass:"file-preview-img",attrs:{"src":_vm.fileData.src()}}):_vm._e()]),_c('span',{staticClass:"file-ext"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:"file-size"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:"file-delete",on:{"click":function($event){return _vm.removeFileData(_vm.fileData)},"touchstart":function($event){return _vm.filenameClearPressed()},"mousedown":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{"name":"system-close"}})],1):_vm._e(),_c('span',{staticClass:"file-name",on:{"click":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:"input",staticClass:"file-name-input",attrs:{"disabled":_vm.disabled === true,"type":"text"},domProps:{"value":_vm.fileData.name(true)},on:{"focus":function($event){return _vm.editInputFocused()},"blur":function($event){return _vm.editInputBlured()},"change":function($event){return _vm.filenameChanged()},"input":function($event){return _vm.filenameChanged()},"keyup":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:"file-name-edit-icon"},[_c('VueFileIcon',{attrs:{"name":"system-file-name-edit"}})],1):_vm._e(),_c('span',{staticClass:"file-name-text"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:"image-dimension"},[_c('span',{staticClass:"image-dimension-width"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:"image-dimension-height"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:"file-progress",class:{ + })},[_c('span',{staticClass:"file-preview-overlay"}),(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('span',{staticClass:"thumbnail",staticStyle:{"position":"absolute","top":"0","right":"0","bottom":"0","left":"0","overflow":"hidden"}},[(_vm.hasLinkableUrl)?_c('a',{attrs:{"href":_vm.fileData.url,"target":"_blank","title":_vm.fileData.name()}},[_c('img',{staticClass:"file-preview-img",attrs:{"src":_vm.fileData.src()}})]):_c('img',{staticClass:"file-preview-img",attrs:{"src":_vm.fileData.src()}})]):_vm._e(),_c('span',{staticClass:"file-ext"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:"file-size"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:"file-delete",on:{"click":function($event){return _vm.removeFileData(_vm.fileData)},"touchstart":function($event){return _vm.filenameClearPressed()},"mousedown":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{"name":"system-close"}})],1):_vm._e(),_c('span',{staticClass:"file-name",on:{"click":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:"input",staticClass:"file-name-input",attrs:{"disabled":_vm.disabled === true,"type":"text"},domProps:{"value":_vm.fileData.name(true)},on:{"focus":function($event){return _vm.editInputFocused()},"blur":function($event){return _vm.editInputBlured()},"change":function($event){return _vm.filenameChanged()},"input":function($event){return _vm.filenameChanged()},"keyup":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:"file-name-edit-icon"},[_c('VueFileIcon',{attrs:{"name":"system-file-name-edit"}})],1):_vm._e(),_c('span',{staticClass:"file-name-text"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:"image-dimension"},[_c('span',{staticClass:"image-dimension-width"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:"image-dimension-height"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:"file-progress",class:{ 'file-progress-full': _vm.fileData.progress() >= 99.9999, 'file-progress-done': _vm.fileData.progress() >= 100, 'has-file-progress': _vm.fileData.progress() > 0, }},[_c('span',{staticClass:"file-progress-bar",style:({ width: _vm.fileData.progress() + '%' })})]):_vm._e(),_c('span',{staticClass:"file-icon"},[(_vm.hasLinkableUrl)?_c('a',{attrs:{"href":_vm.fileData.url,"target":"_blank","title":_vm.fileData.name()}},[_c('VueFileIcon',{attrs:{"ext":_vm.fileData.ext()}})],1):_c('VueFileIcon',{attrs:{"ext":_vm.fileData.ext()}})],1)])])} -var vue_file_previewvue_type_template_id_6265c58c_staticRenderFns = [] +var vue_file_previewvue_type_template_id_1f00ad11_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/vue-file-preview.vue?vue&type=template&id=6265c58c& +// CONCATENATED MODULE: ./src/components/vue-file-preview.vue?vue&type=template&id=1f00ad11& // CONCATENATED MODULE: ./src/lib/drop-handler.ts function getFilesFromDroppedItems(dataTransfer) { @@ -1395,10 +1395,7 @@ var file_data_FileData = /** @class */ (function () { if (!this.linkable) { return false; } - return (!!this.fileData.url && - !this.fileData.isImage() && - !this.fileData.isPlayableVideo() && - !this.fileData.isPlayableAudio()); + return !!this.fileData.url && !this.fileData.isPlayableVideo() && !this.fileData.isPlayableAudio(); }, }, methods: { @@ -1558,8 +1555,8 @@ var file_data_FileData = /** @class */ (function () { var vue_file_preview_component = normalizeComponent( components_vue_file_previewvue_type_script_lang_ts_, - vue_file_previewvue_type_template_id_6265c58c_render, - vue_file_previewvue_type_template_id_6265c58c_staticRenderFns, + vue_file_previewvue_type_template_id_1f00ad11_render, + vue_file_previewvue_type_template_id_1f00ad11_staticRenderFns, false, null, null, diff --git a/dist/vue-file-agent.common.js.map b/dist/vue-file-agent.common.js.map index 2921358..aaecf73 100644 --- a/dist/vue-file-agent.common.js.map +++ b/dist/vue-file-agent.common.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://vue-file-agent/webpack/bootstrap","webpack://vue-file-agent/./src/components/vue-file-agent.vue?b54a","webpack://vue-file-agent/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue-file-agent/./src/components/vue-file-agent.vue?96c5","webpack://vue-file-agent/./node_modules/current-script-polyfill/currentScript.js","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue?1b6f","webpack://vue-file-agent/./src/lib/extensions.ts","webpack://vue-file-agent/./src/lib/icons.ts","webpack://vue-file-agent/./src/components/vue-file-icon.vue?22fe","webpack://vue-file-agent/./src/components/vue-file-icon.vue?ff5c","webpack://vue-file-agent/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue","webpack://vue-file-agent/./src/components/vue-file-preview.vue?ce43","webpack://vue-file-agent/./src/lib/drop-handler.ts","webpack://vue-file-agent/./src/lib/utils.ts","webpack://vue-file-agent/./src/lib/file-data.ts","webpack://vue-file-agent/./src/components/vue-file-preview-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-preview.vue?2ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue?6ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue","webpack://vue-file-agent/./src/components/vue-file-list.vue?20f8","webpack://vue-file-agent/./src/components/vue-file-list.vue?5199","webpack://vue-file-agent/./src/components/vue-file-list.vue?8914","webpack://vue-file-agent/./src/components/vue-file-list.vue","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?85d9","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?cc4e","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?09a3","webpack://vue-file-agent/./src/components/vue-file-list-item.vue","webpack://vue-file-agent/./src/components/vue-file-agent.vue?0925","webpack://vue-file-agent/./node_modules/tslib/tslib.es6.js","webpack://vue-file-agent/./src/lib/ajax-request.ts","webpack://vue-file-agent/./src/lib/upload-helper.ts","webpack://vue-file-agent/./src/lib/plugins.ts","webpack://vue-file-agent/./src/components/vue-file-agent-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-agent.vue?36b6","webpack://vue-file-agent/./src/components/vue-file-agent.vue?54cf","webpack://vue-file-agent/./src/components/vue-file-agent.vue","webpack://vue-file-agent/./src/index.ts","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":[],"mappings":"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","file":"vue-file-agent.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"","module.exports = require(\"vue\");","// extracted by mini-css-extract-plugin","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":_vm.viewBoxComputed}},[_vm._l((_vm.icon.paths),function(d,index){return [(d)?_c('path',{key:index,attrs:{\"d\":d}}):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n 'audio': [\r\n 'aif',\r\n 'cda',\r\n 'mid',\r\n 'midi',\r\n // 'mp3',\r\n 'mpa',\r\n // 'ogg',\r\n // 'wav',\r\n 'wma',\r\n 'wpl',\r\n ],\r\n 'audio-playable': ['mp3', 'ogg', 'wav'],\r\n 'archive': ['7z', 'arj', 'deb', 'pkg', 'rar', 'rpm', 'tar.gz', 'z', 'zip'],\r\n 'disc': [\r\n // 'bin',\r\n 'dmg',\r\n 'iso',\r\n 'toast',\r\n 'vcd',\r\n ],\r\n 'database': [\r\n 'csv',\r\n 'dat',\r\n 'db',\r\n 'dbf',\r\n 'log',\r\n 'mdb',\r\n 'sav',\r\n 'sql',\r\n 'tar',\r\n // 'xml'\r\n ],\r\n 'executable': ['apk', 'bat', 'bin', 'cgi', 'pl', 'com', 'exe', 'gadget', 'jar', 'py', 'wsf', 'ipa'],\r\n 'font': ['fnt', 'fon', 'otf', 'ttf'],\r\n 'image': ['ai', 'bmp', 'gif', 'ico', 'jpeg', 'jpg', 'png', 'ps', 'psd', 'svg', 'tif', 'tiff'],\r\n 'markup': [\r\n 'asp',\r\n 'aspx',\r\n 'cer',\r\n 'cfm',\r\n 'cgi',\r\n 'pl',\r\n 'css',\r\n 'scss',\r\n 'htm',\r\n 'html',\r\n 'jsp',\r\n // 'vue',\r\n 'part',\r\n 'php',\r\n 'py',\r\n 'rss',\r\n 'xml',\r\n 'xhtml',\r\n ],\r\n 'presentation': ['key', 'odp', 'pps', 'ppt', 'pptx'],\r\n 'script': ['c', 'class', 'cpp', 'cs', 'h', 'java', 'js', 'json', 'sh', 'swift', 'vb'],\r\n 'sheet': ['ods', 'xlr', 'xls', 'xlsx'],\r\n 'system': [\r\n 'bak',\r\n 'cab',\r\n 'cfg',\r\n 'cpl',\r\n 'cur',\r\n 'dll',\r\n 'dmp',\r\n 'drv',\r\n 'icns',\r\n // 'ico',\r\n 'ini',\r\n 'lnk',\r\n 'msi',\r\n 'sys',\r\n 'tmp',\r\n ],\r\n 'video': [\r\n '3g2',\r\n '3gp',\r\n 'avi',\r\n 'flv',\r\n 'h264',\r\n // 'm4v',\r\n 'mkv',\r\n // 'mov',\r\n // 'mp4',\r\n 'mpg',\r\n 'mpeg',\r\n 'rm',\r\n 'swf',\r\n 'vob',\r\n // 'webm',\r\n 'wmv',\r\n ],\r\n 'video-playable': ['mp4', 'webm', 'mov'],\r\n 'vue': ['vue'],\r\n 'doc': [\r\n 'doc',\r\n 'docx',\r\n 'odt',\r\n 'rtf',\r\n 'tex',\r\n // 'txt',\r\n 'wks',\r\n 'wps',\r\n 'wpd',\r\n ],\r\n 'text': ['txt'],\r\n 'ebook': ['epub'],\r\n 'pdf': ['pdf'],\r\n 'folder': ['folder'],\r\n 'play': ['play'],\r\n};\r\n","import extensions from '../lib/extensions';\r\n\r\nexport class SvgIcon {\r\n public category: string = '';\r\n constructor(public paths: string[], public color?: string, public viewBox?: string) {}\r\n}\r\n\r\nconst playIconPaths = ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'];\r\n\r\nconst icons = {\r\n 'folder': new SvgIcon(\r\n [\r\n 'M96.5 93.7h-93c-2 0-3.5-1.5-3.5-3.5V35.4h100v54.8c0 2-1.5 3.5-3.5 3.5z',\r\n 'M44.9 20V9.7c0-2-1.5-3.5-3.5-3.5h-38C1.5 6.3 0 7.8 0 9.7v25.7h100V23.5c0-2-1.5-3.5-3.5-3.5H44.9z',\r\n ],\r\n '#efce4a',\r\n ),\r\n 'audio': new SvgIcon(\r\n [\r\n 'M32.5 37.5h-9v25h9L53.6 77V23L32.5 37.5M71.9 50c0 6.8-3.7 12.7-9.1 15.8l2.8 4.9c7.1-4.1 11.9-11.8 11.9-20.7 0-8.8-4.8-16.6-11.9-20.7l-2.8 4.9c5.4 3.1 9.1 9 9.1 15.8z',\r\n // tslint:disable-next-line\r\n 'M62.1 50c0 3.2-1.7 5.9-4.3 7.4l2.7 4.7c4.2-2.4 7-6.9 7-12.1 0-5.2-2.8-9.7-7-12.1l-2.7 4.7c2.6 1.5 4.3 4.2 4.3 7.4z',\r\n ],\r\n '#039',\r\n ),\r\n 'video': new SvgIcon(\r\n [\r\n 'M21 26.4v47.1h58V26.4H21zm10.9 43.5h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2zm10.9 25.4V37.3L60.9 50 42.8 62.7zm32.6 7.2h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2z',\r\n ],\r\n '#ef6f2e',\r\n ),\r\n 'audio-playable': new SvgIcon(playIconPaths, '#039', '0 0 48 48'),\r\n 'video-playable': new SvgIcon(playIconPaths, '#ef6f2e', '0 0 48 48'),\r\n 'archive': new SvgIcon(\r\n [\r\n 'M72.4 38.5h-7.9v-7.9l7.9 7.9zm-21.3-7.9v28.8h21.4v-19h-9.9v-9.9H51.1zm3.3-7.6H30.8v5.6h9.3l-5.9 4.5v4.8l8.6-6.6v-2.7h30.1v-2.3L54.4 23zM42.9 35.1l-8.6 6.6v4.8l8.6-6.6v-4.8zm-8.7 20l8.6-6.6v-4.8l-8.6 6.6v4.8zm8.7 2v-4.8l-8.6 6.6v2.6h-3.4v5.6h5.3v3.8H33c-.6-1-1.6-1.6-2.8-1.6-1.8 0-3.2 1.4-3.2 3.2s1.4 3.2 3.2 3.2c1.2 0 2.2-.6 2.8-1.6h3.1V77h4.8v-2.9H44c.6 1 1.6 1.6 2.8 1.6 1.8 0 3.2-1.4 3.2-3.2s-1.4-3.2-3.2-3.2c-1.2 0-2.2.6-2.8 1.6h-3.1v-3.8h13.5l18.5-3.3v-2.3H37.1l5.8-4.4z',\r\n ],\r\n '#ba8322',\r\n ),\r\n 'system': new SvgIcon(\r\n [\r\n 'M73.6 54.8c-2.1-.7-3.4-2.6-3.4-4.8s1.4-4.1 3.4-4.8c.6-.2 1-.9.8-1.5-.6-2.3-1.5-4.4-2.7-6.5-.3-.6-1.1-.8-1.7-.5-.7.4-1.6.6-2.4.6-2.8 0-5-2.3-5-5 0-.8.2-1.7.6-2.4.3-.6.1-1.3-.5-1.7-2-1.2-4.2-2.1-6.5-2.7-.6-.2-1.3.2-1.5.8-.7 2.1-2.6 3.4-4.8 3.4-2.2 0-4.1-1.4-4.8-3.4-.2-.6-.9-1-1.5-.8-2.3.6-4.4 1.5-6.5 2.7-.6.3-.8 1.1-.5 1.7.4.7.6 1.6.6 2.4 0 2.8-2.3 5-5 5-.8 0-1.7-.2-2.4-.6-.6-.3-1.3-.1-1.7.5-1.2 2-2.1 4.2-2.7 6.5-.2.6.2 1.3.8 1.5 2.1.7 3.4 2.6 3.4 4.8s-1.4 4.1-3.4 4.8c-.6.2-1 .9-.8 1.5.6 2.3 1.5 4.4 2.7 6.5.3.6 1.1.8 1.7.5.7-.4 1.6-.6 2.4-.6 2.8 0 5 2.3 5 5 0 .8-.2 1.7-.6 2.4-.3.6-.1 1.3.5 1.7 2 1.2 4.2 2.1 6.5 2.7h.3c.5 0 1-.3 1.2-.9.7-2.1 2.6-3.4 4.8-3.4 2.2 0 4.1 1.4 4.8 3.4.2.6.9 1 1.5.8 2.3-.6 4.4-1.5 6.5-2.7.6-.3.8-1.1.5-1.7-.4-.7-.6-1.6-.6-2.4 0-2.8 2.3-5 5-5 .8 0 1.7.2 2.4.6.6.3 1.3.1 1.7-.5 1.2-2 2.1-4.2 2.7-6.5.2-.5-.1-1.2-.8-1.4zM50 57.6c-4.2 0-7.6-3.4-7.6-7.6 0-4.2 3.4-7.6 7.6-7.6 4.2 0 7.6 3.4 7.6 7.6 0 4.2-3.4 7.6-7.6 7.6z',\r\n ],\r\n '#999',\r\n ),\r\n 'image': new SvgIcon(\r\n [\r\n 'm 40.400002,35 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z',\r\n 'M78.9 47.3l-9.7-9.6L50 57l-9.6-9.7-19.3 19.3V73h57.8z',\r\n ],\r\n '#5b2d8d',\r\n ),\r\n 'doc': new SvgIcon(\r\n [\r\n 'M29.6 53l-5.9-18.2c-.2-.7-.4-1-.5-1-.1-.1-.2-.1-.4-.2l-2.1-.6-.1-2.6h11l.2 2.6-2.1.6v.2c0 .2.1.7.4 1.2l2.2 7 3.9-11.7 3-.1 3.6 11.7 2.5-7c.1-.5.4-1 .4-1.2v-.1l-1.8-.5-.1-2.7h8.6l.2 2.6-2.3.7c-.1 0-.2.1-.4.1 0 .1-.2.2-.4.9L43 52.8l-3.1.2-3.3-11.2-3.9 11-3.1.2z',\r\n 'M57.8 30.2h21.7v3.4H57.8zm0 9.2h21.7v3.4H57.8zm0 9.4h21.7v3.4H57.8zm-36.2 9.6h57.9v3.4H21.6zm0 9.4h57.9v3.4H21.6z',\r\n ],\r\n '#2372ba',\r\n ),\r\n 'executable': new SvgIcon(\r\n ['M33.1 29.8l-6.6 6.6L37.2 47 26.5 57.6l6.6 6.6L50.2 47zm18.8 31.1h22.6v9.2H51.9z'],\r\n '#333',\r\n ),\r\n 'ebook': new SvgIcon(\r\n [\r\n 'M75.8 45.7c-.3-.6-.7-1.2-1.3-1.6-.1.5-.3 1-.6 1.5L58.3 69.8c-.6.9-1.9 1.1-2.9.8l-25-7c-1.5-.4-3.3-1.3-3.4-3 0-.6 0-.9.4-1.1.3-.3.8-.2 1.1-.1L52 66c3.4 1 4.4.2 6.9-3.5l14.4-22.2c.7-1.2.9-2.5.5-3.6s-1.4-2-2.7-2.4l-20.6-5.7c-.5-.1-1-.1-1.5-.1v-.1c-3.2-1.9-4.4 1.7-6 3-.6.5-1.4.8-1.7 1.3-.2.5-.1 1-.3 1.4-.6 1.4-2.4 3.6-3.3 4.3-.6.4-1.2.5-1.6 1.1-.3.4-.2 1.1-.4 1.6-.5 1.2-2.1 3.3-3.2 4.4-.4.4-1 .6-1.3 1.1-.3.4-.2 1.1-.4 1.6-.7 1.3-2.2 3.2-3.4 4.3-.6.6-1.3.9-1.6 1.5-.1.3 0 .7-.2 1.1-.2.6-.5 1.1-.7 1.7-.7.9-1 2.1-.9 3.4.2 3.1 2.5 6 5.3 6.8l25 7c2.3.6 5.2-.5 6.6-2.5l14.4-22.2c.7-1.1.9-2.4.5-3.6zm-28.9-7.9l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1l-1.1 1.6c-.3.4-.9.7-1.4.5l-16.5-4.6c-.5-.2-.7-.6-.4-1zM42.7 44l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1L60.9 49c-.3.4-.9.7-1.4.5L43.1 45c-.5-.1-.7-.6-.4-1z',\r\n ],\r\n '#963',\r\n ),\r\n 'markup': new SvgIcon(\r\n [\r\n 'M21.5 48.3l16.2-14v7.1l-11 9.2v.1l11 9.2V67L21.5 53v-4.7zm30.6-17.6h4.3L48 71.3h-4.2l8.3-40.6zM62.3 60l11-9.2v-.1l-11-9.2v-7.1l16.2 14v4.9l-16.2 14V60z',\r\n ] /* no color? */,\r\n ),\r\n 'script': new SvgIcon(\r\n [\r\n 'M42.3 44.2h15.4V48H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zM69.2 25H38.5c-4.2 0-7.7 3.4-7.7 7.7v34.6h-7.7c0 4.2 3.4 7.7 7.7 7.7h30.8c4.2 0 7.7-3.4 7.7-7.7V36.5H77v-3.8c-.1-4.3-3.5-7.7-7.8-7.7zm-3.8 41.6c0 2.5-2 4.5-4.5 4.5H32.7c1.9-1.3 1.9-3.8 1.9-3.8V32.7c0-2.1 1.7-3.8 3.8-3.8s3.8 1.7 3.8 3.8v3.8h23.1v30.1zM46.2 32.7v-3.8h23.1c3.5 0 3.8 2.2 3.8 3.8H46.2z',\r\n ] /* no color? */,\r\n ),\r\n 'disc': new SvgIcon(\r\n [\r\n 'M46.9 50c0 .8.3 1.6.9 2.2 1.2 1.2 3.2 1.2 4.4 0 .6-.6.9-1.4.9-2.2 0-.8-.3-1.6-.9-2.2-.6-.6-1.4-.9-2.2-.9-.8 0-1.6.3-2.2.9-.6.6-.9 1.4-.9 2.2z',\r\n 'M32.3 32.3c-9.8 9.8-9.8 25.6 0 35.4 9.8 9.8 25.6 9.8 35.4 0 9.8-9.8 9.8-25.6 0-35.4-9.8-9.7-25.6-9.7-35.4 0zm37 28.2c-.9 1.7-2.1 3.2-3.5 4.6-1.4 1.4-3 2.6-4.6 3.5l-5.8-11.1s.5-.2 1.6-1.2c1.1-1.1 1.3-1.6 1.3-1.6l11 5.8zM54.4 45.6c1.2 1.2 1.8 2.8 1.8 4.4 0 1.6-.6 3.2-1.8 4.4-2.4 2.4-6.4 2.4-8.8 0-1.2-1.2-1.8-2.8-1.8-4.4 0-1.6.6-3.2 1.8-4.4a6.1 6.1 0 0 1 8.8 0zm-8.5-4.4s-1.2.7-2.2 1.8c-.9 1-1 1.2-1.3 1.7l-11-5.9c.9-1.7 2.1-3.2 3.5-4.6 1.4-1.4 3-2.6 4.6-3.5l6.4 10.5z',\r\n ],\r\n '#c96',\r\n ),\r\n 'text': new SvgIcon(\r\n ['M69.4 28.6v5.5H21.5v-5.5M30.6 41h47.9v5.6H30.6zm-9.1 12.4h47.9V59H21.5zm9.1 12.5h47.9v5.6H30.6z'],\r\n '#6b533b',\r\n ),\r\n 'database': new SvgIcon(\r\n [\r\n 'M48.1 75.5c-6.5-.3-12.3-2.3-15.4-5.4-.9-.9-1.8-2.1-2.2-2.9l-.3-.5v-6.1c0-6 0-6.1.1-5.6.3 1.3 1.1 2.7 2.3 3.7.8.7 2.5 1.8 3.8 2.5 2.4 1.2 5.2 2 8.4 2.5 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.3-2.5 1.4-.7 3-1.7 3.8-2.5 1.1-1 2-2.5 2.3-3.8.1-.5.1-.4.1 5.5v6l-.3.6c-1 1.9-2.6 3.6-4.7 4.8-4.3 2.7-10.5 4-16.8 3.7z',\r\n 'M48.1 60.4c-5.7-.3-11-1.9-14.3-4.4-.7-.6-1.8-1.6-2.3-2.2-.4-.6-.8-1.2-1.1-1.8l-.3-.5v-6c0-5.9 0-6 .1-5.5.2.9.7 2 1.5 2.9.4.5 1.1 1.2 1.5 1.4.1.1.5.3.7.5 2.7 1.9 6.5 3.3 10.8 3.9 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.4-2.5 1.4-.7 3-1.8 3.9-2.5 1.1-1 2-2.4 2.2-3.7.1-.5.1-.4.1 5.5v5.9l-.4.8c-.7 1.2-1.1 1.8-1.9 2.7-.8.8-1.6 1.5-2.7 2.1-4.3 2.4-10.5 3.7-16.8 3.4z',\r\n 'M47.7 45.4c-3.8-.3-6.8-.9-9.6-2-3.4-1.3-5.8-3.1-7.1-5.2-.3-.4-.5-1-.7-1.6-.2-.6-.3-2-.1-2.7.9-4.3 6.6-7.9 14.5-9 1.9-.3 2.6-.3 5.3-.3s3.4 0 5.3.3c3.1.5 6 1.3 8.4 2.5 3.5 1.7 5.6 4 6.1 6.5.1.7.1 2.1-.1 2.7-.4 1.3-1 2.2-2 3.2-2.8 2.9-7.9 4.9-14.1 5.6-.9-.1-5.1 0-5.9 0z',\r\n ],\r\n '#a03537',\r\n ),\r\n 'pdf': new SvgIcon(\r\n [\r\n 'M46.2 21.8c-3.5 0-6.3 2.9-6.3 6.3 0 4.3 2.4 9.6 4.9 14.7-2 6.1-4.1 12.7-7 18.2-5.8 2.3-11 4-14 6.6l-.2.2c-1.1 1.2-1.8 2.7-1.8 4.4 0 3.5 2.9 6.3 6.3 6.3 1.7 0 3.4-.6 4.4-1.8 0 0 .2 0 .2-.2 2.3-2.7 5-7.8 7.5-12.2 5.5-2.1 11.5-4.4 16.9-5.8 4.1 3.4 10.1 5.5 15 5.5 3.5 0 6.3-2.9 6.3-6.3 0-3.5-2.9-6.3-6.3-6.3-4 0-9.6 1.4-13.9 2.9-3.5-3.4-6.7-7.5-9.2-11.9C50.6 37 52.6 32 52.6 28c-.2-3.5-2.9-6.2-6.4-6.2zm0 3.6c1.4 0 2.4 1.1 2.4 2.4 0 1.8-1.1 5.3-2.1 9-1.5-3.7-2.9-7.2-2.9-9 .1-1.2 1.2-2.4 2.6-2.4zm1.1 21.5c1.8 3.1 4.1 5.8 6.6 8.2-3.7 1.1-7.3 2.3-11 3.7 1.8-3.8 3.1-7.9 4.4-11.9zM72 55c1.4 0 2.4 1.1 2.4 2.4 0 1.4-1.1 2.4-2.4 2.4-2.9 0-6.9-1.2-10.1-3.1C65.6 56 69.7 55 72 55zM34.6 66.2c-1.8 3.2-3.5 6.1-4.7 7.6-.5.5-.9.6-1.7.6-1.4 0-2.4-1.1-2.4-2.4 0-.6.3-1.4.6-1.7 1.3-1.2 4.5-2.6 8.2-4.1z',\r\n ],\r\n '#c11e07',\r\n ),\r\n 'sheet': new SvgIcon(\r\n [\r\n 'M62.1 30.9h14.1v9.4H62.1zm0 14.5h14.1v9.4H62.1zm0 14.3h14.1v9.4H62.1zm-19.2 0H57v9.4H42.9zm-19 0H38v9.4H23.9zm19.2-14.2h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9zm19.2-14.6h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9z',\r\n ],\r\n '#30723f',\r\n ),\r\n 'presentation': new SvgIcon(\r\n [\r\n 'M 73.319289,26.32707 H 26.61477 c -2.335226,0 -4.258353,1.917194 -4.258353,4.245215 v 29.853446 c 0,2.328021 1.923127,4.245215 4.258353,4.245215 h 19.506006 l -1.923128,7.257947 h -2.197859 c -0.961564,0 -1.648395,0.684712 -1.648395,1.643309 0,0.958597 0.686831,1.643309 1.648395,1.643309 h 15.797117 c 0.961563,0 1.648394,-0.684712 1.648394,-1.643309 0,-0.958597 -0.686831,-1.643309 -1.648394,-1.643309 H 55.46168 l -1.923128,-7.39489 h 19.780737 c 2.335226,0 4.258353,-1.917193 4.258353,-4.245214 V 30.572285 c 0,-2.328021 -1.923127,-4.245215 -4.258353,-4.245215 z m 0.412099,34.372546 H 26.202672 V 30.2984 h 47.39135 z',\r\n 'm 38.428266,48.511741 h 3.846255 v 7.668775 h -3.846255 z m 6.456214,-2.464963 h 3.846254 V 56.180516 H 44.88448 Z m 6.318846,-2.601906 h 3.846255 v 12.735644 h -3.846255 z m 6.318847,-2.464964 h 3.846255 v 15.200608 h -3.846255 z m -0.274732,-5.614639 -6.730946,3.697445 -4.945184,-1.643308 -8.379341,4.519099 1.236296,1.369424 7.417777,-3.834387 4.945185,1.643309 7.692509,-4.245215 1.236296,1.369424 2.88469,-4.792984 -6.593578,0.410827 z',\r\n ],\r\n '#c24f32',\r\n ),\r\n 'font': new SvgIcon(\r\n [\r\n 'M40.4 56.2H28.7l-1.4 3.1c-.5 1-.7 1.9-.7 2.6 0 .9.4 1.6 1.1 2 .4.3 1.5.4 3.2.6v.9H20v-.9c1.2-.2 2.2-.6 2.9-1.4.8-.8 1.7-2.4 2.8-4.8l11.8-25.6h.5l12 26.2c1.1 2.5 2.1 4.1 2.8 4.7.6.5 1.3.8 2.3.9v.9h-16v-.9h.7c1.3 0 2.2-.2 2.7-.5.4-.3.5-.6.5-1.1 0-.3 0-.6-.1-.9 0-.1-.3-.7-.7-1.8l-1.8-4zm-.8-1.8l-4.9-11-5.1 11h10z',\r\n 'M80 44.2l-4.7 15.7-.5 1.9c0 .2-.1.4-.1.5 0 .2.1.4.2.5.1.2.3.2.4.2.3 0 .8-.3 1.4-.8.2-.2.8-.9 1.8-2.2l.9.4c-1.2 2-2.4 3.5-3.7 4.5-1.3.9-2.7 1.4-4.2 1.4-.9 0-1.6-.2-2.1-.7-.5-.5-.7-1-.7-1.8 0-.6.3-1.8.8-3.4l.6-1.9c-1.9 3.1-3.7 5.4-5.4 6.7-1 .8-2.1 1.1-3.2 1.1-1.5 0-2.6-.6-3.2-1.8-.7-1.2-1-2.5-1-4 0-2.2.7-4.8 2.1-7.6 1.4-2.9 3.2-5.2 5.5-6.9 1.9-1.4 3.6-2.2 5.3-2.2.9 0 1.6.3 2.2.8.6.5 1 1.4 1.2 2.8l.9-2.9 5.5-.3zm-7.8 4.5c0-1.3-.2-2.2-.6-2.8-.3-.4-.7-.6-1.2-.6s-1 .2-1.6.7c-1.1 1-2.3 3-3.5 5.9-1.3 3-1.9 5.6-1.9 7.7 0 .8.1 1.4.4 1.8.3.4.6.6.9.6.7 0 1.5-.4 2.2-1.2 1.1-1.2 2-2.6 2.9-4.3 1.6-2.9 2.4-5.5 2.4-7.8z',\r\n ],\r\n '#7291a1',\r\n ),\r\n 'vue': new SvgIcon(\r\n [\r\n 'M 66.425365,28.281905 H 56.751974 L 49.707631,39.427061 43.669624,28.281905 H 21.530262 L 49.707631,76.54823 77.885006,28.281905 Z m -37.888497,4.025337 h 6.767604 L 49.707631,57.239179 64.098226,32.307242 h 6.767597 L 49.707631,68.560446 Z',\r\n ],\r\n '#41B883',\r\n ),\r\n 'other': new SvgIcon(\r\n [\r\n 'M71 36.3L57.8 23.1c-.4-.4-.9-.6-1.4-.6h-26c-1.1 0-2 .9-2 2v51.1c0 1.1.9 2 2 2h39.3c1.1 0 2-.9 2-2V37.7c-.1-.5-.3-1-.7-1.4zm-3.9 2.3H55.5V27l11.6 11.6zm.1 34.5H32.8V26.9h18.5v13.3c0 1.4 1.2 2.6 2.6 2.6h13.3v30.3z',\r\n ] /* no color? */,\r\n ),\r\n // system icons\r\n 'system-close': new SvgIcon(\r\n ['M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n 'system-file-preview-new': new SvgIcon(\r\n [\r\n 'M745,353c-5.6,0-11.3,0.2-17.2,0.7C687.4,237.3,577.8,157,451,157c-162.1,0-294,131.9-294,294c0,2.1,0,4.1,0,6.2C72.6,479,10,555.8,10,647c0,108.1,87.9,196,196,196h245V618.3l-63.4,63.4c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4c-19.2-19.2-19.2-50.1,0-69.3l147-147c4.6-4.6,9.9-8.1,16-10.6c12-4.9,25.5-4.9,37.4,0c6,2.5,11.4,6.1,16,10.6l147,147c19.2,19.2,19.2,50.1,0,69.3c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4L549,618.3V843h196c135.1,0,245-109.9,245-245S880.1,353,745,353z',\r\n ],\r\n undefined,\r\n '0 0 1000 1000',\r\n ),\r\n // system icons\r\n 'system-sortable-handle': new SvgIcon(['M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'], undefined, '0 0 24 24'),\r\n 'system-file-av-play': new SvgIcon(\r\n ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'],\r\n undefined,\r\n '0 0 48 48',\r\n ),\r\n // M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z\r\n 'system-file-name-edit': new SvgIcon(\r\n [\r\n 'M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z',\r\n ],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n};\r\n\r\nfor (const category in icons) {\r\n if (icons.hasOwnProperty(category)) {\r\n (icons as any)[category].category = category;\r\n }\r\n}\r\n\r\nexport default icons;\r\n\r\nexport const extensionsMap: any = {};\r\n\r\nfor (const cat in extensions) {\r\n if (extensions.hasOwnProperty(cat)) {\r\n for (const ext of (extensions as any)[cat]) {\r\n extensionsMap[ext] = cat;\r\n }\r\n }\r\n}\r\n\r\nexport function getIconByName(name: string): SvgIcon {\r\n const svgIcon = (icons as any)[name] || icons.other;\r\n return svgIcon;\r\n}\r\n\r\nexport function getIconFromExt(ext: string): SvgIcon {\r\n ext = ext.toLowerCase();\r\n const cat = extensionsMap[ext];\r\n return getIconByName(cat);\r\n}\r\n","\n\n\n\n\n\n\n\n\r\nimport { getIconFromExt, getIconByName, SvgIcon } from '../lib/icons';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['ext', 'name', 'viewBox'],\r\n computed: {\r\n viewBoxComputed(): string {\r\n if (!this.viewBox && this.icon && this.icon.viewBox) {\r\n return this.icon.viewBox;\r\n }\r\n return this.viewBox ? this.viewBox : '0 0 100 100';\r\n },\r\n icon(): SvgIcon {\r\n if (this.name) {\r\n return getIconByName(this.name);\r\n }\r\n const svgIcon = getIconFromExt(this.ext);\r\n return svgIcon;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./vue-file-icon.vue?vue&type=template&id=61d49b70&\"\nimport script from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'file-preview-wrapper-' + _vm.fileData.ext(),\n _vm.fileData.isImage() ? 'file-preview-wrapper-image' : 'file-preview-wrapper-other',\n 'file-category-' + _vm.fileData.icon().category,\n { 'file-is-playing-av': _vm.fileData.isPlayingAv },\n { 'is-deletable': _vm.deletable === true },\n { 'is-editable': _vm.editable === true },\n { 'is-edit-input-focused': _vm.isEditInputFocused },\n { 'has-error': _vm.fileData.error } ]},[(_vm.fileData.error)?_c('div',{staticClass:\"file-error-wrapper\",on:{\"click\":function($event){return _vm.dismissError()}}},[_c('div',{staticClass:\"file-error-message file-error-message-client\"},[_vm._v(\" \"+_vm._s(_vm.fileData.getErrorMessage(_vm.errorText))+\" \")])]):_vm._e(),(_vm.fileData.isPlayableAudio() || _vm.fileData.isPlayableVideo())?_c('div',{ref:\"wrapper\",staticClass:\"file-av-wrapper\"},[_c('div',{staticClass:\"file-av-action\",on:{\"click\":function($event){return _vm.playAv(_vm.fileData)}}},[_c('span',{staticClass:\"file-av-stop\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1),_c('span',{staticClass:\"file-av-play\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-av-play\"}})],1)])]):_vm._e(),_c('span',{staticClass:\"file-preview\",class:{\n 'image-preview': _vm.fileData.isImage(),\n 'other-preview': !_vm.fileData.isImage(),\n 'dark-content': _vm.fileData.isImage() && _vm.fileData.isDarkColor(),\n },style:({\n 'background-color': _vm.fileData.color(),\n })},[_c('span',{staticClass:\"file-preview-overlay\"}),_c('span',{staticClass:\"thumbnail\",staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"overflow\":\"hidden\"}},[(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('img',{staticClass:\"file-preview-img\",attrs:{\"src\":_vm.fileData.src()}}):_vm._e()]),_c('span',{staticClass:\"file-ext\"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:\"file-size\"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:\"file-delete\",on:{\"click\":function($event){return _vm.removeFileData(_vm.fileData)},\"touchstart\":function($event){return _vm.filenameClearPressed()},\"mousedown\":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name\",on:{\"click\":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:\"input\",staticClass:\"file-name-input\",attrs:{\"disabled\":_vm.disabled === true,\"type\":\"text\"},domProps:{\"value\":_vm.fileData.name(true)},on:{\"focus\":function($event){return _vm.editInputFocused()},\"blur\":function($event){return _vm.editInputBlured()},\"change\":function($event){return _vm.filenameChanged()},\"input\":function($event){return _vm.filenameChanged()},\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:\"file-name-edit-icon\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-name-edit\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name-text\"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:\"image-dimension\"},[_c('span',{staticClass:\"image-dimension-width\"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:\"image-dimension-height\"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:\"file-progress\",class:{\n 'file-progress-full': _vm.fileData.progress() >= 99.9999,\n 'file-progress-done': _vm.fileData.progress() >= 100,\n 'has-file-progress': _vm.fileData.progress() > 0,\n }},[_c('span',{staticClass:\"file-progress-bar\",style:({ width: _vm.fileData.progress() + '%' })})]):_vm._e(),_c('span',{staticClass:\"file-icon\"},[(_vm.hasLinkableUrl)?_c('a',{attrs:{\"href\":_vm.fileData.url,\"target\":\"_blank\",\"title\":_vm.fileData.name()}},[_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1):_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function getFilesFromDroppedItems(dataTransfer: DataTransfer): Promise {\r\n return new Promise((resolve) => {\r\n if (!includesFolder(dataTransfer.files)) {\r\n return resolve(dataTransfer.files);\r\n }\r\n const files: File[] = [];\r\n const folderReadQueue = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < dataTransfer.items.length; i++) {\r\n const item = dataTransfer.items[i];\r\n if (item.kind !== 'file') {\r\n continue;\r\n }\r\n const fileSystemEntries = getEntries(item);\r\n if (fileSystemEntries) {\r\n folderReadQueue.push(fileSystemEntries);\r\n } else {\r\n const file = item.getAsFile();\r\n if (file) {\r\n files.push(file);\r\n }\r\n }\r\n }\r\n Promise.all(folderReadQueue).then((filesInFolders) => {\r\n resolve(files.concat(...filesInFolders));\r\n });\r\n });\r\n}\r\n\r\nfunction getEntries(entry: any): Promise | undefined {\r\n // convert DataTransferItem to FileSystemEntry first if necessary\r\n if (entry.getAsEntry) {\r\n return getEntries(entry.getAsEntry());\r\n }\r\n if (entry.webkitGetAsEntry) {\r\n return getEntries(entry.webkitGetAsEntry());\r\n }\r\n // return if item is from a browser that does not support webkitGetAsEntry\r\n if (entry.getAsFile) {\r\n return;\r\n }\r\n // Processing directories with more than 100 files:\r\n // https://github.com/lian-yue/vue-upload-component/commit/9c9d8aafbcef005a2cc598454383ec65205d61ee\r\n return new Promise((resolve) => {\r\n if (entry.isFile) {\r\n entry.file((file: File) => resolve([file]));\r\n return;\r\n }\r\n if (entry.isDirectory) {\r\n const files: File[] = [];\r\n const entryReader = entry.createReader();\r\n const readEntries = () => {\r\n entryReader.readEntries((entries: any[]) => {\r\n const iterateEntry = (i: number) => {\r\n if (!entries[i] && i === 0) {\r\n return resolve(files);\r\n }\r\n if (!entries[i]) {\r\n return readEntries();\r\n }\r\n (getEntries(entries[i]) as Promise).then((entryFiles: File[]) => {\r\n files.push(...entryFiles);\r\n iterateEntry(i + 1);\r\n });\r\n };\r\n iterateEntry(0);\r\n });\r\n };\r\n readEntries();\r\n }\r\n if (!entry.isFile && !entry.isDirectory) {\r\n resolve([]);\r\n }\r\n });\r\n}\r\n\r\nfunction includesFolder(files: FileList): boolean {\r\n if (!files.length) {\r\n return true; // if dropping only folders, no files will exist\r\n }\r\n // tslint:disable-next-line\r\n for (var i = 0; i < files.length; i++) {\r\n // A folder has no type and has a size that is a multiple of 4096\r\n if (!files[i].type && files[i].size % 4096 === 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n","import { getFilesFromDroppedItems } from './drop-handler';\r\n\r\nexport type RGBA = [number, number, number, number];\r\nexport interface VideoThumbnail {\r\n url: string;\r\n color?: RGBA;\r\n width: number;\r\n height: number;\r\n}\r\nexport interface ImageThumbnail {\r\n image: HTMLImageElement;\r\n url: string;\r\n color?: RGBA;\r\n}\r\n\r\nenum ImageOrientation {\r\n NORMAL = 1,\r\n UPSIDE_DOWN = 6,\r\n}\r\n\r\nclass Utils {\r\n public arrayMove(arr: any[], previousIndex: number, newIndex: number): any[] {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/utils.js\r\n const array = arr.slice(0);\r\n if (newIndex >= array.length) {\r\n let k = newIndex - array.length;\r\n while (k-- + 1) {\r\n array.push(undefined);\r\n }\r\n }\r\n array.splice(newIndex, 0, array.splice(previousIndex, 1)[0]);\r\n return array;\r\n }\r\n\r\n public getAverageColor(arr: Uint8ClampedArray): RGBA | undefined {\r\n const bytesPerPixel = 4;\r\n const arrLength = arr.length;\r\n if (arrLength < bytesPerPixel) {\r\n return;\r\n }\r\n const step = 5;\r\n const len = arrLength - (arrLength % bytesPerPixel);\r\n const preparedStep = (step || 1) * bytesPerPixel;\r\n\r\n let redTotal = 0;\r\n let greenTotal = 0;\r\n let blueTotal = 0;\r\n let alphaTotal = 0;\r\n let count = 0;\r\n\r\n for (let i = 0; i < len; i += preparedStep) {\r\n const alpha = arr[i + 3];\r\n const red = arr[i] * alpha;\r\n const green = arr[i + 1] * alpha;\r\n const blue = arr[i + 2] * alpha;\r\n\r\n redTotal += red;\r\n greenTotal += green;\r\n blueTotal += blue;\r\n alphaTotal += alpha;\r\n count++;\r\n }\r\n\r\n return alphaTotal\r\n ? [\r\n Math.round(redTotal / alphaTotal),\r\n Math.round(greenTotal / alphaTotal),\r\n Math.round(blueTotal / alphaTotal),\r\n Math.round(alphaTotal / count),\r\n ]\r\n : [0, 0, 0, 0];\r\n }\r\n\r\n public createVideoThumbnail(\r\n video: HTMLVideoElement,\r\n canvas: HTMLCanvasElement,\r\n thumbnailSize: number,\r\n ): Promise {\r\n video.setAttribute('crossOrigin', 'anonymous'); // fix cross origin issue\r\n return new Promise((resolve, reject) => {\r\n let loadedmetadata = false;\r\n let loadeddata = false;\r\n const tryGetThumbnail = () => {\r\n if (!(loadedmetadata && loadeddata)) {\r\n return;\r\n }\r\n const context = canvas.getContext('2d') as CanvasRenderingContext2D;\r\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height);\r\n const url = canvas.toDataURL();\r\n resolve({\r\n url,\r\n color: this.getAverageColor(imageData.data),\r\n width: video.videoWidth,\r\n height: video.videoHeight,\r\n });\r\n };\r\n // Load metadata of the video to get video duration and dimensions\r\n video.addEventListener('loadedmetadata', () => {\r\n // var video_duration = video.duration;\r\n canvas.width = thumbnailSize;\r\n canvas.height = (canvas.width / video.videoWidth) * video.videoHeight;\r\n video.currentTime = 1; // video time\r\n loadedmetadata = true;\r\n tryGetThumbnail();\r\n });\r\n\r\n video.addEventListener('loadeddata', () => {\r\n loadeddata = true;\r\n tryGetThumbnail();\r\n });\r\n });\r\n }\r\n\r\n public getDataURL(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve('');\r\n }\r\n resolve(event.target.result as string);\r\n };\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public getImageOrientationFromArrayBuffer(buffer: ArrayBuffer): number {\r\n // -2: not jpeg\r\n // -1: not defined\r\n const view = new DataView(buffer);\r\n if (view.getUint16(0, false) !== 0xffd8) {\r\n return -2;\r\n }\r\n const length = view.byteLength;\r\n let offset = 2;\r\n while (offset < length) {\r\n if (view.getUint16(offset + 2, false) <= 8) {\r\n return -1;\r\n }\r\n const marker = view.getUint16(offset, false);\r\n offset += 2;\r\n if (marker === 0xffe1) {\r\n if (view.getUint32((offset += 2), false) !== 0x45786966) {\r\n return -1;\r\n }\r\n const little = view.getUint16((offset += 6), false) === 0x4949;\r\n offset += view.getUint32(offset + 4, little);\r\n const tags = view.getUint16(offset, little);\r\n offset += 2;\r\n for (let i = 0; i < tags; i++) {\r\n if (view.getUint16(offset + i * 12, little) === 0x0112) {\r\n return view.getUint16(offset + i * 12 + 8, little);\r\n }\r\n }\r\n // tslint:disable-next-line\r\n } else if ((marker & 0xff00) !== 0xff00) {\r\n break;\r\n } else {\r\n offset += view.getUint16(offset, false);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n public getImageOrientation(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n if (!reader.readAsArrayBuffer) {\r\n return resolve(-3);\r\n }\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve(-3);\r\n }\r\n resolve(this.getImageOrientationFromArrayBuffer(event.target.result as ArrayBuffer));\r\n };\r\n // https://stackoverflow.com/questions/3248946/what-is-the-maximum-size-of-jpeg-metadata\r\n // https://twitter.com/jaffathecake/status/1085443592678752256\r\n // reader.readAsArrayBuffer(file);\r\n reader.readAsArrayBuffer(file.slice(0, 65536));\r\n });\r\n }\r\n\r\n public rotateCanvas(\r\n srcOrientation: number,\r\n canvas: HTMLCanvasElement,\r\n ctx: CanvasRenderingContext2D,\r\n width: number,\r\n height: number,\r\n ) {\r\n // set proper canvas dimensions before transform & export\r\n if (4 < srcOrientation && srcOrientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n } else {\r\n canvas.width = width;\r\n canvas.height = height;\r\n }\r\n\r\n // transform context before drawing image\r\n switch (srcOrientation) {\r\n case 2:\r\n ctx.transform(-1, 0, 0, 1, width, 0);\r\n break;\r\n case 3:\r\n ctx.transform(-1, 0, 0, -1, width, height);\r\n break;\r\n case 4:\r\n ctx.transform(1, 0, 0, -1, 0, height);\r\n break;\r\n case 5:\r\n ctx.transform(0, 1, 1, 0, 0, 0);\r\n break;\r\n case 6:\r\n ctx.transform(0, 1, -1, 0, height, 0);\r\n break;\r\n case 7:\r\n ctx.transform(0, -1, -1, 0, height, width);\r\n break;\r\n case 8:\r\n ctx.transform(0, -1, 1, 0, 0, width);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n public getImageResized(\r\n image: HTMLImageElement,\r\n widthLimit: number,\r\n heightLimit?: number,\r\n orientation?: number,\r\n ): ImageThumbnail | null {\r\n let width = image.width;\r\n let height = image.height;\r\n const thumbnailSize = widthLimit;\r\n if (widthLimit && heightLimit) {\r\n width = widthLimit;\r\n height = heightLimit;\r\n } else {\r\n if (width > height) {\r\n if (width > thumbnailSize) {\r\n height *= thumbnailSize / width;\r\n width = thumbnailSize;\r\n }\r\n } else {\r\n if (height > thumbnailSize) {\r\n width *= thumbnailSize / height;\r\n height = thumbnailSize;\r\n }\r\n }\r\n }\r\n\r\n width = Math.floor(width);\r\n height = Math.floor(height);\r\n\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n if (!context) {\r\n return null;\r\n }\r\n\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n if (orientation !== undefined) {\r\n this.rotateCanvas(orientation, canvas, context, width, height);\r\n }\r\n\r\n context.drawImage(image, 0, 0, width, height);\r\n let avgColor = null;\r\n try {\r\n const imageData = context.getImageData(0, 0, width, height);\r\n const rgba = this.getAverageColor(imageData.data);\r\n if (rgba) {\r\n avgColor = rgba;\r\n }\r\n } catch (e) {\r\n /* security error, img on diff domain */\r\n }\r\n return {\r\n image,\r\n url: canvas.toDataURL('image/png'),\r\n color: avgColor,\r\n } as ImageThumbnail;\r\n }\r\n\r\n public resizeImageUrl(image: HTMLImageElement, url: string, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n image.onload = () => {\r\n const resized = this.getImageResized(image, thumbnailSize);\r\n resolve(resized);\r\n };\r\n image.src = url;\r\n });\r\n }\r\n\r\n public resizeImageFile(image: HTMLImageElement, file: File, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (file.type.indexOf('image') === -1) {\r\n reject(new Error('Not an image'));\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n let shouldRevoke = false;\r\n const orientationPromise = this.getImageOrientation(file);\r\n image.onload = () => {\r\n orientationPromise.then((orientation) => {\r\n const resized = this.getImageResized(image, thumbnailSize, undefined, orientation);\r\n if (shouldRevoke) {\r\n revokeObjectURL(image.src);\r\n }\r\n resolve(resized);\r\n });\r\n };\r\n if (!(file instanceof File)) {\r\n return reject('Invalid file object. Use url or a valid instance of File class');\r\n }\r\n if (createObjectURL && revokeObjectURL) {\r\n shouldRevoke = true;\r\n image.src = createObjectURL(file);\r\n return;\r\n }\r\n this.getDataURL(file).then((dataUrl) => {\r\n image.src = dataUrl;\r\n });\r\n });\r\n }\r\n\r\n public resizeImage(thumbnailSize: number, file?: File, url?: string): Promise {\r\n const image = new Image();\r\n image.setAttribute('crossOrigin', 'anonymous');\r\n return url\r\n ? this.resizeImageUrl(image, url, thumbnailSize)\r\n : this.resizeImageFile(image, file as File, thumbnailSize);\r\n }\r\n\r\n public getSizeFormatted(bytes: number) {\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes === 0) {\r\n return '0 B';\r\n }\r\n let i = Math.floor(Math.log(bytes) / Math.log(1024));\r\n i = parseInt('' + i, 10);\r\n return Math.round(bytes / Math.pow(1024, i)) + ' ' + sizes[i];\r\n }\r\n\r\n public getSizeParsed(size: string): number {\r\n size = ('' + size).toUpperCase();\r\n const matches = size.match(/([\\d|.]+?)\\s*?([A-Z]+)/);\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (!matches) {\r\n return parseFloat(size);\r\n }\r\n const i = sizes.indexOf(matches[2]);\r\n if (i === -1) {\r\n return parseFloat(size);\r\n }\r\n return parseFloat(matches[1]) * Math.pow(1024, i);\r\n }\r\n\r\n public getColorForText(text: string): string {\r\n const getHashCode = (value: string) => {\r\n let hash = 0;\r\n if (value.length === 0) {\r\n return hash;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n // tslint:disable-next-line\r\n hash = value.charCodeAt(i) + ((hash << 5) - hash);\r\n // tslint:disable-next-line\r\n hash = hash & hash; // Convert to 32bit integer\r\n }\r\n return hash;\r\n };\r\n const intToHSL = (value: number) => {\r\n const h = value % 360;\r\n const s = value % 100;\r\n const l = 50;\r\n return 'hsl(' + h + ',' + s + '%,' + l + '%, 0.75)';\r\n };\r\n return intToHSL(getHashCode(text.toLowerCase()));\r\n }\r\n\r\n public validateType(file: File, accept?: string): boolean {\r\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept\r\n // https://gitlab.com/meno/dropzone/blob/master/src/dropzone.js#L2511\r\n if (!accept) {\r\n return true;\r\n } // If there are no accepted mime types, it's OK\r\n const acceptedFiles = accept.split(',');\r\n\r\n const mimeType = file.type;\r\n const baseMimeType = mimeType.replace(/\\/.*$/, '');\r\n\r\n for (let validType of acceptedFiles) {\r\n validType = validType.trim();\r\n if (validType.charAt(0) === '.') {\r\n // extension\r\n if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\r\n return true;\r\n }\r\n } else if (/\\/\\*$/.test(validType)) {\r\n // This is something like a image/* mime type\r\n if (baseMimeType === validType.replace(/\\/.*$/, '')) {\r\n return true;\r\n }\r\n } else {\r\n if (mimeType === validType) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public validateSize(file: File, maxSize?: string): boolean {\r\n if (!maxSize) {\r\n return true;\r\n }\r\n const bytes = this.getSizeParsed(maxSize);\r\n return file.size <= bytes;\r\n }\r\n\r\n public getFilesFromDroppedItems(dataTransfer: DataTransfer) {\r\n return getFilesFromDroppedItems(dataTransfer);\r\n }\r\n}\r\n\r\nexport default new Utils();\r\n","import { getIconFromExt, SvgIcon } from './icons';\r\nimport utils from './utils';\r\nimport { RGBA, ImageThumbnail, VideoThumbnail } from './utils';\r\n\r\ninterface Dimensions {\r\n height: number;\r\n width: number;\r\n}\r\n\r\ninterface Options {\r\n accept?: string;\r\n maxSize?: string;\r\n read: boolean;\r\n thumbnailSize?: number;\r\n}\r\n\r\ninterface ErrorText {\r\n common?: string;\r\n type?: string;\r\n size?: string;\r\n upload?: string;\r\n}\r\n\r\ninterface ErrorFlags {\r\n common?: boolean;\r\n type?: boolean;\r\n size?: boolean;\r\n upload?: false | string;\r\n}\r\n\r\ninterface RawFileData {\r\n url: string | null;\r\n urlResized: string | null;\r\n src: () => any;\r\n name: any;\r\n lastModified: number;\r\n sizeText: string;\r\n size: number;\r\n type: string;\r\n ext: string;\r\n color: string;\r\n file: File;\r\n progress: number | ((progress?: number) => number | void);\r\n error?: false | ErrorFlags;\r\n dimensions: Dimensions;\r\n videoThumbnail: string;\r\n imageColor: RGBA;\r\n customName: string;\r\n}\r\n\r\ninterface DummyFile {\r\n name: string;\r\n size: number;\r\n type: string;\r\n lastModified: number;\r\n lastModifiedDate: Date;\r\n}\r\n\r\nexport { Dimensions, Options, RawFileData };\r\n\r\nclass FileData {\r\n public static getFromRaw(fileDataRaw: RawFileData, options: Options, isSync = false): FileData | Promise {\r\n const fileData = new FileData(fileDataRaw, options);\r\n const promise = fileData.setUrl(fileDataRaw.url);\r\n fileDataRaw.progress = fileData.progress.bind(fileData); // convert it as a function\r\n fileDataRaw.src = fileData.src.bind(fileData);\r\n fileDataRaw.name = fileData.name.bind(fileData); // convert it as a function\r\n if (isSync) {\r\n return fileData;\r\n }\r\n return promise;\r\n }\r\n\r\n public static fromRaw(fileDataRaw: RawFileData, options: Options): Promise {\r\n return FileData.getFromRaw(fileDataRaw, options, false) as Promise;\r\n }\r\n\r\n public static fromRawSync(fileDataRaw: RawFileData, options: Options): FileData {\r\n return FileData.getFromRaw(fileDataRaw, options, true) as FileData;\r\n }\r\n\r\n public static fromRawArray(filesDataRaw: RawFileData[], options: Options): Promise {\r\n const promises: Array> = [];\r\n for (const fileDataRaw of filesDataRaw) {\r\n promises.push(FileData.fromRaw(fileDataRaw, options));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public static toRawArray(filesData: FileData[]): RawFileData[] {\r\n const filesDataRaw: RawFileData[] = [];\r\n for (const fileData of filesData) {\r\n filesDataRaw.push(fileData.toRaw());\r\n }\r\n return filesDataRaw;\r\n }\r\n\r\n public static readFile(fileData: FileData): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!fileData.read) {\r\n fileData.setUrl(null);\r\n resolve(fileData);\r\n return;\r\n }\r\n utils.getDataURL(fileData.file).then((dataUrl) => {\r\n fileData.setUrl(dataUrl).then(() => {\r\n resolve(fileData);\r\n }, reject);\r\n }, reject);\r\n });\r\n }\r\n\r\n public static readFiles(filesData: FileData[]): Promise {\r\n const promises: Array> = [];\r\n for (const fileData of filesData) {\r\n promises.push(FileData.readFile(fileData));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public url: null | string = null;\r\n public urlResized: null | string = null;\r\n public image: HTMLImageElement | {} = {};\r\n public isPlayingAv: boolean = false;\r\n\r\n public oldFileName: string | null = null;\r\n public oldCustomName: string | null = null;\r\n public upload: any = null;\r\n\r\n public raw: RawFileData;\r\n public progressInternal: number;\r\n public accept?: string;\r\n public dimensions: Dimensions;\r\n public error: false | ErrorFlags;\r\n public file: File;\r\n public height: undefined | number | string;\r\n public width: undefined | number | string;\r\n public id: string;\r\n public imageColor?: RGBA;\r\n public lastKnownSrc: null | string;\r\n public maxSize?: string;\r\n public options: Options;\r\n public read: boolean;\r\n public thumbnailSize: number;\r\n public videoThumbnail: any;\r\n public customName: any;\r\n public xhr?: XMLHttpRequest;\r\n public xhrQueue?: () => any;\r\n public stopAv?: (() => any) | null;\r\n public tusUpload?: any;\r\n\r\n public constructor(data: RawFileData, options: Options) {\r\n this.url = null;\r\n this.urlResized = null;\r\n this.lastKnownSrc = null;\r\n this.image = {};\r\n this.isPlayingAv = false;\r\n this.oldFileName = null;\r\n this.oldCustomName = null;\r\n this.upload = null;\r\n\r\n this.raw = data;\r\n this.file = data.file instanceof File ? data.file : (this.createDummyFile(data) as any);\r\n this.progressInternal = !isNaN(data.progress as number) ? (data.progress as number) : 0;\r\n // this.width = FileData.defaultWidth;\r\n // this.height = FileData.defaultHeight;\r\n this.thumbnailSize = options.thumbnailSize || 360;\r\n this.read = !!options.read;\r\n this.dimensions = data.dimensions || {};\r\n this.dimensions.width = this.dimensions.width || 0;\r\n this.dimensions.height = this.dimensions.height || 0;\r\n this.error = data.error || false;\r\n this.options = options;\r\n this.maxSize = options.maxSize;\r\n this.accept = options.accept;\r\n this.id = Math.random() + ':' + new Date().getTime();\r\n this.videoThumbnail = data.videoThumbnail;\r\n this.imageColor = data.imageColor;\r\n this.customName = data.customName;\r\n\r\n this.validate();\r\n }\r\n\r\n // populate(data, options = {}) {}\r\n\r\n public createDummyFile(data: RawFileData): DummyFile {\r\n const file: DummyFile = {} as DummyFile;\r\n file.lastModified = data.lastModified;\r\n const d = new Date();\r\n if (file.lastModified) {\r\n d.setTime(file.lastModified);\r\n }\r\n file.lastModifiedDate = d;\r\n file.name = typeof data.name === 'function' ? data.name() : data.name;\r\n file.size = data.size;\r\n file.type = data.type;\r\n return file;\r\n }\r\n\r\n public hasProgress(): boolean {\r\n return !isNaN(this.progressInternal); // && this._progress <= 100;\r\n }\r\n\r\n public progress(value?: number): number | void {\r\n if (value !== undefined) {\r\n this.progressInternal = value;\r\n return;\r\n }\r\n return this.progressInternal || 0;\r\n }\r\n\r\n public src(): string {\r\n if (this.isImage()) {\r\n return this.urlResized || this.url || (this.file as any).url;\r\n }\r\n if (this.isPlayableVideo()) {\r\n return this.videoThumbnail || '';\r\n }\r\n return '';\r\n }\r\n\r\n public size(): string {\r\n if (!this.file) {\r\n return '';\r\n }\r\n return utils.getSizeFormatted(this.file.size);\r\n }\r\n\r\n public ext(): string {\r\n if (this.file && this.file.name.indexOf('.') !== -1) {\r\n return (this.file.name as any).split('.').pop();\r\n }\r\n return '?';\r\n // return this.file.type.split('/').shift();\r\n }\r\n\r\n public name(withoutExt?: boolean): string {\r\n const ext = this.ext();\r\n if (this.customName) {\r\n return this.customName + (withoutExt ? '' : ext !== '?' ? '.' + ext : '');\r\n }\r\n const name = this.file && this.file.name;\r\n if (withoutExt) {\r\n if (ext !== '?') {\r\n return name.substr(0, name.length - (ext.length + 1));\r\n }\r\n }\r\n return name;\r\n }\r\n\r\n public isDarkColor(): boolean {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n const darkPoint = 20;\r\n return rgb[0] <= darkPoint && rgb[1] <= darkPoint && rgb[2] <= darkPoint;\r\n }\r\n return false;\r\n }\r\n\r\n public color(): string {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n return 'rgb(' + rgb[0] + ', ' + rgb[1] + ', ' + rgb[2] + ')';\r\n }\r\n if (this.isImage()) {\r\n return 'transparent';\r\n }\r\n const ext = this.ext();\r\n const svgIcon = this.icon();\r\n // var svgIcon = getIconFromExt(ext);\r\n if (svgIcon.color) {\r\n return svgIcon.color;\r\n }\r\n return utils.getColorForText(ext);\r\n }\r\n\r\n public isImage(): boolean {\r\n return this.file && this.file.type.indexOf('image') !== -1;\r\n }\r\n\r\n public isVideo(): boolean {\r\n return this.file && this.file.type.indexOf('video') !== -1;\r\n }\r\n\r\n public isPlayableVideo(): boolean {\r\n return this.icon().category === 'video-playable';\r\n }\r\n\r\n public isAudio(): boolean {\r\n return this.file && this.file.type.indexOf('audio') !== -1;\r\n }\r\n\r\n public isPlayableAudio(): boolean {\r\n return this.icon().category === 'audio-playable';\r\n }\r\n\r\n public isText(): boolean {\r\n return this.file && this.file.type.indexOf('text') !== -1;\r\n }\r\n\r\n public setUrl(url: string | null): Promise {\r\n this.url = url;\r\n return new Promise((resolve, reject) => {\r\n if (this.isImage()) {\r\n this.resizeImage().then(() => {\r\n resolve(this);\r\n }, reject);\r\n return;\r\n }\r\n resolve(this);\r\n });\r\n }\r\n\r\n public imageResized(resized: ImageThumbnail | null) {\r\n if (!resized) {\r\n return;\r\n }\r\n this.urlResized = resized.url;\r\n this.image = resized.image;\r\n if (resized.image && resized.image.width && resized.image.height) {\r\n this.dimensions.width = resized.image.width;\r\n this.dimensions.height = resized.image.height;\r\n }\r\n this.lastKnownSrc = this.urlResized;\r\n this.imageColor = resized.color;\r\n }\r\n\r\n public resizeImage(): Promise {\r\n return new Promise((resolve, reject) => {\r\n utils\r\n .resizeImage(this.thumbnailSize, this.file, this.url as string)\r\n .then((resized) => {\r\n this.imageResized(resized);\r\n resolve(this);\r\n })\r\n .catch(reject);\r\n });\r\n }\r\n\r\n public icon(): SvgIcon {\r\n const ext = this.ext();\r\n const svgIcon = getIconFromExt(ext);\r\n return svgIcon;\r\n }\r\n\r\n public getErrorMessage(errorText?: ErrorText): string {\r\n const error = this.error;\r\n if (!error) {\r\n return '';\r\n }\r\n errorText = errorText || {};\r\n errorText = {\r\n common: errorText.common || 'Invalid file.',\r\n type: errorText.type || 'Invalid file type.',\r\n size: errorText.size || 'Files should not exceed ' + this.maxSize + ' in size',\r\n };\r\n if (error.type) {\r\n return errorText.type as string;\r\n } else if (error.size) {\r\n return errorText.size as string;\r\n } else if (error.upload) {\r\n return this.upload && this.upload.error ? this.upload.error : error.upload;\r\n }\r\n return errorText.common as string;\r\n }\r\n\r\n public toRaw(): RawFileData {\r\n const raw = this.raw || {};\r\n raw.url = this.url;\r\n raw.urlResized = this.urlResized;\r\n raw.src = this.src.bind(this);\r\n raw.name = this.name.bind(this);\r\n raw.lastModified = this.file.lastModified;\r\n raw.sizeText = this.size();\r\n raw.size = this.file.size;\r\n raw.type = this.file.type;\r\n raw.ext = this.ext();\r\n raw.color = this.color();\r\n raw.file = this.file;\r\n raw.progress = this.progress.bind(this); // pass it as a function\r\n if (!('error' in raw)) {\r\n Object.defineProperty(raw, 'error', {\r\n get: () => {\r\n return this.error;\r\n },\r\n });\r\n }\r\n raw.dimensions = this.dimensions;\r\n return raw;\r\n }\r\n\r\n public validate(): void {\r\n const validType = utils.validateType(this.file, this.accept);\r\n const validSize = utils.validateSize(this.file, this.maxSize as string);\r\n if (!validType || !validSize) {\r\n this.error = {\r\n type: !validType,\r\n size: !validSize,\r\n };\r\n } else {\r\n this.error = false;\r\n }\r\n }\r\n}\r\n\r\nexport default FileData;\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport FileData, { RawFileData, Options } from '../lib/file-data';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'deletable', 'editable', 'linkable', 'errorText', 'disabled', 'thumbnailSize'],\r\n components: {\r\n VueFileIcon,\r\n },\r\n data() {\r\n return {\r\n isEditInputFocused: false,\r\n isEditCancelable: true,\r\n fileData: {} as FileData,\r\n };\r\n },\r\n computed: {\r\n hasLinkableUrl(): boolean {\r\n if (!this.linkable) {\r\n return false;\r\n }\r\n return (\r\n !!this.fileData.url &&\r\n !this.fileData.isImage() &&\r\n !this.fileData.isPlayableVideo() &&\r\n !this.fileData.isPlayableAudio()\r\n );\r\n },\r\n },\r\n methods: {\r\n updateFileData() {\r\n if (this.value instanceof FileData) {\r\n this.fileData = this.value;\r\n return;\r\n }\r\n FileData.fromRaw(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options).then((fileData) => {\r\n this.fileData = fileData;\r\n });\r\n this.fileData = FileData.fromRawSync(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options);\r\n },\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement) {\r\n if (fileData.videoThumbnail) {\r\n video.poster = fileData.src();\r\n return;\r\n }\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, this.fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n video.poster = fileData.src();\r\n });\r\n },\r\n\r\n playAv(fileData: FileData) {\r\n if (fileData.stopAv) {\r\n fileData.stopAv();\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n\r\n const wrapper = this.$refs.wrapper as HTMLElement;\r\n const player = document.createElement(fileData.isAudio() ? 'audio' : 'video');\r\n if (player instanceof HTMLVideoElement && fileData.isPlayableVideo()) {\r\n this.createThumbnail(fileData, player);\r\n }\r\n player.controls = true;\r\n // player.style.width = this.prvWidth + 'px';\r\n wrapper.appendChild(player);\r\n const url = fileData.url || createObjectURL(fileData.file);\r\n player.src = url;\r\n player.play();\r\n fileData.isPlayingAv = true;\r\n fileData.stopAv = () => {\r\n // player.src = null;\r\n player.src = '';\r\n wrapper.removeChild(player);\r\n revokeObjectURL(url);\r\n fileData.isPlayingAv = false;\r\n fileData.stopAv = null;\r\n };\r\n },\r\n\r\n removeFileData(fileData: FileData) {\r\n if (this.clearFilename()) {\r\n return;\r\n }\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n this.$emit('remove', fileData);\r\n },\r\n\r\n editFileName() {\r\n if (this.editable !== true) {\r\n return;\r\n }\r\n if (!this.$refs.input) {\r\n return;\r\n }\r\n (this.$refs.input as HTMLInputElement).focus();\r\n },\r\n\r\n editInputFocused() {\r\n this.isEditInputFocused = true;\r\n this.isEditCancelable = true;\r\n },\r\n\r\n editInputBlured() {\r\n this.fileData.oldFileName = this.fileData.name();\r\n const oldValue = this.fileData.name(true);\r\n const value = (this.$refs.input as HTMLInputElement).value;\r\n this.fileData.customName = value;\r\n const newValue = this.fileData.name(true);\r\n if (newValue !== oldValue) {\r\n this.fileData.oldCustomName = oldValue;\r\n this.$emit('rename', this.fileData);\r\n }\r\n const timeout = 100;\r\n setTimeout(() => {\r\n this.$nextTick(() => {\r\n if (!this.isEditCancelable) {\r\n return;\r\n }\r\n this.isEditInputFocused = false;\r\n });\r\n }, timeout);\r\n },\r\n\r\n filenameChanged(completed?: boolean) {\r\n if (completed) {\r\n (this.$refs.input as HTMLInputElement).blur(); // @see editInputBlured method\r\n }\r\n if (completed === false) {\r\n this.clearFilename();\r\n }\r\n },\r\n\r\n filenameClearPressed() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return;\r\n }\r\n this.isEditCancelable = false;\r\n },\r\n\r\n clearFilename() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return false;\r\n }\r\n (this.$refs.input as HTMLInputElement).value = '';\r\n this.isEditCancelable = true;\r\n this.editInputBlured();\r\n return true;\r\n },\r\n\r\n dismissError() {\r\n this.fileData.error = false;\r\n },\r\n },\r\n created() {\r\n this.updateFileData();\r\n },\r\n watch: {\r\n value() {\r\n this.updateFileData();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-preview-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-preview.vue?vue&type=template&id=6265c58c&\"\nimport script from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'axis', 'appendTo'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list.vue?vue&type=template&id=5ef04e06&\"\nimport script from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['index'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list-item.vue?vue&type=template&id=00f7ef53&\"\nimport script from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'is-sortable-' + (_vm.isSortable ? 'enabled' : 'disabled'),\n { 'is-sortable-hold': _vm.sortable === 'hold' },\n { 'is-sortable-hold': _vm.sortable === 'handle' },\n { 'is-sortable-immediately': _vm.sortable === true },\n {\n 'is-sorting': _vm.isSorting,\n 'is-sorting-active': _vm.isSortingActive,\n 'is-drag-over': _vm.isDragging,\n 'is-disabled': _vm.disabled === true,\n },\n 'theme-' + _vm.theme ],attrs:{\"id\":'vfa-' + _vm.uniqueId},on:{\"dragover\":_vm.dragOver,\"dragenter\":_vm.dragEnter,\"dragleave\":_vm.dragLeave,\"drop\":_vm.drop}},[_vm._t(\"before-outer\"),_c('div',{staticClass:\"grid-block-wrapper vue-file-agent file-input-wrapper\",class:{\n 'is-compact': !!_vm.compact,\n 'is-single': !_vm.hasMultiple,\n 'has-multiple': _vm.hasMultiple,\n 'no-meta': _vm.meta === false,\n }},[_vm._t(\"before-inner\"),_c('canvas',{ref:\"thumbnailCanvas\",staticStyle:{\"position\":\"fixed\",\"visibility\":\"hidden\",\"z-index\":\"-3\"}}),(_vm.overallProgress)?_c('div',{staticClass:\"overall-progress\",class:{ 'overall-progress-full': _vm.overallProgress >= 100 }},[_c('div',{staticClass:\"overall-progress-bar\",style:({ width: _vm.overallProgress + '%' })}),_c('div',{staticClass:\"overall-progress-left\",style:({ width: 100 - _vm.overallProgress + '%' })})]):_vm._e(),_c(_vm.isSortable ? 'vfa-sortable-list' : 'VueFileList',{tag:\"component\",attrs:{\"axis\":_vm.theme == 'list' ? 'y' : 'xy',\"appendTo\":'#vfa-' + _vm.uniqueId + ' .vue-file-agent',\"transitionDuration\":_vm.transitionDuration,\"pressDelay\":_vm.sortable === 'hold' ? 200 : 0,\"useDragHandle\":_vm.sortable === 'handle',\"helperClass\":'active-sorting-item'},on:{\"sort-start\":function($event){return _vm.sortStart()},\"sort-end\":function($event){return _vm.sortEnd($event)}},model:{value:(_vm.filesData),callback:function ($$v) {_vm.filesData=$$v},expression:\"filesData\"}},[_c('transition-group',{attrs:{\"name\":\"grid-box\",\"tag\":\"div\"}},[_vm._l((_vm.filesData),function(fileData,index){return _c(_vm.isSortable ? 'vfa-sortable-item' : 'VueFileListItem',{key:fileData.id,tag:\"component\",staticClass:\"file-preview-wrapper grid-box-item grid-block\",attrs:{\"index\":index}},[(_vm.sortable === 'handle')?_c('span',{directives:[{name:\"vfa-sortable-handle\",rawName:\"v-vfa-sortable-handle\"}],staticClass:\"file-sortable-handle\"},[_vm._t(\"sortable-handle\",[_c('VueFileIcon',{attrs:{\"name\":\"system-sortable-handle\"}})])],2):_vm._e(),_vm._t(\"file-preview\",[_c('VueFilePreview',{attrs:{\"value\":fileData,\"deletable\":_vm.isDeletable,\"editable\":_vm.editable === true,\"linkable\":_vm.linkable === true,\"errorText\":_vm.errorText,\"disabled\":_vm.disabled,\"thumbnailSize\":_vm.thumbnailSize},on:{\"remove\":function($event){return _vm.removeFileData($event)},\"rename\":function($event){return _vm.filenameChanged($event)}}})],{\"fileData\":fileData,\"index\":index})],2)}),(_vm.canAddMore)?[_vm._t(\"file-preview-new\",[_c('div',{key:\"new\",staticClass:\"file-preview-wrapper grid-box-item grid-block file-preview-new\"},[_c('span',{staticClass:\"file-preview\"},[_c('span',{staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\"}},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-preview-new\"}}),_c('span',{staticClass:\"help-text\"},[_vm._v(_vm._s(_vm.helpTextComputed))])],1)])])])]:_vm._e()],2)],1),_c('input',{ref:\"fileInput\",staticClass:\"file-input\",attrs:{\"title\":\"\",\"disabled\":_vm.disabled === true || (_vm.hasMultiple && !_vm.canAddMore),\"type\":\"file\",\"multiple\":_vm.hasMultiple,\"accept\":_vm.accept || '*'},on:{\"change\":_vm.filesChanged}}),_vm._t(\"after-inner\")],2),_vm._t(\"after-outer\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","export type ConfigureFn = (request: XMLHttpRequest) => any;\r\nexport interface AjaxResponse {\r\n data: any;\r\n status: number;\r\n statusText: string;\r\n headers: string;\r\n request: XMLHttpRequest;\r\n}\r\nexport type AjaxRequestData = FormData | any;\r\nexport interface AjaxError extends Error {\r\n code: string;\r\n request: XMLHttpRequest;\r\n response?: AjaxResponse;\r\n}\r\n\r\n/* inspired by axios */\r\nclass AjaxRequest {\r\n public createError(\r\n message: string,\r\n code: string | null,\r\n request: XMLHttpRequest,\r\n response?: AjaxResponse,\r\n ): AjaxError {\r\n const error: AjaxError = new Error(message) as AjaxError;\r\n if (code) {\r\n error.code = code;\r\n }\r\n error.request = request;\r\n error.response = response;\r\n return error;\r\n }\r\n\r\n public settle(resolve: any, reject: any, response: AjaxResponse) {\r\n const validateStatus = (status: number) => {\r\n return status >= 200 && status < 300;\r\n };\r\n // Note: status is not exposed by XDomainRequest\r\n if (!response.status || !validateStatus || validateStatus(response.status)) {\r\n resolve(response);\r\n } else {\r\n reject(this.createError('Request failed with status code ' + response.status, null, response.request, response));\r\n }\r\n }\r\n\r\n public request(\r\n method: string,\r\n url: string,\r\n formData: AjaxRequestData | null = null,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n // tslint:disable-next-line\r\n let request = new XMLHttpRequest();\r\n const loadEvent = 'onreadystatechange';\r\n\r\n request.open(method, url, true);\r\n\r\n // Listen for ready state\r\n request[loadEvent] = () => {\r\n if (!request || request.readyState !== 4) {\r\n return;\r\n }\r\n\r\n // The request errored out and we didn't get a response, this will be\r\n // handled by onerror instead\r\n // With one exception: request that using file: protocol, most browsers\r\n // will return status as 0 even though it's a successful request\r\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\r\n return;\r\n }\r\n\r\n // Prepare the response\r\n const responseHeaders = request.getAllResponseHeaders();\r\n let responseData: any = request.responseText;\r\n const contentType = request.getResponseHeader('Content-Type');\r\n if (contentType && contentType.indexOf('application/json') !== -1) {\r\n responseData = JSON.parse(responseData);\r\n }\r\n const response: AjaxResponse = {\r\n data: responseData,\r\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\r\n status: request.status === 1223 ? 204 : request.status,\r\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\r\n headers: responseHeaders,\r\n request,\r\n };\r\n\r\n this.settle(resolve, reject, response);\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle browser request cancellation (as opposed to a manual cancellation)\r\n request.onabort = () => {\r\n if (!request) {\r\n return;\r\n }\r\n\r\n reject(this.createError('Request aborted', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle low level network errors\r\n request.onerror = () => {\r\n // Real errors are hidden from us by the browser\r\n // onerror should only fire if it's a network error\r\n reject(this.createError('Network Error', null, request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle timeout\r\n request.ontimeout = () => {\r\n reject(this.createError('timeout exceeded', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // // Handle progress if needed\r\n // if (typeof config.onDownloadProgress === 'function') {\r\n // request.addEventListener('progress', config.onDownloadProgress);\r\n // }\r\n\r\n // Not all browsers support upload events\r\n // if (typeof progressCallback === 'function' && request.upload) {\r\n // request.upload.addEventListener('progress', progressCallback);\r\n // }\r\n\r\n if (typeof configureFn === 'function') {\r\n configureFn(request);\r\n }\r\n\r\n request.send(formData);\r\n });\r\n }\r\n\r\n public post(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('POST', url, formData, configureFn);\r\n }\r\n\r\n public delete(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('DELETE', url, formData, configureFn);\r\n }\r\n\r\n public put(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('PUT', url, formData, configureFn);\r\n }\r\n}\r\n\r\nexport default new AjaxRequest();\r\n","import ajax from './ajax-request';\r\nimport { ConfigureFn, AjaxResponse, AjaxError } from './ajax-request';\r\nimport FileData from './file-data';\r\n\r\ntype ProgressFn = (event: ProgressEvent) => void;\r\ntype CreateFormDataFn = (fileData: FileData) => FormData;\r\n\r\nclass UploadHelper {\r\n // useAxios(axios){\r\n // this.axios = axios;\r\n // }\r\n\r\n public addHeaders(xhr: XMLHttpRequest, headers: object): XMLHttpRequest {\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n if (headers) {\r\n for (const key in headers) {\r\n if (headers.hasOwnProperty(key)) {\r\n xhr.setRequestHeader(key, (headers as any)[key]);\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n\r\n public doUpload(\r\n url: string,\r\n headers: object,\r\n formData: FormData,\r\n progressCallback: ProgressFn,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return ajax.post(url, formData, (xhr) => {\r\n this.addHeaders(xhr, headers);\r\n xhr.upload.addEventListener('progress', progressCallback, false);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doDeleteUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.delete(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doUpdateUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.put(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n // doUploadAxios(axios, formData, progressCallback){\r\n // return axios.post('/upload', formData, {\r\n // onUploadProgress: progressCallback,\r\n // });\r\n // }\r\n\r\n // doDeleteUploadAxios(axios, data, configureFn){\r\n // return axios.delete('/upload', data, {\r\n // });\r\n // }\r\n\r\n public prepareUploadError(fileData: FileData, err: AjaxError, timeout?: number) {\r\n let errorText = err.message;\r\n if (err.response && err.response.data) {\r\n try {\r\n const errorMsg = err.response.data.error || JSON.parse(err.response.data).error;\r\n errorText = errorMsg;\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = errorText;\r\n if (timeout) {\r\n setTimeout(() => {\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = false;\r\n if (!fileData.error.size && !fileData.error.type) {\r\n fileData.error = false;\r\n }\r\n }, timeout);\r\n }\r\n }\r\n\r\n public upload(\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n createFormData?: CreateFormDataFn,\r\n progressFn?: (progress: number) => void,\r\n configureFn?: ConfigureFn,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n let formData;\r\n if (typeof createFormData === 'function') {\r\n formData = createFormData(fileData);\r\n } else {\r\n formData = new FormData();\r\n formData.append('file', fileData.file as File);\r\n formData.append('filename', fileData.name());\r\n }\r\n // ((fileData) => {\r\n const promise = this.doUpload(\r\n url,\r\n headers,\r\n formData,\r\n (progressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n },\r\n (xhr) => {\r\n fileData.xhr = xhr;\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n },\r\n );\r\n promise.then(\r\n (response) => {\r\n delete fileData.xhr;\r\n fileData.upload = response.data;\r\n fileData.progress(100);\r\n if (fileData.xhrQueue) {\r\n fileData.xhrQueue();\r\n delete fileData.xhrQueue;\r\n }\r\n } /* */,\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n } /* */,\r\n );\r\n promises.push(promise);\r\n // })(fileData);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public deleteUpload(url: string, headers: object, fileData: FileData, uploadData?: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n fileData.xhr.abort();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload;\r\n }\r\n if (uploadData) {\r\n this.doDeleteUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (result) => {\r\n resolve(result);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public updateUpload(url: string, headers: object, fileData: FileData, uploadData: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n // probably updated while being uploaded.\r\n fileData.xhrQueue = () => {\r\n this.updateUpload(url, headers, fileData, uploadData);\r\n };\r\n return resolve();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload || {};\r\n uploadData.old_filename = fileData.oldFileName;\r\n uploadData.filename = fileData.name();\r\n }\r\n if (uploadData) {\r\n this.doUpdateUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (response) => {\r\n fileData.upload = response.data;\r\n resolve(response);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public doTusUpload(tus: any, url: string, fileData: FileData, headers: object, progressCallback: ProgressFn) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject(new Error('tus required. Please install tus-js-client'));\r\n }\r\n // https://github.com/tus/tus-js-client\r\n // Create a new tus upload\r\n const file = fileData.file;\r\n const upload = new tus.Upload(file, {\r\n endpoint: url,\r\n headers,\r\n retryDelays: [0, 3000, 5000, 10000, 20000],\r\n metadata: {\r\n filename: file.name,\r\n filetype: file.type,\r\n },\r\n onError(error: any) {\r\n reject(error);\r\n // console.log(\"Failed because: \" + error)\r\n },\r\n onProgress(bytesUploaded: number, bytesTotal: number) {\r\n const event = { loaded: bytesUploaded, total: bytesTotal } as ProgressEvent;\r\n progressCallback(event);\r\n },\r\n onSuccess() {\r\n resolve(upload);\r\n },\r\n });\r\n fileData.tusUpload = upload;\r\n // Start the upload\r\n upload.start();\r\n });\r\n }\r\n\r\n public tusUpload(\r\n tus: any,\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n progressFn?: (progress: number) => void,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n const promise = this.doTusUpload(tus, url, fileData, headers, (progressEvent: ProgressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n });\r\n promise.then(\r\n (response) => {\r\n // delete fileData.tusUpload;\r\n fileData.progress(100);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n },\r\n );\r\n promises.push(promise);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public tusDeleteUpload(tus: any, url: string, headers: object, fileData: FileData) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject('tus required');\r\n }\r\n if (!fileData.tusUpload) {\r\n return resolve();\r\n }\r\n // const shouldTerminate = true;\r\n const abort = (shouldTerminate: boolean) => {\r\n return new Promise((res, rej) => {\r\n fileData.tusUpload.abort(shouldTerminate, (err: any) => {\r\n if (err) {\r\n this.prepareUploadError(fileData, err);\r\n rej(err);\r\n return;\r\n }\r\n res();\r\n });\r\n });\r\n };\r\n abort(false).then(() => {\r\n setTimeout(() => {\r\n abort(true).then(resolve, reject);\r\n }, 1000);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport default new UploadHelper();\r\n","export default {\r\n tus: null as any,\r\n};\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport VueFilePreview from './vue-file-preview.vue';\r\nimport VueFileList from './vue-file-list.vue';\r\nimport VueFileListItem from './vue-file-list-item.vue';\r\nimport FileData from '../lib/file-data';\r\nimport { RawFileData } from '../lib/file-data';\r\nimport uploader from '../lib/upload-helper';\r\nimport Vue from 'vue';\r\nimport plugins from '../lib/plugins';\r\n\r\n// tslint:disable-next-line\r\nvar dragCounter = 0;\r\n\r\nexport default Vue.extend({\r\n props: [\r\n 'accept',\r\n 'compact',\r\n 'deletable',\r\n 'disabled',\r\n 'editable',\r\n 'errorText',\r\n 'helpText',\r\n 'linkable',\r\n 'maxFiles',\r\n 'maxSize',\r\n 'meta',\r\n 'multiple',\r\n 'progress',\r\n 'read',\r\n 'resumable',\r\n 'sortable',\r\n 'theme',\r\n 'thumbnailSize',\r\n 'uploadHeaders',\r\n 'uploadUrl',\r\n 'value',\r\n ],\r\n components: {\r\n VueFileIcon,\r\n VueFilePreview,\r\n VueFileList,\r\n VueFileListItem,\r\n },\r\n directives: {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/HandleDirective.js\r\n vfaSortableHandle: {\r\n bind(el: HTMLElement) {\r\n (el as any).sortableHandle = true;\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n filesData: [] as FileData[],\r\n filesDataRaw: [] as RawFileData[],\r\n isDragging: false,\r\n isSorting: false,\r\n isSortingActive: false,\r\n transitionDuration: 300,\r\n overallProgress: 0,\r\n uniqueId: '',\r\n sortTimeout: 0,\r\n };\r\n },\r\n computed: {\r\n canAddMore(): boolean {\r\n if (!this.hasMultiple) {\r\n return this.filesData.length === 0;\r\n }\r\n if (!this.maxFiles) {\r\n return true;\r\n }\r\n return this.filesData.length < this.maxFiles;\r\n },\r\n helpTextComputed(): string {\r\n if (this.helpText) {\r\n return this.helpText;\r\n }\r\n return 'Choose ' + (this.hasMultiple ? 'files' : 'file') + ' or drag & drop here';\r\n },\r\n isDeletable(): boolean {\r\n if (typeof this.deletable === 'string') {\r\n return this.deletable !== 'false';\r\n }\r\n return !!this.deletable;\r\n },\r\n isSortable(): boolean {\r\n return !!this.sortable;\r\n },\r\n hasMultiple(): boolean {\r\n if (typeof this.multiple === 'string') {\r\n return this.multiple !== 'false';\r\n }\r\n if (this.multiple === undefined) {\r\n return Array.isArray(this.value);\r\n }\r\n return !!this.multiple;\r\n },\r\n shouldRead(): boolean {\r\n if (typeof this.read === 'string') {\r\n return this.read === 'true';\r\n }\r\n return !!this.read;\r\n },\r\n },\r\n methods: {\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement): Promise {\r\n return new Promise((resolve, reject) => {\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n resolve();\r\n }, reject);\r\n });\r\n },\r\n initVideo(fileData: FileData): void {\r\n if (!fileData.isPlayableVideo()) {\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n const video = document.createElement('video');\r\n video.src = createObjectURL(fileData.file);\r\n this.createThumbnail(fileData, video).then(() => {\r\n revokeObjectURL(video.src);\r\n });\r\n video.load();\r\n },\r\n getFileDataInstance(fileDataOrRaw: FileData | RawFileData): FileData {\r\n let i;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n if (i === -1) {\r\n return fileDataOrRaw as FileData;\r\n }\r\n return this.filesData[i];\r\n },\r\n upload(\r\n url: string,\r\n headers: object,\r\n filesDataOrRaw: FileData[] | RawFileData[],\r\n createFormData?: (fileData: FileData) => FormData,\r\n ): Promise {\r\n const validFilesData = [];\r\n for (const fileDataOrRaw of filesDataOrRaw) {\r\n const fileData = this.getFileDataInstance(fileDataOrRaw);\r\n if (!fileData.error) {\r\n validFilesData.push(fileData);\r\n }\r\n }\r\n if (this.resumable) {\r\n return uploader.tusUpload(plugins.tus, url, headers, validFilesData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n }\r\n return uploader.upload(url, headers, validFilesData, createFormData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n },\r\n deleteUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n if (this.filesData.length < 1) {\r\n this.overallProgress = 0;\r\n }\r\n fileData = this.getFileDataInstance(fileData);\r\n if (this.resumable) {\r\n return uploader.tusDeleteUpload(plugins.tus, url, headers, fileData);\r\n }\r\n return uploader.deleteUpload(url, headers, fileData, uploadData);\r\n },\r\n updateUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n fileData = this.getFileDataInstance(fileData);\r\n return uploader.updateUpload(url, headers, fileData, uploadData);\r\n },\r\n autoUpload(filesData: FileData[] | RawFileData[]): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.upload(this.uploadUrl, this.uploadHeaders, filesData);\r\n },\r\n autoDeleteUpload(fileData: FileData | RawFileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.deleteUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n autoUpdateUpload(fileData: FileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.updateUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n equalFiles(file1: File, file2: File): boolean {\r\n return (\r\n true &&\r\n file1.name === file2.name &&\r\n file1.size === file2.size &&\r\n file1.type === file2.type &&\r\n // file1.lastModifiedDate.getTime() === file2.lastModifiedDate.getTime() &&\r\n file1.lastModified === file2.lastModified\r\n );\r\n },\r\n isFileAddedAlready(file: File): boolean {\r\n for (const fileData of this.filesData) {\r\n if (this.equalFiles(file, fileData.file as File)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n handleFiles(files: File[] | FileList): void {\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n if (this.hasMultiple && !this.canAddMore) {\r\n return;\r\n }\r\n const filesData: FileData[] = [];\r\n const filesFiltered: File[] = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < files.length; i++) {\r\n if (this.hasMultiple && this.isFileAddedAlready(files[i])) {\r\n continue;\r\n }\r\n filesFiltered.push(files[i]);\r\n }\r\n files = filesFiltered;\r\n if (this.maxFiles && files.length > this.maxFiles - this.filesData.length) {\r\n files = files.slice(0, this.maxFiles - this.filesData.length);\r\n }\r\n for (const file of files) {\r\n filesData.push(\r\n new FileData(\r\n {\r\n file,\r\n } as RawFileData,\r\n {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n },\r\n ),\r\n );\r\n }\r\n\r\n for (const fileData of filesData) {\r\n if (fileData.file.size <= 20 * 1024 * 1024) {\r\n // <= 20MB\r\n this.initVideo(fileData);\r\n }\r\n }\r\n if (this.hasMultiple) {\r\n // splice: for list transitions to work properly\r\n this.filesData.splice(this.filesData.length, 0, ...filesData);\r\n } else {\r\n this.filesData = filesData;\r\n }\r\n\r\n FileData.readFiles(filesData).then((filesDataNew: FileData[]) => {\r\n const allFilesDataRaw = FileData.toRawArray(this.filesData);\r\n this.filesDataRaw = allFilesDataRaw;\r\n this.$emit('input', Array.isArray(this.value) ? allFilesDataRaw : allFilesDataRaw[0]);\r\n this.$emit('select', FileData.toRawArray(filesDataNew));\r\n });\r\n this.autoUpload(filesData);\r\n },\r\n filesChanged(event: InputEvent): void {\r\n const files: FileList = (event.target as HTMLInputElement).files as FileList;\r\n this.$emit('change', event);\r\n if (!files[0]) {\r\n return;\r\n }\r\n this.handleFiles(files);\r\n if (this.$refs.fileInput) {\r\n (this.$refs.fileInput as any).value = null; // do not use ''\r\n // because chrome won't fire change event for same file\r\n }\r\n },\r\n drop(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter = 0;\r\n this.isDragging = false;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n utils.getFilesFromDroppedItems(event.dataTransfer).then((files) => {\r\n this.$emit('drop', event);\r\n if (!files || !files[0]) {\r\n return;\r\n }\r\n if (!this.hasMultiple) {\r\n files = [files[0]];\r\n }\r\n this.handleFiles(files);\r\n });\r\n },\r\n dragEnter(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n dragCounter++;\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragOver(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragLeave(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter--;\r\n if (dragCounter === 0) {\r\n this.isDragging = false;\r\n }\r\n },\r\n removeFileData(fileDataOrRaw: FileData | RawFileData): void {\r\n let i: number;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n const fileData: FileData = this.filesData.splice(i, 1)[0];\r\n const fileDataRaw = this.filesDataRaw.splice(i, 1)[0];\r\n this.$emit('input', this.filesDataRaw);\r\n // this.$emit('delete', fileData);\r\n this.$emit('delete', fileDataRaw);\r\n this.autoDeleteUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n this.filesData.splice(i, 1, fileData);\r\n this.filesDataRaw.splice(i, 1, fileDataRaw);\r\n },\r\n );\r\n },\r\n filenameChanged(fileData: FileData): void {\r\n this.$emit('rename', FileData.toRawArray([fileData])[0]);\r\n this.autoUpdateUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n fileData.customName = fileData.oldCustomName;\r\n },\r\n );\r\n },\r\n checkValue(): void {\r\n let filesDataRaw: RawFileData[] = this.value || [];\r\n filesDataRaw = Array.isArray(filesDataRaw) ? filesDataRaw : [filesDataRaw];\r\n\r\n const fdPromises: Array> = [];\r\n const filesDataRawNew: RawFileData[] = [];\r\n\r\n for (let i = 0; i < filesDataRaw.length; i++) {\r\n const existingIndex = this.filesDataRaw.indexOf(filesDataRaw[i]);\r\n if (existingIndex !== -1) {\r\n fdPromises.push(Promise.resolve(this.filesData[existingIndex]));\r\n filesDataRawNew[i] = this.filesDataRaw[existingIndex];\r\n } else {\r\n fdPromises.push(\r\n FileData.fromRaw(filesDataRaw[i], {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n }),\r\n );\r\n filesDataRawNew.push(filesDataRaw[i]);\r\n }\r\n }\r\n\r\n this.filesDataRaw = filesDataRawNew;\r\n Promise.all(fdPromises).then((filesData) => {\r\n this.filesData = filesData;\r\n });\r\n },\r\n sortStart(): void {\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.isSorting = true;\r\n this.isSortingActive = true;\r\n },\r\n sortEnd(sortData: { event: Event; newIndex: number; oldIndex: number; collection: any }): void {\r\n this.isSortingActive = false;\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.sortTimeout = setTimeout(() => {\r\n this.isSorting = false;\r\n }, this.transitionDuration + 100);\r\n if (sortData.oldIndex !== sortData.newIndex) {\r\n this.filesDataRaw = utils.arrayMove(this.filesDataRaw, sortData.oldIndex, sortData.newIndex);\r\n this.$nextTick(() => {\r\n this.$emit('input', this.filesDataRaw);\r\n this.$emit('sort', {\r\n oldIndex: sortData.oldIndex,\r\n newIndex: sortData.newIndex,\r\n });\r\n });\r\n }\r\n },\r\n },\r\n created() {\r\n this.uniqueId =\r\n new Date().getTime().toString(36) +\r\n Math.random()\r\n .toString(36)\r\n .slice(2);\r\n this.checkValue();\r\n },\r\n watch: {\r\n value() {\r\n this.checkValue();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-agent-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-agent.vue?vue&type=template&id=1410c648&\"\nimport script from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import VueFileIcon from './components/vue-file-icon.vue';\r\nimport VueFilePreview from './components/vue-file-preview.vue';\r\nimport VueFileList from './components/vue-file-list.vue';\r\nimport VueFileListItem from './components/vue-file-list-item.vue';\r\nimport VueFileAgent from './components/vue-file-agent.vue';\r\nimport VueFileAgentMixin from './components/vue-file-agent-mixin';\r\nimport VueFilePreviewMixin from './components/vue-file-preview-mixin';\r\nimport utils from './lib/utils';\r\nimport plugins from './lib/plugins';\r\nimport FileData from './lib/file-data';\r\n\r\nimport _Vue, { PluginFunction } from 'vue';\r\n\r\nexport default class VueFileAgentPlugin {\r\n public static VueFileIcon = VueFileIcon;\r\n public static VueFilePreview = VueFilePreview;\r\n public static VueFileAgent = VueFileAgent;\r\n public static component = VueFileAgent;\r\n public static mixin = VueFileAgentMixin;\r\n public static plugins = plugins;\r\n\r\n public static VueFileAgentMixin = VueFileAgentMixin;\r\n public static VueFilePreviewMixin = VueFilePreviewMixin;\r\n\r\n public static install(Vue: typeof _Vue, options: any) {\r\n Vue.component('VueFileIcon', VueFileIcon);\r\n Vue.component('VueFilePreview', VueFilePreview);\r\n Vue.component('VueFileList', VueFileList);\r\n Vue.component('VueFileListItem', VueFileListItem);\r\n Vue.component('VueFileAgent', VueFileAgent);\r\n Vue.prototype.$vueFileAgent = {\r\n mixin: VueFileAgentMixin,\r\n };\r\n }\r\n}\r\n\r\n// auto install\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n VueFileAgentPlugin.install(window.Vue, {});\r\n (window as any).VueFileAgent = VueFileAgentPlugin;\r\n}\r\n\r\nexport const mixin = VueFileAgentMixin;\r\n\r\nexport { VueFileAgentMixin, VueFilePreviewMixin };\r\n\r\nexport { utils, FileData, plugins };\r\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://vue-file-agent/webpack/bootstrap","webpack://vue-file-agent/./src/components/vue-file-agent.vue?b54a","webpack://vue-file-agent/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue-file-agent/./src/components/vue-file-agent.vue?96c5","webpack://vue-file-agent/./node_modules/current-script-polyfill/currentScript.js","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue?1b6f","webpack://vue-file-agent/./src/lib/extensions.ts","webpack://vue-file-agent/./src/lib/icons.ts","webpack://vue-file-agent/./src/components/vue-file-icon.vue?22fe","webpack://vue-file-agent/./src/components/vue-file-icon.vue?ff5c","webpack://vue-file-agent/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue","webpack://vue-file-agent/./src/components/vue-file-preview.vue?b946","webpack://vue-file-agent/./src/lib/drop-handler.ts","webpack://vue-file-agent/./src/lib/utils.ts","webpack://vue-file-agent/./src/lib/file-data.ts","webpack://vue-file-agent/./src/components/vue-file-preview-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-preview.vue?2ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue?6ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue","webpack://vue-file-agent/./src/components/vue-file-list.vue?20f8","webpack://vue-file-agent/./src/components/vue-file-list.vue?5199","webpack://vue-file-agent/./src/components/vue-file-list.vue?8914","webpack://vue-file-agent/./src/components/vue-file-list.vue","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?85d9","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?cc4e","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?09a3","webpack://vue-file-agent/./src/components/vue-file-list-item.vue","webpack://vue-file-agent/./src/components/vue-file-agent.vue?0925","webpack://vue-file-agent/./node_modules/tslib/tslib.es6.js","webpack://vue-file-agent/./src/lib/ajax-request.ts","webpack://vue-file-agent/./src/lib/upload-helper.ts","webpack://vue-file-agent/./src/lib/plugins.ts","webpack://vue-file-agent/./src/components/vue-file-agent-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-agent.vue?36b6","webpack://vue-file-agent/./src/components/vue-file-agent.vue?54cf","webpack://vue-file-agent/./src/components/vue-file-agent.vue","webpack://vue-file-agent/./src/index.ts","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":[],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFA;AAAA;AAAA;AAAmgB,CAAgB,yiBAAG,EAAC,C;;;;;;;ACAvhB,gC;;;;;;;ACAA,uC;;;;;;;ACAA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;ACnCD;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA,MAAM,eAAC;AACP,OAAO,eAAC,sCAAsC,eAAC,GAAG,eAAC;AACnD,IAAI,qBAAuB,GAAG,eAAC;AAC/B;AACA;;AAEA;AACe,sDAAI;;;ACdnB,0BAA0B,aAAa,0BAA0B,wBAAwB,iBAAiB,OAAO,+BAA+B,4CAA4C,uBAAuB,iBAAiB,OAAO,YAAY;AACvP;;;;;;ACDe;IACb,OAAO,EAAE;QACP,KAAK;QACL,KAAK;QACL,KAAK;QACL,MAAM;QACN,SAAS;QACT,KAAK;QACL,SAAS;QACT,SAAS;QACT,KAAK;QACL,KAAK;KACN;IACD,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IACvC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC;IAC1E,MAAM,EAAE;QACN,SAAS;QACT,KAAK;QACL,KAAK;QACL,OAAO;QACP,KAAK;KACN;IACD,UAAU,EAAE;QACV,KAAK;QACL,KAAK;QACL,IAAI;QACJ,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;KAEN;IACD,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACnG,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;IAC7F,QAAQ,EAAE;QACR,KAAK;QACL,MAAM;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,IAAI;QACJ,KAAK;QACL,MAAM;QACN,KAAK;QACL,MAAM;QACN,KAAK;QACL,SAAS;QACT,MAAM;QACN,KAAK;QACL,IAAI;QACJ,KAAK;QACL,KAAK;QACL,OAAO;KACR;IACD,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;IACpD,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;IACrF,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;IACtC,QAAQ,EAAE;QACR,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,MAAM;QACN,SAAS;QACT,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;KACN;IACD,OAAO,EAAE;QACP,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,MAAM;QACN,SAAS;QACT,KAAK;QACL,SAAS;QACT,SAAS;QACT,KAAK;QACL,MAAM;QACN,IAAI;QACJ,KAAK;QACL,KAAK;QACL,UAAU;QACV,KAAK;KACN;IACD,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;IACxC,KAAK,EAAE,CAAC,KAAK,CAAC;IACd,KAAK,EAAE;QACL,KAAK;QACL,MAAM;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,SAAS;QACT,KAAK;QACL,KAAK;QACL,KAAK;KACN;IACD,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,KAAK,CAAC;IACd,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACpB,MAAM,EAAE,CAAC,MAAM,CAAC;CACjB,EAAC;;;ACjHyC;AAE3C;IAEE,iBAAmB,KAAe,EAAS,KAAc,EAAS,OAAgB;QAA/D,UAAK,GAAL,KAAK,CAAU;QAAS,UAAK,GAAL,KAAK,CAAS;QAAS,YAAO,GAAP,OAAO,CAAS;QAD3E,aAAQ,GAAW,EAAE,CAAC;IACwD,CAAC;IACxF,cAAC;AAAD,CAAC;;AAED,IAAM,aAAa,GAAG,CAAC,0FAA0F,CAAC,CAAC;AAEnH,IAAM,KAAK,GAAG;IACZ,QAAQ,EAAE,IAAI,OAAO,CACnB;QACE,wEAAwE;QACxE,kGAAkG;KACnG,EACD,SAAS,CACV;IACD,OAAO,EAAE,IAAI,OAAO,CAClB;QACE,uKAAuK;QACvK,2BAA2B;QAC3B,oHAAoH;KACrH,EACD,MAAM,CACP;IACD,OAAO,EAAE,IAAI,OAAO,CAClB;QACE,8QAA8Q;KAC/Q,EACD,SAAS,CACV;IACD,gBAAgB,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC;IACjE,gBAAgB,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC;IACpE,SAAS,EAAE,IAAI,OAAO,CACpB;QACE,6dAA6d;KAC9d,EACD,SAAS,CACV;IACD,QAAQ,EAAE,IAAI,OAAO,CACnB;QACE,s7BAAs7B;KACv7B,EACD,MAAM,CACP;IACD,OAAO,EAAE,IAAI,OAAO,CAClB;QACE,gFAAgF;QAChF,uDAAuD;KACxD,EACD,SAAS,CACV;IACD,KAAK,EAAE,IAAI,OAAO,CAChB;QACE,qQAAqQ;QACrQ,mHAAmH;KACpH,EACD,SAAS,CACV;IACD,YAAY,EAAE,IAAI,OAAO,CACvB,CAAC,iFAAiF,CAAC,EACnF,MAAM,CACP;IACD,OAAO,EAAE,IAAI,OAAO,CAClB;QACE,gzBAAgzB;KACjzB,EACD,MAAM,CACP;IACD,QAAQ,EAAE,IAAI,OAAO,CACnB;QACE,yJAAyJ;KAC1J,CAAC,eAAe,CAClB;IACD,QAAQ,EAAE,IAAI,OAAO,CACnB;QACE,6XAA6X;KAC9X,CAAC,eAAe,CAClB;IACD,MAAM,EAAE,IAAI,OAAO,CACjB;QACE,+IAA+I;QAC/I,qdAAqd;KACtd,EACD,MAAM,CACP;IACD,MAAM,EAAE,IAAI,OAAO,CACjB,CAAC,iGAAiG,CAAC,EACnG,SAAS,CACV;IACD,UAAU,EAAE,IAAI,OAAO,CACrB;QACE,6TAA6T;QAC7T,kXAAkX;QAClX,6QAA6Q;KAC9Q,EACD,SAAS,CACV;IACD,KAAK,EAAE,IAAI,OAAO,CAChB;QACE,oxBAAoxB;KACrxB,EACD,SAAS,CACV;IACD,OAAO,EAAE,IAAI,OAAO,CAClB;QACE,2MAA2M;KAC5M,EACD,SAAS,CACV;IACD,cAAc,EAAE,IAAI,OAAO,CACzB;QACE,gnBAAgnB;QAChnB,2bAA2b;KAC5b,EACD,SAAS,CACV;IACD,MAAM,EAAE,IAAI,OAAO,CACjB;QACE,yTAAyT;QACzT,omBAAomB;KACrmB,EACD,SAAS,CACV;IACD,KAAK,EAAE,IAAI,OAAO,CAChB;QACE,kPAAkP;KACnP,EACD,SAAS,CACV;IACD,OAAO,EAAE,IAAI,OAAO,CAClB;QACE,qNAAqN;KACtN,CAAC,eAAe,CAClB;IACD,eAAe;IACf,cAAc,EAAE,IAAI,OAAO,CACzB,CAAC,uGAAuG,CAAC,EACzG,SAAS,EACT,WAAW,CACZ;IACD,yBAAyB,EAAE,IAAI,OAAO,CACpC;QACE,meAAme;KACpe,EACD,SAAS,EACT,eAAe,CAChB;IACD,eAAe;IACf,wBAAwB,EAAE,IAAI,OAAO,CAAC,CAAC,+CAA+C,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC;IAChH,qBAAqB,EAAE,IAAI,OAAO,CAChC,CAAC,0FAA0F,CAAC,EAC5F,SAAS,EACT,WAAW,CACZ;IACD,2FAA2F;IAC3F,uBAAuB,EAAE,IAAI,OAAO,CAClC;QACE,uJAAuJ;KACxJ,EACD,SAAS,EACT,WAAW,CACZ;CACF,CAAC;AAEF,KAAK,IAAM,QAAQ,IAAI,KAAK,EAAE;IAC5B,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;QACjC,KAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC9C;CACF;AAEc,mDAAK,EAAC;AAEd,IAAM,aAAa,GAAQ,EAAE,CAAC;AAErC,KAAK,IAAM,GAAG,IAAI,UAAU,EAAE;IAC5B,IAAI,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QAClC,KAAkB,eAAwB,EAAxB,UAAC,UAAkB,CAAC,GAAG,CAAC,EAAxB,wBAAwB,EAAxB,SAAwB,EAAE;YAAvC,IAAM,SAAG;YACZ,aAAa,CAAC,SAAG,CAAC,GAAG,GAAG,CAAC;SAC1B;KACF;CACF;AAEM,SAAS,aAAa,CAAC,IAAY;IACxC,IAAM,OAAO,GAAI,KAAa,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IACpD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,SAAS,cAAc,CAAC,GAAW;IACxC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACxB,IAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;;;;;;;ACvLqE;AAChD;AAEP,gIAAG,CAAC,MAAM,CAAC;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;IACjC,QAAQ,EAAE;QACR,eAAe,EAAf;YACE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;aAC1B;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;QACrD,CAAC;QACD,IAAI,EAAJ;YACE,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,IAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC;QACjB,CAAC;KACF;CACF,CAAC,EAAC;;;AC7BwU,CAAgB,0HAAG,EAAC,C;;ACA/V;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC5F4F;AAC3B;AACL;;;AAG5D;AAC0F;AAC1F,gBAAgB,kBAAU;AAC1B,EAAE,gDAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mE;;AClBf,IAAI,oDAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB;AAC1G;AACA;AACA;AACA,KAAK,iDAAiD;AACtD,KAAK,yCAAyC;AAC9C,KAAK,uCAAuC;AAC5C,KAAK,kDAAkD;AACvD,KAAK,kCAAkC,GAAG,iCAAiC,qCAAqC,yBAAyB,4BAA4B,YAAY,2DAA2D,gKAAgK,4CAA4C,YAAY,iCAAiC,yBAAyB,kCAAkC,aAAa,2BAA2B,oBAAoB,OAAO,uBAAuB,iBAAiB,2BAA2B,oBAAoB,OAAO,8BAA8B,8BAA8B;AAC7vB;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK,EAAE,aAAa,mCAAmC,wEAAwE,qCAAqC,yFAAyF,+BAA+B,OAAO,uEAAuE,YAAY,sCAAsC,0BAA0B,cAAc,sCAAsC,0BAA0B,wBAAwB,uBAAuB,kDAAkD,wBAAwB,mEAAmE,8BAA8B,yBAAyB,wCAAwC,+BAA+B,kCAAkC,8BAA8B,oCAAoC,oBAAoB,OAAO,uBAAuB,0BAA0B,4BAA4B,yBAAyB,4BAA4B,sCAAsC,iDAAiD,+CAA+C,WAAW,gCAAgC,KAAK,yBAAyB,8BAA8B,yBAAyB,6BAA6B,2BAA2B,6BAA6B,0BAA0B,6BAA6B,2BAA2B,sFAAsF,aAAa,EAAE,iCAAiC,kBAAkB,6FAA6F,aAAa,EAAE,kCAAkC,GAAG,8CAA8C,kCAAkC,oBAAoB,OAAO,gCAAgC,0BAA0B,6BAA6B,2HAA2H,8BAA8B,aAAa,oCAAoC,6DAA6D,qCAAqC,sGAAsG;AACz2E;AACA;AACA;AACA,QAAQ,aAAa,wCAAwC,uCAAuC,EAAE,wBAAwB,wBAAwB,+BAA+B,OAAO,uEAAuE,oBAAoB,OAAO,0BAA0B,wBAAwB,OAAO,0BAA0B;AACjX,IAAI,6DAAe;;;;;;ACnBZ,SAAS,wBAAwB,CAAC,YAA0B;IACjE,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QACzB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YACvC,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACpC;QACD,IAAM,KAAK,GAAW,EAAE,CAAC;QACzB,IAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,2BAA2B;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,IAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,SAAS;aACV;YACD,IAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,iBAAiB,EAAE;gBACrB,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACzC;iBAAM;gBACL,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9B,IAAI,IAAI,EAAE;oBACR,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClB;aACF;SACF;QACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;YAC/C,OAAO,CAAC,KAAK,CAAC,MAAM,OAAZ,KAAK,EAAW,cAAc,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAAU;IAC5B,iEAAiE;IACjE,IAAI,KAAK,CAAC,UAAU,EAAE;QACpB,OAAO,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;KACvC;IACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;QAC1B,OAAO,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;KAC7C;IACD,0EAA0E;IAC1E,IAAI,KAAK,CAAC,SAAS,EAAE;QACnB,OAAO;KACR;IACD,mDAAmD;IACnD,mGAAmG;IACnG,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QACzB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,KAAK,CAAC,IAAI,CAAC,UAAC,IAAU,IAAK,cAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC;YAC5C,OAAO;SACR;QACD,IAAI,KAAK,CAAC,WAAW,EAAE;YACrB,IAAM,OAAK,GAAW,EAAE,CAAC;YACzB,IAAM,aAAW,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YACzC,IAAM,aAAW,GAAG;gBAClB,aAAW,CAAC,WAAW,CAAC,UAAC,OAAc;oBACrC,IAAM,YAAY,GAAG,UAAC,CAAS;wBAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;4BAC1B,OAAO,OAAO,CAAC,OAAK,CAAC,CAAC;yBACvB;wBACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BACf,OAAO,aAAW,EAAE,CAAC;yBACtB;wBACA,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAqB,CAAC,IAAI,CAAC,UAAC,UAAkB;4BAClE,OAAK,CAAC,IAAI,OAAV,OAAK,EAAS,UAAU,EAAE;4BAC1B,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACtB,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC;oBACF,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YACF,aAAW,EAAE,CAAC;SACf;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACvC,OAAO,CAAC,EAAE,CAAC,CAAC;SACb;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAe;IACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACjB,OAAO,IAAI,CAAC,CAAC,gDAAgD;KAC9D;IACD,2BAA2B;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,iEAAiE;QACjE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;;;ACxFyD;AAe1D,IAAK,gBAGJ;AAHD,WAAK,gBAAgB;IACnB,2DAAU;IACV,qEAAe;AACjB,CAAC,EAHI,gBAAgB,KAAhB,gBAAgB,QAGpB;AAED;IAAA;IA0ZA,CAAC;IAzZQ,yBAAS,GAAhB,UAAiB,GAAU,EAAE,aAAqB,EAAE,QAAgB;QAClE,uEAAuE;QACvE,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE;YAC5B,IAAI,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;YAChC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;gBACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACvB;SACF;QACD,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,+BAAe,GAAtB,UAAuB,GAAsB;QAC3C,IAAM,aAAa,GAAG,CAAC,CAAC;QACxB,IAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,IAAI,SAAS,GAAG,aAAa,EAAE;YAC7B,OAAO;SACR;QACD,IAAM,IAAI,GAAG,CAAC,CAAC;QACf,IAAM,GAAG,GAAG,SAAS,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC;QACpD,IAAM,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC;QAEjD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,YAAY,EAAE;YAC1C,IAAM,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YAC3B,IAAM,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YACjC,IAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAEhC,QAAQ,IAAI,GAAG,CAAC;YAChB,UAAU,IAAI,KAAK,CAAC;YACpB,SAAS,IAAI,IAAI,CAAC;YAClB,UAAU,IAAI,KAAK,CAAC;YACpB,KAAK,EAAE,CAAC;SACT;QAED,OAAO,UAAU;YACf,CAAC,CAAC;gBACE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;aAC/B;YACH,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAEM,oCAAoB,GAA3B,UACE,KAAuB,EACvB,MAAyB,EACzB,aAAqB;QAHvB,iBAuCC;QAlCC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB;QACzE,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAM,eAAe,GAAG;gBACtB,IAAI,CAAC,CAAC,cAAc,IAAI,UAAU,CAAC,EAAE;oBACnC,OAAO;iBACR;gBACD,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAA6B,CAAC;gBACpE,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5D,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1E,IAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC;oBACN,GAAG;oBACH,KAAK,EAAE,KAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC3C,KAAK,EAAE,KAAK,CAAC,UAAU;oBACvB,MAAM,EAAE,KAAK,CAAC,WAAW;iBAC1B,CAAC,CAAC;YACL,CAAC,CAAC;YACF,kEAAkE;YAClE,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;gBACvC,uCAAuC;gBACvC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;gBAC7B,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;gBACtE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,aAAa;gBACpC,cAAc,GAAG,IAAI,CAAC;gBACtB,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE;gBACnC,UAAU,GAAG,IAAI,CAAC;gBAClB,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,0BAAU,GAAjB,UAAkB,IAAU;QAC1B,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,GAAG,UAAC,KAAK;gBACpB,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBAC1C,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;iBACpB;gBACD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;YACzC,CAAC,CAAC;YACF,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kDAAkC,GAAzC,UAA0C,MAAmB;QAC3D,eAAe;QACf,kBAAkB;QAClB,IAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,MAAM,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC;SACX;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,MAAM,EAAE;YACtB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC1C,OAAO,CAAC,CAAC,CAAC;aACX;YACD,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,CAAC;YACZ,IAAI,MAAM,KAAK,MAAM,EAAE;gBACrB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,UAAU,EAAE;oBACvD,OAAO,CAAC,CAAC,CAAC;iBACX;gBACD,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,MAAM,CAAC;gBAC/D,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC7C,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,CAAC;gBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;oBAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE;wBACtD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;qBACpD;iBACF;gBACD,2BAA2B;aAC5B;iBAAM,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,EAAE;gBACvC,MAAM;aACP;iBAAM;gBACL,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aACzC;SACF;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAEM,mCAAmB,GAA1B,UAA2B,IAAU;QAArC,iBAiBC;QAhBC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;gBAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACpB;YACD,MAAM,CAAC,MAAM,GAAG,UAAC,KAAK;gBACpB,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpB;gBACD,OAAO,CAAC,KAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAqB,CAAC,CAAC,CAAC;YACvF,CAAC,CAAC;YACF,wFAAwF;YACxF,8DAA8D;YAC9D,kCAAkC;YAClC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,4BAAY,GAAnB,UACE,cAAsB,EACtB,MAAyB,EACzB,GAA6B,EAC7B,KAAa,EACb,MAAc;QAEd,yDAAyD;QACzD,IAAI,CAAC,GAAG,cAAc,IAAI,cAAc,GAAG,CAAC,EAAE;YAC5C,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;YACtB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;SACvB;aAAM;YACL,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;SACxB;QAED,yCAAyC;QACzC,QAAQ,cAAc,EAAE;YACtB,KAAK,CAAC;gBACJ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrC,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAEM,+BAAe,GAAtB,UACE,KAAuB,EACvB,UAAkB,EAClB,WAAoB,EACpB,WAAoB;QAEpB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,IAAM,aAAa,GAAG,UAAU,CAAC;QACjC,IAAI,UAAU,IAAI,WAAW,EAAE;YAC7B,KAAK,GAAG,UAAU,CAAC;YACnB,MAAM,GAAG,WAAW,CAAC;SACtB;aAAM;YACL,IAAI,KAAK,GAAG,MAAM,EAAE;gBAClB,IAAI,KAAK,GAAG,aAAa,EAAE;oBACzB,MAAM,IAAI,aAAa,GAAG,KAAK,CAAC;oBAChC,KAAK,GAAG,aAAa,CAAC;iBACvB;aACF;iBAAM;gBACL,IAAI,MAAM,GAAG,aAAa,EAAE;oBAC1B,KAAK,IAAI,aAAa,GAAG,MAAM,CAAC;oBAChC,MAAM,GAAG,aAAa,CAAC;iBACxB;aACF;SACF;QAED,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvB,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SAChE;QAED,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI;YACF,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,IAAI,EAAE;gBACR,QAAQ,GAAG,IAAI,CAAC;aACjB;SACF;QAAC,OAAO,CAAC,EAAE;YACV,wCAAwC;SACzC;QACD,OAAO;YACL,KAAK;YACL,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YAClC,KAAK,EAAE,QAAQ;SACE,CAAC;IACtB,CAAC;IAEM,8BAAc,GAArB,UAAsB,KAAuB,EAAE,GAAW,EAAE,aAAqB;QAAjF,iBAQC;QAPC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,KAAK,CAAC,MAAM,GAAG;gBACb,IAAM,OAAO,GAAG,KAAI,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC;YACF,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+BAAe,GAAtB,UAAuB,KAAuB,EAAE,IAAU,EAAE,aAAqB;QAAjF,iBA+BC;QA9BC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;gBACrC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;gBAClC,OAAO;aACR;YACD,IAAM,eAAe,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC;YAC/E,IAAM,eAAe,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC;YAC/E,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAM,kBAAkB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1D,KAAK,CAAC,MAAM,GAAG;gBACb,kBAAkB,CAAC,IAAI,CAAC,UAAC,WAAW;oBAClC,IAAM,OAAO,GAAG,KAAI,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;oBACnF,IAAI,YAAY,EAAE;wBAChB,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC5B;oBACD,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YACF,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;gBAC3B,OAAO,MAAM,CAAC,gEAAgE,CAAC,CAAC;aACjF;YACD,IAAI,eAAe,IAAI,eAAe,EAAE;gBACtC,YAAY,GAAG,IAAI,CAAC;gBACpB,KAAK,CAAC,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO;aACR;YACD,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBACjC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,2BAAW,GAAlB,UAAmB,aAAqB,EAAE,IAAW,EAAE,GAAY;QACjE,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC/C,OAAO,GAAG;YACR,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAY,EAAE,aAAa,CAAC,CAAC;IAC/D,CAAC;IAEM,gCAAgB,GAAvB,UAAwB,KAAa;QACnC,IAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAEM,6BAAa,GAApB,UAAqB,IAAY;QAC/B,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACrD,IAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;SACzB;QACD,IAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YACZ,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAEM,+BAAe,GAAtB,UAAuB,IAAY;QACjC,IAAM,WAAW,GAAG,UAAC,KAAa;YAChC,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,OAAO,IAAI,CAAC;aACb;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,2BAA2B;gBAC3B,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBAClD,2BAA2B;gBAC3B,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,2BAA2B;aAChD;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,IAAM,QAAQ,GAAG,UAAC,KAAa;YAC7B,IAAM,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;YACtB,IAAM,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;YACtB,IAAM,CAAC,GAAG,EAAE,CAAC;YACb,OAAO,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC;QACtD,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAEM,4BAAY,GAAnB,UAAoB,IAAU,EAAE,MAAe;QAC7C,8EAA8E;QAC9E,qEAAqE;QACrE,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb,CAAC,+CAA+C;QACjD,IAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEnD,KAAsB,UAAa,EAAb,+BAAa,EAAb,2BAAa,EAAb,IAAa,EAAE;YAAhC,IAAI,SAAS;YAChB,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC/B,YAAY;gBACZ,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;oBACxG,OAAO,IAAI,CAAC;iBACb;aACF;iBAAM,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAClC,6CAA6C;gBAC7C,IAAI,YAAY,KAAK,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;oBACnD,OAAO,IAAI,CAAC;iBACb;aACF;iBAAM;gBACL,IAAI,QAAQ,KAAK,SAAS,EAAE;oBAC1B,OAAO,IAAI,CAAC;iBACb;aACF;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,4BAAY,GAAnB,UAAoB,IAAU,EAAE,OAAgB;QAC9C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;IAC5B,CAAC;IAEM,wCAAwB,GAA/B,UAAgC,YAA0B;QACxD,OAAO,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IACH,YAAC;AAAD,CAAC;AAEc,8CAAI,WAAK,EAAE,EAAC;;;AChbuB;AACtB;AA2D5B;IA2FE,kBAAmB,IAAiB,EAAE,OAAgB;QA/B/C,QAAG,GAAkB,IAAI,CAAC;QAC1B,eAAU,GAAkB,IAAI,CAAC;QACjC,UAAK,GAA0B,EAAE,CAAC;QAClC,gBAAW,GAAY,KAAK,CAAC;QAE7B,gBAAW,GAAkB,IAAI,CAAC;QAClC,kBAAa,GAAkB,IAAI,CAAC;QACpC,WAAM,GAAQ,IAAI,CAAC;QAyBxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAS,CAAC;QACxF,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAkB,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,QAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,sCAAsC;QACtC,wCAAwC;QACxC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAxHa,mBAAU,GAAxB,UAAyB,WAAwB,EAAE,OAAgB,EAAE,MAAc;QAAd,uCAAc;QACjF,IAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpD,IAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,2BAA2B;QACpF,WAAW,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,2BAA2B;QAC5E,IAAI,MAAM,EAAE;YACV,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEa,gBAAO,GAArB,UAAsB,WAAwB,EAAE,OAAgB;QAC9D,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAsB,CAAC;IAC/E,CAAC;IAEa,oBAAW,GAAzB,UAA0B,WAAwB,EAAE,OAAgB;QAClE,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAa,CAAC;IACrE,CAAC;IAEa,qBAAY,GAA1B,UAA2B,YAA2B,EAAE,OAAgB;QACtE,IAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,KAA0B,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;YAAnC,IAAM,WAAW;YACpB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;SACvD;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEa,mBAAU,GAAxB,UAAyB,SAAqB;QAC5C,IAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,KAAuB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,EAAE;YAA7B,IAAM,QAAQ;YACjB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SACrC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEa,iBAAQ,GAAtB,UAAuB,QAAkB;QACvC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAClB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClB,OAAO;aACR;YACD,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBAC3C,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;oBAC5B,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC,EAAE,MAAM,CAAC,CAAC;YACb,CAAC,EAAE,MAAM,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAEa,kBAAS,GAAvB,UAAwB,SAAqB;QAC3C,IAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,KAAuB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,EAAE;YAA7B,IAAM,QAAQ;YACjB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC5C;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAiED,kCAAkC;IAE3B,kCAAe,GAAtB,UAAuB,IAAiB;QACtC,IAAM,IAAI,GAAc,EAAe,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,8BAAW,GAAlB;QACE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,4BAA4B;IACpE,CAAC;IAEM,2BAAQ,GAAf,UAAgB,KAAc;QAC5B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,OAAO;SACR;QACD,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACpC,CAAC;IAEM,sBAAG,GAAV;QACE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,IAAK,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC;SAC9D;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC1B,OAAO,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;SAClC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,uBAAI,GAAX;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,OAAO,EAAE,CAAC;SACX;QACD,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,sBAAG,GAAV;QACE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACnD,OAAQ,IAAI,CAAC,IAAI,CAAC,IAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;SACjD;QACD,OAAO,GAAG,CAAC;QACX,4CAA4C;IAC9C,CAAC;IAEM,uBAAI,GAAX,UAAY,UAAoB;QAC9B,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC3E;QACD,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,IAAI,UAAU,EAAE;YACd,IAAI,GAAG,KAAK,GAAG,EAAE;gBACf,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aACvD;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,8BAAW,GAAlB;QACE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5B,IAAM,SAAS,GAAG,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;SAC1E;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,wBAAK,GAAZ;QACE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5B,OAAO,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SAC9D;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO,aAAa,CAAC;SACtB;QACD,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,qCAAqC;QACrC,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,OAAO,OAAO,CAAC,KAAK,CAAC;SACtB;QACD,OAAO,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAEM,0BAAO,GAAd;QACE,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,0BAAO,GAAd;QACE,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,kCAAe,GAAtB;QACE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,KAAK,gBAAgB,CAAC;IACnD,CAAC;IAEM,0BAAO,GAAd;QACE,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,kCAAe,GAAtB;QACE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,KAAK,gBAAgB,CAAC;IACnD,CAAC;IAEM,yBAAM,GAAb;QACE,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEM,yBAAM,GAAb,UAAc,GAAkB;QAAhC,iBAWC;QAVC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAI,KAAI,CAAC,OAAO,EAAE,EAAE;gBAClB,KAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;oBACtB,OAAO,CAAC,KAAI,CAAC,CAAC;gBAChB,CAAC,EAAE,MAAM,CAAC,CAAC;gBACX,OAAO;aACR;YACD,OAAO,CAAC,KAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+BAAY,GAAnB,UAAoB,OAA8B;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;YAChE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;SAC/C;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;IAClC,CAAC;IAEM,8BAAW,GAAlB;QAAA,iBAUC;QATC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,KAAK;iBACF,WAAW,CAAC,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,GAAa,CAAC;iBAC9D,IAAI,CAAC,UAAC,OAAO;gBACZ,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC3B,OAAO,CAAC,KAAI,CAAC,CAAC;YAChB,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,uBAAI,GAAX;QACE,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,kCAAe,GAAtB,UAAuB,SAAqB;QAC1C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;QACD,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;QAC5B,SAAS,GAAG;YACV,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,eAAe;YAC3C,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,oBAAoB;YAC5C,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,0BAA0B,GAAG,IAAI,CAAC,OAAO,GAAG,UAAU;SAC/E,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,EAAE;YACd,OAAO,SAAS,CAAC,IAAc,CAAC;SACjC;aAAM,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,OAAO,SAAS,CAAC,IAAc,CAAC;SACjC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;SAC5E;QACD,OAAO,SAAS,CAAC,MAAgB,CAAC;IACpC,CAAC;IAEM,wBAAK,GAAZ;QAAA,iBAuBC;QAtBC,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACnB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1C,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB;QACjE,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE;YACrB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;gBAClC,GAAG,EAAE;oBACH,OAAO,KAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;aACF,CAAC,CAAC;SACJ;QACD,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,2BAAQ,GAAf;QACE,IAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAiB,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;YAC5B,IAAI,CAAC,KAAK,GAAG;gBACX,IAAI,EAAE,CAAC,SAAS;gBAChB,IAAI,EAAE,CAAC,SAAS;aACjB,CAAC;SACH;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;IACH,CAAC;IACH,eAAC;AAAD,CAAC;AAEc,gEAAQ,EAAC;;;ACrZS;AACa;AACoB;AAC5C;AAEP,iHAAG,CAAC,MAAM,CAAC;IACxB,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC;IAC/F,UAAU,EAAE;QACV,WAAW;KACZ;IACD,IAAI,EAAJ;QACE,OAAO;YACL,kBAAkB,EAAE,KAAK;YACzB,gBAAgB,EAAE,IAAI;YACtB,QAAQ,EAAE,EAAc;SACzB,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE;QACR,cAAc,EAAd;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO,KAAK,CAAC;aACd;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QACrG,CAAC;KACF;IACD,OAAO,EAAE;QACP,cAAc,EAAd;YAAA,iBAaC;YAZC,IAAI,IAAI,CAAC,KAAK,YAAY,SAAQ,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC3B,OAAO;aACR;YACD,SAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;aACvB,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC1B,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,SAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC/C,aAAa,EAAE,IAAI,CAAC,aAAa;aACvB,CAAC,CAAC;QAChB,CAAC;QACD,eAAe,EAAf,UAAgB,QAAkB,EAAE,KAAuB;YACzD,IAAI,QAAQ,CAAC,cAAc,EAAE;gBAC3B,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAC9B,OAAO;aACR;YACD,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;gBACpF,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;gBACtC,QAAQ,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC;gBACxC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC5C,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC9C,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAN,UAAO,QAAkB;YACvB,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnB,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO;aACR;YACD,IAAM,eAAe,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC;YAC/E,IAAM,eAAe,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC;YAE/E,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAsB,CAAC;YAClD,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,MAAM,YAAY,gBAAgB,IAAI,QAAQ,CAAC,eAAe,EAAE,EAAE;gBACpE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aACxC;YACD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,6CAA6C;YAC7C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;YACjB,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5B,QAAQ,CAAC,MAAM,GAAG;gBAChB,qBAAqB;gBACrB,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;gBAChB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC5B,eAAe,CAAC,GAAG,CAAC,CAAC;gBACrB,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC7B,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC;QACJ,CAAC;QAED,cAAc,EAAd,UAAe,QAAkB;YAC/B,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;gBACxB,OAAO;aACR;YACD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAC1B,OAAO;aACR;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,YAAY,EAAZ;YACE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAC1B,OAAO;aACR;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBACrB,OAAO;aACR;YACA,IAAI,CAAC,KAAK,CAAC,KAA0B,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC;QAED,gBAAgB;YACd,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,eAAe,EAAf;YAAA,iBAmBC;YAlBC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAM,KAAK,GAAI,IAAI,CAAC,KAAK,CAAC,KAA0B,CAAC,KAAK,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC;YACjC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrC;YACD,IAAM,OAAO,GAAG,GAAG,CAAC;YACpB,UAAU,CAAC;gBACT,KAAI,CAAC,SAAS,CAAC;oBACb,IAAI,CAAC,KAAI,CAAC,gBAAgB,EAAE;wBAC1B,OAAO;qBACR;oBACD,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAClC,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC;QAED,eAAe,EAAf,UAAgB,SAAmB;YACjC,IAAI,SAAS,EAAE;gBACZ,IAAI,CAAC,KAAK,CAAC,KAA0B,CAAC,IAAI,EAAE,CAAC,CAAC,8BAA8B;aAC9E;YACD,IAAI,SAAS,KAAK,KAAK,EAAE;gBACvB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC;QAED,oBAAoB;YAClB,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE;gBACxD,OAAO;aACR;YACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAChC,CAAC;QAED,aAAa,EAAb;YACE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE;gBACxD,OAAO,KAAK,CAAC;aACd;YACA,IAAI,CAAC,KAAK,CAAC,KAA0B,CAAC,KAAK,GAAG,EAAE,CAAC;YAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,YAAY;YACV,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,CAAC;KACF;IACD,OAAO;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IACD,KAAK,EAAE;QACL,KAAK;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;KACF;CACF,CAAC,EAAC;;;AC/DmB;AACuB;AAE9B,mIAAG,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,CAAC,sBAAK,CAAC;CAChB,CAAC,EAAC;;;AC/G2U,CAAgB,gIAAG,EAAC,C;;ACAnQ;AAC3B;AACL;;;AAG/D;AAC0F;AAC1F,IAAI,0BAAS,GAAG,kBAAU;AAC1B,EAAE,mDAAM;AACR,EAAE,oDAAM;AACR,EAAE,6DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,+EAAS,Q;;AClBxB,IAAI,iDAAM,gBAAgB,aAAa,0BAA0B,wBAAwB;AACzF,IAAI,0DAAe;;;;;;ACKG;AAEP,gIAAG,CAAC,MAAM,CAAC;IACxB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;CACrC,CAAC,EAAC;;;ACVwU,CAAgB,0HAAG,EAAC,C;;ACAnQ;AAC3B;AACL;;;AAG5D;AAC0F;AAC1F,IAAI,uBAAS,GAAG,kBAAU;AAC1B,EAAE,gDAAM;AACR,EAAE,iDAAM;AACR,EAAE,0DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yEAAS,Q;;AClBxB,IAAI,sDAAM,gBAAgB,aAAa,0BAA0B,wBAAwB;AACzF,IAAI,+DAAe;;;;;;ACKG;AAEP,qIAAG,CAAC,MAAM,CAAC;IACxB,KAAK,EAAE,CAAC,OAAO,CAAC;CACjB,CAAC,EAAC;;;ACV6U,CAAgB,oIAAG,EAAC,C;;ACAnQ;AAC3B;AACL;;;AAGjE;AAC0F;AAC1F,IAAI,4BAAS,GAAG,kBAAU;AAC1B,EAAE,qDAAM;AACR,EAAE,sDAAM;AACR,EAAE,+DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mFAAS,Q;;AClBxB,IAAI,kDAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB;AAC1G;AACA,KAAK,8CAA8C;AACnD,KAAK,gDAAgD;AACrD,KAAK,mDAAmD;AACxD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,kCAAkC,2BAA2B,KAAK,6FAA6F,mCAAmC;AAClM;AACA;AACA;AACA;AACA,MAAM,sCAAsC,mCAAmC,yDAAyD,kCAAkC,sCAAsC,uDAAuD,YAAY,2CAA2C,mCAAmC,EAAE,YAAY,4CAA4C,yCAAyC,EAAE,sEAAsE,uBAAuB,wQAAwQ,KAAK,8BAA8B,uBAAuB,6BAA6B,4BAA4B,QAAQ,+CAA+C,kBAAkB,yBAAyB,yBAAyB,OAAO,+BAA+B,kDAAkD,oEAAoE,mGAAmG,eAAe,yCAAyC,aAAa,2DAA2D,qCAAqC,8CAA8C,OAAO,iCAAiC,6DAA6D,OAAO,mMAAmM,KAAK,0BAA0B,kCAAkC,2BAA2B,qCAAqC,IAAI,kCAAkC,MAAM,yDAAyD,uFAAuF,aAAa,2BAA2B,aAAa,aAAa,qEAAqE,oBAAoB,OAAO,kCAAkC,aAAa,wBAAwB,iFAAiF,gDAAgD,wJAAwJ,KAAK,2BAA2B;AACznF,IAAI,2DAAe;;;;;;ACjBnB;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;;AAEO;AACP;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEO;AACP;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,4DAA4D,cAAc;AAC1E;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;;AAEO;AACP,mCAAmC,oCAAoC;AACvE;;AAEO;AACP;AACA;;AAEO;AACP;AACA,mCAAmC,MAAM,6BAA6B,EAAE,YAAY,WAAW,EAAE;AACjG,kCAAkC,MAAM,iCAAiC,EAAE,YAAY,WAAW,EAAE;AACpG,+BAA+B,iEAAiE,uBAAuB,EAAE,4BAA4B;AACrJ;AACA,KAAK;AACL;;AAEO;AACP,aAAa,6BAA6B,0BAA0B,aAAa,EAAE,qBAAqB;AACxG,gBAAgB,qDAAqD,oEAAoE,aAAa,EAAE;AACxJ,sBAAsB,sBAAsB,qBAAqB,GAAG;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,kCAAkC,SAAS;AAC3C,kCAAkC,WAAW,UAAU;AACvD,yCAAyC,cAAc;AACvD;AACA,6GAA6G,OAAO,UAAU;AAC9H,gFAAgF,iBAAiB,OAAO;AACxG,wDAAwD,gBAAgB,QAAQ,OAAO;AACvF,8CAA8C,gBAAgB,gBAAgB,OAAO;AACrF;AACA,iCAAiC;AACjC;AACA;AACA,SAAS,YAAY,aAAa,OAAO,EAAE,UAAU,WAAW;AAChE,mCAAmC,SAAS;AAC5C;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM,gBAAgB;AACzC;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;;AAEO;AACP,4BAA4B,sBAAsB;AAClD;AACA;AACA;;AAEO;AACP,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,iBAAiB,sFAAsF,aAAa,EAAE;AACtH,sBAAsB,gCAAgC,qCAAqC,0CAA0C,EAAE,EAAE,GAAG;AAC5I,2BAA2B,MAAM,eAAe,EAAE,YAAY,oBAAoB,EAAE;AACpF,sBAAsB,oGAAoG;AAC1H,6BAA6B,uBAAuB;AACpD,4BAA4B,wBAAwB;AACpD,2BAA2B,yDAAyD;AACpF;;AAEO;AACP;AACA,iBAAiB,4CAA4C,SAAS,EAAE,qDAAqD,aAAa,EAAE;AAC5I,yBAAyB,6BAA6B,oBAAoB,gDAAgD,gBAAgB,EAAE,KAAK;AACjJ;;AAEO;AACP;AACA;AACA,2GAA2G,sFAAsF,aAAa,EAAE;AAChN,sBAAsB,8BAA8B,gDAAgD,uDAAuD,EAAE,EAAE,GAAG;AAClK,4CAA4C,sCAAsC,UAAU,oBAAoB,EAAE,EAAE,UAAU;AAC9H;;AAEO;AACP,gCAAgC,uCAAuC,aAAa,EAAE,EAAE,OAAO,kBAAkB;AACjH;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,4CAA4C;AAC5C;;;ACpLA,uBAAuB;AACvB;IAAA;IAwIA,CAAC;IAvIQ,iCAAW,GAAlB,UACE,OAAe,EACf,IAAmB,EACnB,OAAuB,EACvB,QAAuB;QAEvB,IAAM,KAAK,GAAc,IAAI,KAAK,CAAC,OAAO,CAAc,CAAC;QACzD,IAAI,IAAI,EAAE;YACR,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;SACnB;QACD,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,4BAAM,GAAb,UAAc,OAAY,EAAE,MAAW,EAAE,QAAsB;QAC7D,IAAM,cAAc,GAAG,UAAC,MAAc;YACpC,OAAO,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC;QACvC,CAAC,CAAC;QACF,gDAAgD;QAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC1E,OAAO,CAAC,QAAQ,CAAC,CAAC;SACnB;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,kCAAkC,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;SAClH;IACH,CAAC;IAEM,6BAAO,GAAd,UACE,MAAc,EACd,GAAW,EACX,QAAuC,EACvC,WAAyB;QAJ3B,iBA+FC;QA5FC,0CAAuC;QAGvC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,2BAA2B;YAC3B,IAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;YACnC,IAAM,SAAS,GAAG,oBAAoB,CAAC;YAEvC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAEhC,yBAAyB;YACzB,OAAO,CAAC,SAAS,CAAC,GAAG;gBACnB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE;oBACxC,OAAO;iBACR;gBAED,qEAAqE;gBACrE,6BAA6B;gBAC7B,uEAAuE;gBACvE,gEAAgE;gBAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;oBAChG,OAAO;iBACR;gBAED,uBAAuB;gBACvB,IAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBACxD,IAAI,YAAY,GAAQ,OAAO,CAAC,YAAY,CAAC;gBAC7C,IAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBAC9D,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE;oBACjE,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;iBACzC;gBACD,IAAM,QAAQ,GAAiB;oBAC7B,IAAI,EAAE,YAAY;oBAClB,2EAA2E;oBAC3E,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;oBACtD,UAAU,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU;oBACvE,OAAO,EAAE,eAAe;oBACxB,OAAO;iBACR,CAAC;gBAEF,KAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAEvC,mBAAmB;gBAClB,OAAe,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC;YAEF,4EAA4E;YAC5E,OAAO,CAAC,OAAO,GAAG;gBAChB,IAAI,CAAC,OAAO,EAAE;oBACZ,OAAO;iBACR;gBAED,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;gBAErE,mBAAmB;gBAClB,OAAe,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC;YAEF,kCAAkC;YAClC,OAAO,CAAC,OAAO,GAAG;gBAChB,gDAAgD;gBAChD,mDAAmD;gBACnD,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEzD,mBAAmB;gBAClB,OAAe,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC;YAEF,iBAAiB;YACjB,OAAO,CAAC,SAAS,GAAG;gBAClB,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEtE,mBAAmB;gBAClB,OAAe,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC;YAEF,+BAA+B;YAC/B,yDAAyD;YACzD,qEAAqE;YACrE,IAAI;YAEJ,yCAAyC;YACzC,kEAAkE;YAClE,mEAAmE;YACnE,IAAI;YAEJ,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;gBACrC,WAAW,CAAC,OAAO,CAAC,CAAC;aACtB;YAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,0BAAI,GAAX,UAAY,GAAW,EAAE,QAAyB,EAAE,WAAyB;QAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAEM,4BAAM,GAAb,UAAc,GAAW,EAAE,QAAyB,EAAE,WAAyB;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAEM,yBAAG,GAAV,UAAW,GAAW,EAAE,QAAyB,EAAE,WAAyB;QAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IACH,kBAAC;AAAD,CAAC;AAEc,qDAAI,WAAW,EAAE,EAAC;;;AC1JC;AAOlC;IAAA;IAiVA,CAAC;IAhVC,mBAAmB;IACnB,wBAAwB;IACxB,IAAI;IAEG,iCAAU,GAAjB,UAAkB,GAAmB,EAAE,OAAe;QACpD,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE;YACX,KAAK,IAAM,GAAG,IAAI,OAAO,EAAE;gBACzB,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBAC/B,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAG,OAAe,CAAC,GAAG,CAAC,CAAC,CAAC;iBAClD;aACF;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,+BAAQ,GAAf,UACE,GAAW,EACX,OAAe,EACf,QAAkB,EAClB,gBAA4B,EAC5B,WAAyB;QAL3B,iBAcC;QAPC,OAAO,YAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAC,GAAG;YAClC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;gBACrC,WAAW,CAAC,GAAG,CAAC,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,qCAAc,GAArB,UACE,GAAW,EACX,OAAe,EACf,UAAe,EACf,WAAyB;QAJ3B,iBAgBC;QAVC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SACzC;QACD,OAAO,YAAI,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,UAAC,GAAG;YACtC,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACzD,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9B,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;gBACrC,WAAW,CAAC,GAAG,CAAC,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,qCAAc,GAArB,UACE,GAAW,EACX,OAAe,EACf,UAAe,EACf,WAAyB;QAJ3B,iBAgBC;QAVC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SACzC;QACD,OAAO,YAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,UAAC,GAAG;YACnC,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACzD,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9B,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;gBACrC,WAAW,CAAC,GAAG,CAAC,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAoD;IACpD,6CAA6C;IAC7C,0CAA0C;IAC1C,QAAQ;IACR,IAAI;IAEJ,iDAAiD;IACjD,2CAA2C;IAC3C,QAAQ;IACR,IAAI;IAEG,yCAAkB,GAAzB,UAA0B,QAAkB,EAAE,GAAc,EAAE,OAAgB;QAC5E,IAAI,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;YACrC,IAAI;gBACF,IAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;gBAChF,SAAS,GAAG,QAAQ,CAAC;aACtB;YAAC,OAAO,CAAC,EAAE;gBACV,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YACnB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;SACrB;QACD,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QAClC,IAAI,OAAO,EAAE;YACX,UAAU,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;oBACnB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;iBACrB;gBACD,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;oBAChD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;iBACxB;YACH,CAAC,EAAE,OAAO,CAAC,CAAC;SACb;IACH,CAAC;IAEM,6BAAM,GAAb,UACE,GAAW,EACX,OAAe,EACf,SAAqB,EACrB,cAAiC,EACjC,UAAuC,EACvC,WAAyB;QAN3B,iBAkEC;QA1DC,IAAI,qBAAqB,GAAG;YAC1B,WAAW;QACb,CAAC,CAAC;QACF,IAAI,UAAU,EAAE;YACd,qBAAqB,GAAG;gBACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,KAAuB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,EAAE;oBAA7B,IAAM,QAAQ;oBACjB,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAY,CAAC;iBAC3C;gBACD,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC,CAAC;SACH;QACD,IAAM,QAAQ,GAAG,EAAE,CAAC;gCACT,QAAQ;YACjB,IAAI,QAAQ,UAAC;YACb,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;gBACxC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;aACrC;iBAAM;gBACL,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC1B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAY,CAAC,CAAC;gBAC/C,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;aAC9C;YACD,mBAAmB;YACnB,IAAM,OAAO,GAAG,OAAK,QAAQ,CAC3B,GAAG,EACH,OAAO,EACP,QAAQ,EACR,UAAC,aAAa;gBACZ,IAAM,gBAAgB,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;gBAC5E,yCAAyC;gBACzC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBACxE,qBAAqB,EAAE,CAAC;YAC1B,CAAC,EACD,UAAC,GAAG;gBACF,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gBACnB,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;oBACrC,WAAW,CAAC,GAAG,CAAC,CAAC;iBAClB;YACH,CAAC,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CACV,UAAC,QAAQ;gBACP,OAAO,QAAQ,CAAC,GAAG,CAAC;gBACpB,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAChC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACvB,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBACrB,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,OAAO,QAAQ,CAAC,QAAQ,CAAC;iBAC1B;YACH,CAAC,CAAC,KAAK,EACP,UAAC,GAAG;gBACF,KAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC,CAAC,KAAK,CACR,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;;QAzCzB,KAAuB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS;YAA3B,IAAM,QAAQ;oBAAR,QAAQ;SA2ClB;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,mCAAY,GAAnB,UAAoB,GAAW,EAAE,OAAe,EAAE,QAAkB,EAAE,UAAgB,EAAE,WAAyB;QAAjH,iBAwBC;QAvBC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAI,QAAQ,CAAC,GAAG,EAAE;gBAChB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;aACtB;YACD,IAAI,UAAU,KAAK,SAAS,EAAE;gBAC5B,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;aAC9B;YACD,IAAI,UAAU,EAAE;gBACd,KAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,UAAC,GAAG;oBAChD,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;wBACrC,WAAW,CAAC,GAAG,CAAC,CAAC;qBAClB;gBACH,CAAC,CAAC,CAAC,IAAI,CACL,UAAC,MAAM;oBACL,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,EACD,UAAC,GAAG;oBACF,KAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACvC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,mCAAY,GAAnB,UAAoB,GAAW,EAAE,OAAe,EAAE,QAAkB,EAAE,UAAe,EAAE,WAAyB;QAAhH,iBA+BC;QA9BC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAI,QAAQ,CAAC,GAAG,EAAE;gBAChB,yCAAyC;gBACzC,QAAQ,CAAC,QAAQ,GAAG;oBAClB,KAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACxD,CAAC,CAAC;gBACF,OAAO,OAAO,EAAE,CAAC;aAClB;YACD,IAAI,UAAU,KAAK,SAAS,EAAE;gBAC5B,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;gBACnC,UAAU,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC;gBAC/C,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;aACvC;YACD,IAAI,UAAU,EAAE;gBACd,KAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,UAAC,GAAG;oBAChD,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;wBACrC,WAAW,CAAC,GAAG,CAAC,CAAC;qBAClB;gBACH,CAAC,CAAC,CAAC,IAAI,CACL,UAAC,QAAQ;oBACP,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAChC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC,EACD,UAAC,GAAG;oBACF,KAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACvC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kCAAW,GAAlB,UAAmB,GAAQ,EAAE,GAAW,EAAE,QAAkB,EAAE,OAAe,EAAE,gBAA4B;QACzG,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;aACxE;YACD,uCAAuC;YACvC,0BAA0B;YAC1B,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,IAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;gBAClC,QAAQ,EAAE,GAAG;gBACb,OAAO;gBACP,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;gBAC1C,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;iBACpB;gBACD,OAAO,EAAP,UAAQ,KAAU;oBAChB,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,0CAA0C;gBAC5C,CAAC;gBACD,UAAU,EAAV,UAAW,aAAqB,EAAE,UAAkB;oBAClD,IAAM,KAAK,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAmB,CAAC;oBAC5E,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBACD,SAAS;oBACP,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;aACF,CAAC,CAAC;YACH,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;YAC5B,mBAAmB;YACnB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gCAAS,GAAhB,UACE,GAAQ,EACR,GAAW,EACX,OAAe,EACf,SAAqB,EACrB,UAAuC;QALzC,iBAuCC;QAhCC,IAAI,qBAAqB,GAAG;YAC1B,WAAW;QACb,CAAC,CAAC;QACF,IAAI,UAAU,EAAE;YACd,qBAAqB,GAAG;gBACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,KAAuB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,EAAE;oBAA7B,IAAM,QAAQ;oBACjB,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAY,CAAC;iBAC3C;gBACD,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC,CAAC;SACH;QACD,IAAM,QAAQ,GAAG,EAAE,CAAC;gCACT,QAAQ;YACjB,IAAM,OAAO,GAAG,OAAK,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAC,aAA4B;gBACzF,IAAM,gBAAgB,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;gBAC5E,yCAAyC;gBACzC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBACxE,qBAAqB,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CACV,UAAC,QAAQ;gBACP,6BAA6B;gBAC7B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC,EACD,UAAC,GAAG;gBACF,KAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC,CACF,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;;QAhBzB,KAAuB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS;YAA3B,IAAM,QAAQ;oBAAR,QAAQ;SAiBlB;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,sCAAe,GAAtB,UAAuB,GAAQ,EAAE,GAAW,EAAE,OAAe,EAAE,QAAkB;QAAjF,iBA2BC;QA1BC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC;aAC/B;YACD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACvB,OAAO,OAAO,EAAE,CAAC;aAClB;YACD,gCAAgC;YAChC,IAAM,KAAK,GAAG,UAAC,eAAwB;gBACrC,OAAO,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;oBAC1B,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,UAAC,GAAQ;wBACjD,IAAI,GAAG,EAAE;4BACP,KAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;4BACvC,GAAG,CAAC,GAAG,CAAC,CAAC;4BACT,OAAO;yBACR;wBACD,GAAG,EAAE,CAAC;oBACR,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YACF,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAChB,UAAU,CAAC;oBACT,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpC,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACH,mBAAC;AAAD,CAAC;AAEc,sDAAI,0BAAY,EAAE,EAAC;;;AC1VnB;IACb,GAAG,EAAE,IAAW;CACjB,EAAC;;;;ACF+B;AACa;AACM;AACN;AACS;AACf;AAEI;AACtB;AACe;AAErC,2BAA2B;AAC3B,IAAI,WAAW,GAAG,CAAC,CAAC;AAEL,+GAAG,CAAC,MAAM,CAAC;IACxB,KAAK,EAAE;QACL,QAAQ;QACR,SAAS;QACT,WAAW;QACX,UAAU;QACV,UAAU;QACV,WAAW;QACX,UAAU;QACV,UAAU;QACV,UAAU;QACV,SAAS;QACT,MAAM;QACN,UAAU;QACV,UAAU;QACV,MAAM;QACN,WAAW;QACX,UAAU;QACV,OAAO;QACP,eAAe;QACf,eAAe;QACf,WAAW;QACX,OAAO;KACR;IACD,UAAU,EAAE;QACV,WAAW;QACX,cAAc;QACd,WAAW;QACX,eAAe;KAChB;IACD,UAAU,EAAE;QACV,iFAAiF;QACjF,iBAAiB,EAAE;YACjB,IAAI,EAAJ,UAAK,EAAe;gBACjB,EAAU,CAAC,cAAc,GAAG,IAAI,CAAC;YACpC,CAAC;SACF;KACF;IACD,IAAI,EAAJ;QACE,OAAO;YACL,SAAS,EAAE,EAAgB;YAC3B,YAAY,EAAE,EAAmB;YACjC,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,KAAK;YAChB,eAAe,EAAE,KAAK;YACtB,kBAAkB,EAAE,GAAG;YACvB,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,CAAC;SACf,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE;QACR,UAAU,EAAV;YACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;aACpC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/C,CAAC;QACD,gBAAgB,EAAhB;YACE,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;YACD,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAC;QACpF,CAAC;QACD,WAAW,EAAX;YACE,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;gBACtC,OAAO,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;aACnC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;QACD,UAAU,EAAV;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QACD,WAAW,EAAX;YACE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC;aAClC;YACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QACD,UAAU,EAAV;YACE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACjC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;aAC7B;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;KACF;IACD,OAAO,EAAE;QACP,eAAe,EAAf,UAAgB,QAAkB,EAAE,KAAuB;YACzD,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBACjC,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;oBAC/E,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;oBACtC,QAAQ,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC;oBACxC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC5C,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;oBAC9C,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,MAAM,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAT,UAAU,QAAkB;YAC1B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE;gBAC/B,OAAO;aACR;YACD,IAAM,eAAe,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC;YAC/E,IAAM,eAAe,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC;YAC/E,IAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,KAAK,CAAC,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC;gBACzC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC;QACD,mBAAmB,EAAnB,UAAoB,aAAqC;YACvD,IAAI,CAAC,CAAC;YACN,IAAI,aAAa,YAAY,SAAQ,EAAE;gBACrC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;aAC3C;iBAAM;gBACL,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBACZ,OAAO,aAAyB,CAAC;aAClC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,EAAN,UACE,GAAW,EACX,OAAe,EACf,cAA0C,EAC1C,cAAiD;YAJnD,iBAqBC;YAfC,IAAM,cAAc,GAAG,EAAE,CAAC;YAC1B,KAA4B,UAAc,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc,EAAE;gBAAvC,IAAM,aAAa;gBACtB,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;oBACnB,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC/B;aACF;YACD,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,aAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,UAAC,eAAe;oBACnF,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC;gBACzC,CAAC,CAAC,CAAC;aACJ;YACD,OAAO,aAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,UAAC,eAAe;gBACnF,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAZ,UAAa,GAAW,EAAE,OAAe,EAAE,QAAgC,EAAE,UAAgB;YAC3F,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;aAC1B;YACD,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,aAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACtE;YACD,OAAO,aAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnE,CAAC;QACD,YAAY,EAAZ,UAAa,GAAW,EAAE,OAAe,EAAE,QAAgC,EAAE,UAAgB;YAC3F,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC9C,OAAO,aAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnE,CAAC;QACD,UAAU,EAAV,UAAW,SAAqC;YAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACpE,CAAC;QACD,gBAAgB,EAAhB,UAAiB,QAAgC;YAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;QACD,gBAAgB,EAAhB,UAAiB,QAAkB;YACjC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;QACD,UAAU,EAAV,UAAW,KAAW,EAAE,KAAW;YACjC,OAAO,CACL,KAAI;gBACJ,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;gBACzB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;gBACzB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;gBACzB,2EAA2E;gBAC3E,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAC1C,CAAC;QACJ,CAAC;QACD,kBAAkB,EAAlB,UAAmB,IAAU;YAC3B,KAAuB,UAAc,EAAd,SAAI,CAAC,SAAS,EAAd,cAAc,EAAd,IAAc,EAAE;gBAAlC,IAAM,QAAQ;gBACjB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAY,CAAC,EAAE;oBAChD,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,WAAW,EAAX,UAAY,KAAwB;;YAApC,iBAwDC;YAvDC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAC1B,OAAO;aACR;YACD,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxC,OAAO;aACR;YACD,IAAM,SAAS,GAAe,EAAE,CAAC;YACjC,IAAM,aAAa,GAAW,EAAE,CAAC;YACjC,2BAA2B;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;oBACzD,SAAS;iBACV;gBACD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9B;YACD,KAAK,GAAG,aAAa,CAAC;YACtB,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACzE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aAC/D;YACD,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAArB,IAAM,IAAI;gBACb,SAAS,CAAC,IAAI,CACZ,IAAI,SAAQ,CACV;oBACE,IAAI;iBACU,EAChB;oBACE,IAAI,EAAE,IAAI,CAAC,UAAU;oBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC,CACF,CACF,CAAC;aACH;YAED,KAAuB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,EAAE;gBAA7B,IAAM,QAAQ;gBACjB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE;oBAC1C,UAAU;oBACV,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC1B;aACF;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,gDAAgD;gBAChD,UAAI,CAAC,SAAS,EAAC,MAAM,2BAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAK,SAAS,GAAE;aAC/D;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC5B;YAED,SAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,YAAwB;gBAC1D,IAAM,eAAe,GAAG,SAAQ,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;gBAC5D,KAAI,CAAC,YAAY,GAAG,eAAe,CAAC;gBACpC,KAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtF,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,YAAY,EAAZ,UAAa,KAAiB;YAC5B,IAAM,KAAK,GAAc,KAAK,CAAC,MAA2B,CAAC,KAAiB,CAAC;YAC7E,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACb,OAAO;aACR;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,SAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,gBAAgB;gBAC5D,uDAAuD;aACxD;QACH,CAAC;QACD,IAAI,EAAJ,UAAK,KAAgB;YAArB,iBAkBC;YAjBC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBACvB,OAAO;aACR;YACD,WAAW,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBAC5D,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC1B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACvB,OAAO;iBACR;gBACD,IAAI,CAAC,KAAI,CAAC,WAAW,EAAE;oBACrB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpB;gBACD,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAT,UAAU,KAAgB;YACxB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBACvB,OAAO;aACR;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,WAAW,EAAE,CAAC;YACd,KAAK,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,kCAAkC;QAC5E,CAAC;QACD,QAAQ,EAAR,UAAS,KAAgB;YACvB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBACvB,OAAO;aACR;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,kCAAkC;QAC5E,CAAC;QACD,SAAS,EAAT,UAAU,KAAgB;YACxB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBACvB,OAAO;aACR;YACD,WAAW,EAAE,CAAC;YACd,IAAI,WAAW,KAAK,CAAC,EAAE;gBACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;QACH,CAAC;QACD,cAAc,EAAd,UAAe,aAAqC;YAApD,iBAqBC;YApBC,IAAI,CAAS,CAAC;YACd,IAAI,aAAa,YAAY,SAAQ,EAAE;gBACrC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;aAC3C;iBAAM;gBACL,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;aAC9C;YACD,IAAM,QAAQ,GAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,kCAAkC;YAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAClC,UAAC,GAAG;gBACF,WAAW;YACb,CAAC,EACD,UAAC,GAAG;gBACF,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACtC,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YAC9C,CAAC,CACF,CAAC;QACJ,CAAC;QACD,eAAe,EAAf,UAAgB,QAAkB;YAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAClC,UAAC,GAAG;gBACF,WAAW;YACb,CAAC,EACD,UAAC,GAAG;gBACF,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC/C,CAAC,CACF,CAAC;QACJ,CAAC;QACD,UAAU,EAAV;YAAA,iBA6BC;YA5BC,IAAI,YAAY,GAAkB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAE3E,IAAM,UAAU,GAA6B,EAAE,CAAC;YAChD,IAAM,eAAe,GAAkB,EAAE,CAAC;YAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,IAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;oBACxB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBAChE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;iBACvD;qBAAM;oBACL,UAAU,CAAC,IAAI,CACb,SAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;wBAChC,IAAI,EAAE,IAAI,CAAC,UAAU;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,aAAa,EAAE,IAAI,CAAC,aAAa;qBAClC,CAAC,CACH,CAAC;oBACF,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvC;aACF;YAED,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;gBACrC,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAT;YACE,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,OAAO,EAAP,UAAQ,QAA+E;YAAvF,iBAkBC;YAjBC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;YACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;gBAC5B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,CAAC,EAAE,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;YAClC,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;gBAC3C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7F,IAAI,CAAC,SAAS,CAAC;oBACb,KAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;oBACvC,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE;wBACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;qBAC5B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC;KACF;IACD,OAAO;QACL,IAAI,CAAC,QAAQ;YACX,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,EAAE;qBACV,QAAQ,CAAC,EAAE,CAAC;qBACZ,KAAK,CAAC,CAAC,CAAC,CAAC;QACd,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IACD,KAAK,EAAE;QACL,KAAK;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;KACF;CACF,CAAC,EAAC;;;ACjUmB;AACqB;AAE5B,iIAAG,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,CAAC,oBAAK,CAAC;CAChB,CAAC,EAAC;;;ACvHyU,CAAgB,4HAAG,EAAC,C;;;;;ACAnQ;AAC3B;AACL;AACc;;;AAG3E;AAC0F;AAC1F,IAAI,wBAAS,GAAG,kBAAU;AAC1B,EAAE,iDAAM;AACR,EAAE,kDAAM;AACR,EAAE,2DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2EAAS,Q;;ACnBiC;AACM;AACN;AACS;AACP;AACO;AACI;AACtC;AACI;AACG;AAIvC;IAAA;IAqBA,CAAC;IAVe,0BAAO,GAArB,UAAsB,GAAgB,EAAE,OAAY;QAClD,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,aAAW,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAc,CAAC,CAAC;QAChD,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,aAAW,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,kBAAe,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,cAAY,CAAC,CAAC;QAC5C,GAAG,CAAC,SAAS,CAAC,aAAa,GAAG;YAC5B,KAAK,EAAE,oBAAiB;SACzB,CAAC;IACJ,CAAC;IAnBa,8BAAW,GAAG,aAAW,CAAC;IAC1B,iCAAc,GAAG,gBAAc,CAAC;IAChC,+BAAY,GAAG,cAAY,CAAC;IAC5B,4BAAS,GAAG,cAAY,CAAC;IACzB,wBAAK,GAAG,oBAAiB,CAAC;IAC1B,0BAAO,GAAG,OAAO,CAAC;IAElB,oCAAiB,GAAG,oBAAiB,CAAC;IACtC,sCAAmB,GAAG,sBAAmB,CAAC;IAY1D,yBAAC;CAAA;AArBoB,8DAAkB;AAuBvC,eAAe;AACf,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,GAAG,EAAE;IAC/C,sBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAc,CAAC,YAAY,GAAG,sBAAkB,CAAC;CACnD;AAEM,IAAM,KAAK,GAAG,oBAAiB,CAAC;AAEW;AAEd;;;AC9CpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwB;AACA;AACT,kFAAG;AACI","file":"vue-file-agent.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"","module.exports = require(\"vue\");","// extracted by mini-css-extract-plugin","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":_vm.viewBoxComputed}},[_vm._l((_vm.icon.paths),function(d,index){return [(d)?_c('path',{key:index,attrs:{\"d\":d}}):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n 'audio': [\r\n 'aif',\r\n 'cda',\r\n 'mid',\r\n 'midi',\r\n // 'mp3',\r\n 'mpa',\r\n // 'ogg',\r\n // 'wav',\r\n 'wma',\r\n 'wpl',\r\n ],\r\n 'audio-playable': ['mp3', 'ogg', 'wav'],\r\n 'archive': ['7z', 'arj', 'deb', 'pkg', 'rar', 'rpm', 'tar.gz', 'z', 'zip'],\r\n 'disc': [\r\n // 'bin',\r\n 'dmg',\r\n 'iso',\r\n 'toast',\r\n 'vcd',\r\n ],\r\n 'database': [\r\n 'csv',\r\n 'dat',\r\n 'db',\r\n 'dbf',\r\n 'log',\r\n 'mdb',\r\n 'sav',\r\n 'sql',\r\n 'tar',\r\n // 'xml'\r\n ],\r\n 'executable': ['apk', 'bat', 'bin', 'cgi', 'pl', 'com', 'exe', 'gadget', 'jar', 'py', 'wsf', 'ipa'],\r\n 'font': ['fnt', 'fon', 'otf', 'ttf'],\r\n 'image': ['ai', 'bmp', 'gif', 'ico', 'jpeg', 'jpg', 'png', 'ps', 'psd', 'svg', 'tif', 'tiff'],\r\n 'markup': [\r\n 'asp',\r\n 'aspx',\r\n 'cer',\r\n 'cfm',\r\n 'cgi',\r\n 'pl',\r\n 'css',\r\n 'scss',\r\n 'htm',\r\n 'html',\r\n 'jsp',\r\n // 'vue',\r\n 'part',\r\n 'php',\r\n 'py',\r\n 'rss',\r\n 'xml',\r\n 'xhtml',\r\n ],\r\n 'presentation': ['key', 'odp', 'pps', 'ppt', 'pptx'],\r\n 'script': ['c', 'class', 'cpp', 'cs', 'h', 'java', 'js', 'json', 'sh', 'swift', 'vb'],\r\n 'sheet': ['ods', 'xlr', 'xls', 'xlsx'],\r\n 'system': [\r\n 'bak',\r\n 'cab',\r\n 'cfg',\r\n 'cpl',\r\n 'cur',\r\n 'dll',\r\n 'dmp',\r\n 'drv',\r\n 'icns',\r\n // 'ico',\r\n 'ini',\r\n 'lnk',\r\n 'msi',\r\n 'sys',\r\n 'tmp',\r\n ],\r\n 'video': [\r\n '3g2',\r\n '3gp',\r\n 'avi',\r\n 'flv',\r\n 'h264',\r\n // 'm4v',\r\n 'mkv',\r\n // 'mov',\r\n // 'mp4',\r\n 'mpg',\r\n 'mpeg',\r\n 'rm',\r\n 'swf',\r\n 'vob',\r\n // 'webm',\r\n 'wmv',\r\n ],\r\n 'video-playable': ['mp4', 'webm', 'mov'],\r\n 'vue': ['vue'],\r\n 'doc': [\r\n 'doc',\r\n 'docx',\r\n 'odt',\r\n 'rtf',\r\n 'tex',\r\n // 'txt',\r\n 'wks',\r\n 'wps',\r\n 'wpd',\r\n ],\r\n 'text': ['txt'],\r\n 'ebook': ['epub'],\r\n 'pdf': ['pdf'],\r\n 'folder': ['folder'],\r\n 'play': ['play'],\r\n};\r\n","import extensions from '../lib/extensions';\r\n\r\nexport class SvgIcon {\r\n public category: string = '';\r\n constructor(public paths: string[], public color?: string, public viewBox?: string) {}\r\n}\r\n\r\nconst playIconPaths = ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'];\r\n\r\nconst icons = {\r\n 'folder': new SvgIcon(\r\n [\r\n 'M96.5 93.7h-93c-2 0-3.5-1.5-3.5-3.5V35.4h100v54.8c0 2-1.5 3.5-3.5 3.5z',\r\n 'M44.9 20V9.7c0-2-1.5-3.5-3.5-3.5h-38C1.5 6.3 0 7.8 0 9.7v25.7h100V23.5c0-2-1.5-3.5-3.5-3.5H44.9z',\r\n ],\r\n '#efce4a',\r\n ),\r\n 'audio': new SvgIcon(\r\n [\r\n 'M32.5 37.5h-9v25h9L53.6 77V23L32.5 37.5M71.9 50c0 6.8-3.7 12.7-9.1 15.8l2.8 4.9c7.1-4.1 11.9-11.8 11.9-20.7 0-8.8-4.8-16.6-11.9-20.7l-2.8 4.9c5.4 3.1 9.1 9 9.1 15.8z',\r\n // tslint:disable-next-line\r\n 'M62.1 50c0 3.2-1.7 5.9-4.3 7.4l2.7 4.7c4.2-2.4 7-6.9 7-12.1 0-5.2-2.8-9.7-7-12.1l-2.7 4.7c2.6 1.5 4.3 4.2 4.3 7.4z',\r\n ],\r\n '#039',\r\n ),\r\n 'video': new SvgIcon(\r\n [\r\n 'M21 26.4v47.1h58V26.4H21zm10.9 43.5h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2zm10.9 25.4V37.3L60.9 50 42.8 62.7zm32.6 7.2h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2z',\r\n ],\r\n '#ef6f2e',\r\n ),\r\n 'audio-playable': new SvgIcon(playIconPaths, '#039', '0 0 48 48'),\r\n 'video-playable': new SvgIcon(playIconPaths, '#ef6f2e', '0 0 48 48'),\r\n 'archive': new SvgIcon(\r\n [\r\n 'M72.4 38.5h-7.9v-7.9l7.9 7.9zm-21.3-7.9v28.8h21.4v-19h-9.9v-9.9H51.1zm3.3-7.6H30.8v5.6h9.3l-5.9 4.5v4.8l8.6-6.6v-2.7h30.1v-2.3L54.4 23zM42.9 35.1l-8.6 6.6v4.8l8.6-6.6v-4.8zm-8.7 20l8.6-6.6v-4.8l-8.6 6.6v4.8zm8.7 2v-4.8l-8.6 6.6v2.6h-3.4v5.6h5.3v3.8H33c-.6-1-1.6-1.6-2.8-1.6-1.8 0-3.2 1.4-3.2 3.2s1.4 3.2 3.2 3.2c1.2 0 2.2-.6 2.8-1.6h3.1V77h4.8v-2.9H44c.6 1 1.6 1.6 2.8 1.6 1.8 0 3.2-1.4 3.2-3.2s-1.4-3.2-3.2-3.2c-1.2 0-2.2.6-2.8 1.6h-3.1v-3.8h13.5l18.5-3.3v-2.3H37.1l5.8-4.4z',\r\n ],\r\n '#ba8322',\r\n ),\r\n 'system': new SvgIcon(\r\n [\r\n 'M73.6 54.8c-2.1-.7-3.4-2.6-3.4-4.8s1.4-4.1 3.4-4.8c.6-.2 1-.9.8-1.5-.6-2.3-1.5-4.4-2.7-6.5-.3-.6-1.1-.8-1.7-.5-.7.4-1.6.6-2.4.6-2.8 0-5-2.3-5-5 0-.8.2-1.7.6-2.4.3-.6.1-1.3-.5-1.7-2-1.2-4.2-2.1-6.5-2.7-.6-.2-1.3.2-1.5.8-.7 2.1-2.6 3.4-4.8 3.4-2.2 0-4.1-1.4-4.8-3.4-.2-.6-.9-1-1.5-.8-2.3.6-4.4 1.5-6.5 2.7-.6.3-.8 1.1-.5 1.7.4.7.6 1.6.6 2.4 0 2.8-2.3 5-5 5-.8 0-1.7-.2-2.4-.6-.6-.3-1.3-.1-1.7.5-1.2 2-2.1 4.2-2.7 6.5-.2.6.2 1.3.8 1.5 2.1.7 3.4 2.6 3.4 4.8s-1.4 4.1-3.4 4.8c-.6.2-1 .9-.8 1.5.6 2.3 1.5 4.4 2.7 6.5.3.6 1.1.8 1.7.5.7-.4 1.6-.6 2.4-.6 2.8 0 5 2.3 5 5 0 .8-.2 1.7-.6 2.4-.3.6-.1 1.3.5 1.7 2 1.2 4.2 2.1 6.5 2.7h.3c.5 0 1-.3 1.2-.9.7-2.1 2.6-3.4 4.8-3.4 2.2 0 4.1 1.4 4.8 3.4.2.6.9 1 1.5.8 2.3-.6 4.4-1.5 6.5-2.7.6-.3.8-1.1.5-1.7-.4-.7-.6-1.6-.6-2.4 0-2.8 2.3-5 5-5 .8 0 1.7.2 2.4.6.6.3 1.3.1 1.7-.5 1.2-2 2.1-4.2 2.7-6.5.2-.5-.1-1.2-.8-1.4zM50 57.6c-4.2 0-7.6-3.4-7.6-7.6 0-4.2 3.4-7.6 7.6-7.6 4.2 0 7.6 3.4 7.6 7.6 0 4.2-3.4 7.6-7.6 7.6z',\r\n ],\r\n '#999',\r\n ),\r\n 'image': new SvgIcon(\r\n [\r\n 'm 40.400002,35 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z',\r\n 'M78.9 47.3l-9.7-9.6L50 57l-9.6-9.7-19.3 19.3V73h57.8z',\r\n ],\r\n '#5b2d8d',\r\n ),\r\n 'doc': new SvgIcon(\r\n [\r\n 'M29.6 53l-5.9-18.2c-.2-.7-.4-1-.5-1-.1-.1-.2-.1-.4-.2l-2.1-.6-.1-2.6h11l.2 2.6-2.1.6v.2c0 .2.1.7.4 1.2l2.2 7 3.9-11.7 3-.1 3.6 11.7 2.5-7c.1-.5.4-1 .4-1.2v-.1l-1.8-.5-.1-2.7h8.6l.2 2.6-2.3.7c-.1 0-.2.1-.4.1 0 .1-.2.2-.4.9L43 52.8l-3.1.2-3.3-11.2-3.9 11-3.1.2z',\r\n 'M57.8 30.2h21.7v3.4H57.8zm0 9.2h21.7v3.4H57.8zm0 9.4h21.7v3.4H57.8zm-36.2 9.6h57.9v3.4H21.6zm0 9.4h57.9v3.4H21.6z',\r\n ],\r\n '#2372ba',\r\n ),\r\n 'executable': new SvgIcon(\r\n ['M33.1 29.8l-6.6 6.6L37.2 47 26.5 57.6l6.6 6.6L50.2 47zm18.8 31.1h22.6v9.2H51.9z'],\r\n '#333',\r\n ),\r\n 'ebook': new SvgIcon(\r\n [\r\n 'M75.8 45.7c-.3-.6-.7-1.2-1.3-1.6-.1.5-.3 1-.6 1.5L58.3 69.8c-.6.9-1.9 1.1-2.9.8l-25-7c-1.5-.4-3.3-1.3-3.4-3 0-.6 0-.9.4-1.1.3-.3.8-.2 1.1-.1L52 66c3.4 1 4.4.2 6.9-3.5l14.4-22.2c.7-1.2.9-2.5.5-3.6s-1.4-2-2.7-2.4l-20.6-5.7c-.5-.1-1-.1-1.5-.1v-.1c-3.2-1.9-4.4 1.7-6 3-.6.5-1.4.8-1.7 1.3-.2.5-.1 1-.3 1.4-.6 1.4-2.4 3.6-3.3 4.3-.6.4-1.2.5-1.6 1.1-.3.4-.2 1.1-.4 1.6-.5 1.2-2.1 3.3-3.2 4.4-.4.4-1 .6-1.3 1.1-.3.4-.2 1.1-.4 1.6-.7 1.3-2.2 3.2-3.4 4.3-.6.6-1.3.9-1.6 1.5-.1.3 0 .7-.2 1.1-.2.6-.5 1.1-.7 1.7-.7.9-1 2.1-.9 3.4.2 3.1 2.5 6 5.3 6.8l25 7c2.3.6 5.2-.5 6.6-2.5l14.4-22.2c.7-1.1.9-2.4.5-3.6zm-28.9-7.9l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1l-1.1 1.6c-.3.4-.9.7-1.4.5l-16.5-4.6c-.5-.2-.7-.6-.4-1zM42.7 44l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1L60.9 49c-.3.4-.9.7-1.4.5L43.1 45c-.5-.1-.7-.6-.4-1z',\r\n ],\r\n '#963',\r\n ),\r\n 'markup': new SvgIcon(\r\n [\r\n 'M21.5 48.3l16.2-14v7.1l-11 9.2v.1l11 9.2V67L21.5 53v-4.7zm30.6-17.6h4.3L48 71.3h-4.2l8.3-40.6zM62.3 60l11-9.2v-.1l-11-9.2v-7.1l16.2 14v4.9l-16.2 14V60z',\r\n ] /* no color? */,\r\n ),\r\n 'script': new SvgIcon(\r\n [\r\n 'M42.3 44.2h15.4V48H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zM69.2 25H38.5c-4.2 0-7.7 3.4-7.7 7.7v34.6h-7.7c0 4.2 3.4 7.7 7.7 7.7h30.8c4.2 0 7.7-3.4 7.7-7.7V36.5H77v-3.8c-.1-4.3-3.5-7.7-7.8-7.7zm-3.8 41.6c0 2.5-2 4.5-4.5 4.5H32.7c1.9-1.3 1.9-3.8 1.9-3.8V32.7c0-2.1 1.7-3.8 3.8-3.8s3.8 1.7 3.8 3.8v3.8h23.1v30.1zM46.2 32.7v-3.8h23.1c3.5 0 3.8 2.2 3.8 3.8H46.2z',\r\n ] /* no color? */,\r\n ),\r\n 'disc': new SvgIcon(\r\n [\r\n 'M46.9 50c0 .8.3 1.6.9 2.2 1.2 1.2 3.2 1.2 4.4 0 .6-.6.9-1.4.9-2.2 0-.8-.3-1.6-.9-2.2-.6-.6-1.4-.9-2.2-.9-.8 0-1.6.3-2.2.9-.6.6-.9 1.4-.9 2.2z',\r\n 'M32.3 32.3c-9.8 9.8-9.8 25.6 0 35.4 9.8 9.8 25.6 9.8 35.4 0 9.8-9.8 9.8-25.6 0-35.4-9.8-9.7-25.6-9.7-35.4 0zm37 28.2c-.9 1.7-2.1 3.2-3.5 4.6-1.4 1.4-3 2.6-4.6 3.5l-5.8-11.1s.5-.2 1.6-1.2c1.1-1.1 1.3-1.6 1.3-1.6l11 5.8zM54.4 45.6c1.2 1.2 1.8 2.8 1.8 4.4 0 1.6-.6 3.2-1.8 4.4-2.4 2.4-6.4 2.4-8.8 0-1.2-1.2-1.8-2.8-1.8-4.4 0-1.6.6-3.2 1.8-4.4a6.1 6.1 0 0 1 8.8 0zm-8.5-4.4s-1.2.7-2.2 1.8c-.9 1-1 1.2-1.3 1.7l-11-5.9c.9-1.7 2.1-3.2 3.5-4.6 1.4-1.4 3-2.6 4.6-3.5l6.4 10.5z',\r\n ],\r\n '#c96',\r\n ),\r\n 'text': new SvgIcon(\r\n ['M69.4 28.6v5.5H21.5v-5.5M30.6 41h47.9v5.6H30.6zm-9.1 12.4h47.9V59H21.5zm9.1 12.5h47.9v5.6H30.6z'],\r\n '#6b533b',\r\n ),\r\n 'database': new SvgIcon(\r\n [\r\n 'M48.1 75.5c-6.5-.3-12.3-2.3-15.4-5.4-.9-.9-1.8-2.1-2.2-2.9l-.3-.5v-6.1c0-6 0-6.1.1-5.6.3 1.3 1.1 2.7 2.3 3.7.8.7 2.5 1.8 3.8 2.5 2.4 1.2 5.2 2 8.4 2.5 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.3-2.5 1.4-.7 3-1.7 3.8-2.5 1.1-1 2-2.5 2.3-3.8.1-.5.1-.4.1 5.5v6l-.3.6c-1 1.9-2.6 3.6-4.7 4.8-4.3 2.7-10.5 4-16.8 3.7z',\r\n 'M48.1 60.4c-5.7-.3-11-1.9-14.3-4.4-.7-.6-1.8-1.6-2.3-2.2-.4-.6-.8-1.2-1.1-1.8l-.3-.5v-6c0-5.9 0-6 .1-5.5.2.9.7 2 1.5 2.9.4.5 1.1 1.2 1.5 1.4.1.1.5.3.7.5 2.7 1.9 6.5 3.3 10.8 3.9 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.4-2.5 1.4-.7 3-1.8 3.9-2.5 1.1-1 2-2.4 2.2-3.7.1-.5.1-.4.1 5.5v5.9l-.4.8c-.7 1.2-1.1 1.8-1.9 2.7-.8.8-1.6 1.5-2.7 2.1-4.3 2.4-10.5 3.7-16.8 3.4z',\r\n 'M47.7 45.4c-3.8-.3-6.8-.9-9.6-2-3.4-1.3-5.8-3.1-7.1-5.2-.3-.4-.5-1-.7-1.6-.2-.6-.3-2-.1-2.7.9-4.3 6.6-7.9 14.5-9 1.9-.3 2.6-.3 5.3-.3s3.4 0 5.3.3c3.1.5 6 1.3 8.4 2.5 3.5 1.7 5.6 4 6.1 6.5.1.7.1 2.1-.1 2.7-.4 1.3-1 2.2-2 3.2-2.8 2.9-7.9 4.9-14.1 5.6-.9-.1-5.1 0-5.9 0z',\r\n ],\r\n '#a03537',\r\n ),\r\n 'pdf': new SvgIcon(\r\n [\r\n 'M46.2 21.8c-3.5 0-6.3 2.9-6.3 6.3 0 4.3 2.4 9.6 4.9 14.7-2 6.1-4.1 12.7-7 18.2-5.8 2.3-11 4-14 6.6l-.2.2c-1.1 1.2-1.8 2.7-1.8 4.4 0 3.5 2.9 6.3 6.3 6.3 1.7 0 3.4-.6 4.4-1.8 0 0 .2 0 .2-.2 2.3-2.7 5-7.8 7.5-12.2 5.5-2.1 11.5-4.4 16.9-5.8 4.1 3.4 10.1 5.5 15 5.5 3.5 0 6.3-2.9 6.3-6.3 0-3.5-2.9-6.3-6.3-6.3-4 0-9.6 1.4-13.9 2.9-3.5-3.4-6.7-7.5-9.2-11.9C50.6 37 52.6 32 52.6 28c-.2-3.5-2.9-6.2-6.4-6.2zm0 3.6c1.4 0 2.4 1.1 2.4 2.4 0 1.8-1.1 5.3-2.1 9-1.5-3.7-2.9-7.2-2.9-9 .1-1.2 1.2-2.4 2.6-2.4zm1.1 21.5c1.8 3.1 4.1 5.8 6.6 8.2-3.7 1.1-7.3 2.3-11 3.7 1.8-3.8 3.1-7.9 4.4-11.9zM72 55c1.4 0 2.4 1.1 2.4 2.4 0 1.4-1.1 2.4-2.4 2.4-2.9 0-6.9-1.2-10.1-3.1C65.6 56 69.7 55 72 55zM34.6 66.2c-1.8 3.2-3.5 6.1-4.7 7.6-.5.5-.9.6-1.7.6-1.4 0-2.4-1.1-2.4-2.4 0-.6.3-1.4.6-1.7 1.3-1.2 4.5-2.6 8.2-4.1z',\r\n ],\r\n '#c11e07',\r\n ),\r\n 'sheet': new SvgIcon(\r\n [\r\n 'M62.1 30.9h14.1v9.4H62.1zm0 14.5h14.1v9.4H62.1zm0 14.3h14.1v9.4H62.1zm-19.2 0H57v9.4H42.9zm-19 0H38v9.4H23.9zm19.2-14.2h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9zm19.2-14.6h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9z',\r\n ],\r\n '#30723f',\r\n ),\r\n 'presentation': new SvgIcon(\r\n [\r\n 'M 73.319289,26.32707 H 26.61477 c -2.335226,0 -4.258353,1.917194 -4.258353,4.245215 v 29.853446 c 0,2.328021 1.923127,4.245215 4.258353,4.245215 h 19.506006 l -1.923128,7.257947 h -2.197859 c -0.961564,0 -1.648395,0.684712 -1.648395,1.643309 0,0.958597 0.686831,1.643309 1.648395,1.643309 h 15.797117 c 0.961563,0 1.648394,-0.684712 1.648394,-1.643309 0,-0.958597 -0.686831,-1.643309 -1.648394,-1.643309 H 55.46168 l -1.923128,-7.39489 h 19.780737 c 2.335226,0 4.258353,-1.917193 4.258353,-4.245214 V 30.572285 c 0,-2.328021 -1.923127,-4.245215 -4.258353,-4.245215 z m 0.412099,34.372546 H 26.202672 V 30.2984 h 47.39135 z',\r\n 'm 38.428266,48.511741 h 3.846255 v 7.668775 h -3.846255 z m 6.456214,-2.464963 h 3.846254 V 56.180516 H 44.88448 Z m 6.318846,-2.601906 h 3.846255 v 12.735644 h -3.846255 z m 6.318847,-2.464964 h 3.846255 v 15.200608 h -3.846255 z m -0.274732,-5.614639 -6.730946,3.697445 -4.945184,-1.643308 -8.379341,4.519099 1.236296,1.369424 7.417777,-3.834387 4.945185,1.643309 7.692509,-4.245215 1.236296,1.369424 2.88469,-4.792984 -6.593578,0.410827 z',\r\n ],\r\n '#c24f32',\r\n ),\r\n 'font': new SvgIcon(\r\n [\r\n 'M40.4 56.2H28.7l-1.4 3.1c-.5 1-.7 1.9-.7 2.6 0 .9.4 1.6 1.1 2 .4.3 1.5.4 3.2.6v.9H20v-.9c1.2-.2 2.2-.6 2.9-1.4.8-.8 1.7-2.4 2.8-4.8l11.8-25.6h.5l12 26.2c1.1 2.5 2.1 4.1 2.8 4.7.6.5 1.3.8 2.3.9v.9h-16v-.9h.7c1.3 0 2.2-.2 2.7-.5.4-.3.5-.6.5-1.1 0-.3 0-.6-.1-.9 0-.1-.3-.7-.7-1.8l-1.8-4zm-.8-1.8l-4.9-11-5.1 11h10z',\r\n 'M80 44.2l-4.7 15.7-.5 1.9c0 .2-.1.4-.1.5 0 .2.1.4.2.5.1.2.3.2.4.2.3 0 .8-.3 1.4-.8.2-.2.8-.9 1.8-2.2l.9.4c-1.2 2-2.4 3.5-3.7 4.5-1.3.9-2.7 1.4-4.2 1.4-.9 0-1.6-.2-2.1-.7-.5-.5-.7-1-.7-1.8 0-.6.3-1.8.8-3.4l.6-1.9c-1.9 3.1-3.7 5.4-5.4 6.7-1 .8-2.1 1.1-3.2 1.1-1.5 0-2.6-.6-3.2-1.8-.7-1.2-1-2.5-1-4 0-2.2.7-4.8 2.1-7.6 1.4-2.9 3.2-5.2 5.5-6.9 1.9-1.4 3.6-2.2 5.3-2.2.9 0 1.6.3 2.2.8.6.5 1 1.4 1.2 2.8l.9-2.9 5.5-.3zm-7.8 4.5c0-1.3-.2-2.2-.6-2.8-.3-.4-.7-.6-1.2-.6s-1 .2-1.6.7c-1.1 1-2.3 3-3.5 5.9-1.3 3-1.9 5.6-1.9 7.7 0 .8.1 1.4.4 1.8.3.4.6.6.9.6.7 0 1.5-.4 2.2-1.2 1.1-1.2 2-2.6 2.9-4.3 1.6-2.9 2.4-5.5 2.4-7.8z',\r\n ],\r\n '#7291a1',\r\n ),\r\n 'vue': new SvgIcon(\r\n [\r\n 'M 66.425365,28.281905 H 56.751974 L 49.707631,39.427061 43.669624,28.281905 H 21.530262 L 49.707631,76.54823 77.885006,28.281905 Z m -37.888497,4.025337 h 6.767604 L 49.707631,57.239179 64.098226,32.307242 h 6.767597 L 49.707631,68.560446 Z',\r\n ],\r\n '#41B883',\r\n ),\r\n 'other': new SvgIcon(\r\n [\r\n 'M71 36.3L57.8 23.1c-.4-.4-.9-.6-1.4-.6h-26c-1.1 0-2 .9-2 2v51.1c0 1.1.9 2 2 2h39.3c1.1 0 2-.9 2-2V37.7c-.1-.5-.3-1-.7-1.4zm-3.9 2.3H55.5V27l11.6 11.6zm.1 34.5H32.8V26.9h18.5v13.3c0 1.4 1.2 2.6 2.6 2.6h13.3v30.3z',\r\n ] /* no color? */,\r\n ),\r\n // system icons\r\n 'system-close': new SvgIcon(\r\n ['M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n 'system-file-preview-new': new SvgIcon(\r\n [\r\n 'M745,353c-5.6,0-11.3,0.2-17.2,0.7C687.4,237.3,577.8,157,451,157c-162.1,0-294,131.9-294,294c0,2.1,0,4.1,0,6.2C72.6,479,10,555.8,10,647c0,108.1,87.9,196,196,196h245V618.3l-63.4,63.4c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4c-19.2-19.2-19.2-50.1,0-69.3l147-147c4.6-4.6,9.9-8.1,16-10.6c12-4.9,25.5-4.9,37.4,0c6,2.5,11.4,6.1,16,10.6l147,147c19.2,19.2,19.2,50.1,0,69.3c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4L549,618.3V843h196c135.1,0,245-109.9,245-245S880.1,353,745,353z',\r\n ],\r\n undefined,\r\n '0 0 1000 1000',\r\n ),\r\n // system icons\r\n 'system-sortable-handle': new SvgIcon(['M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'], undefined, '0 0 24 24'),\r\n 'system-file-av-play': new SvgIcon(\r\n ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'],\r\n undefined,\r\n '0 0 48 48',\r\n ),\r\n // M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z\r\n 'system-file-name-edit': new SvgIcon(\r\n [\r\n 'M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z',\r\n ],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n};\r\n\r\nfor (const category in icons) {\r\n if (icons.hasOwnProperty(category)) {\r\n (icons as any)[category].category = category;\r\n }\r\n}\r\n\r\nexport default icons;\r\n\r\nexport const extensionsMap: any = {};\r\n\r\nfor (const cat in extensions) {\r\n if (extensions.hasOwnProperty(cat)) {\r\n for (const ext of (extensions as any)[cat]) {\r\n extensionsMap[ext] = cat;\r\n }\r\n }\r\n}\r\n\r\nexport function getIconByName(name: string): SvgIcon {\r\n const svgIcon = (icons as any)[name] || icons.other;\r\n return svgIcon;\r\n}\r\n\r\nexport function getIconFromExt(ext: string): SvgIcon {\r\n ext = ext.toLowerCase();\r\n const cat = extensionsMap[ext];\r\n return getIconByName(cat);\r\n}\r\n","\n\n\n\n\n\n\n\n\r\nimport { getIconFromExt, getIconByName, SvgIcon } from '../lib/icons';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['ext', 'name', 'viewBox'],\r\n computed: {\r\n viewBoxComputed(): string {\r\n if (!this.viewBox && this.icon && this.icon.viewBox) {\r\n return this.icon.viewBox;\r\n }\r\n return this.viewBox ? this.viewBox : '0 0 100 100';\r\n },\r\n icon(): SvgIcon {\r\n if (this.name) {\r\n return getIconByName(this.name);\r\n }\r\n const svgIcon = getIconFromExt(this.ext);\r\n return svgIcon;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./vue-file-icon.vue?vue&type=template&id=61d49b70&\"\nimport script from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'file-preview-wrapper-' + _vm.fileData.ext(),\n _vm.fileData.isImage() ? 'file-preview-wrapper-image' : 'file-preview-wrapper-other',\n 'file-category-' + _vm.fileData.icon().category,\n { 'file-is-playing-av': _vm.fileData.isPlayingAv },\n { 'is-deletable': _vm.deletable === true },\n { 'is-editable': _vm.editable === true },\n { 'is-edit-input-focused': _vm.isEditInputFocused },\n { 'has-error': _vm.fileData.error } ]},[(_vm.fileData.error)?_c('div',{staticClass:\"file-error-wrapper\",on:{\"click\":function($event){return _vm.dismissError()}}},[_c('div',{staticClass:\"file-error-message file-error-message-client\"},[_vm._v(\" \"+_vm._s(_vm.fileData.getErrorMessage(_vm.errorText))+\" \")])]):_vm._e(),(_vm.fileData.isPlayableAudio() || _vm.fileData.isPlayableVideo())?_c('div',{ref:\"wrapper\",staticClass:\"file-av-wrapper\"},[_c('div',{staticClass:\"file-av-action\",on:{\"click\":function($event){return _vm.playAv(_vm.fileData)}}},[_c('span',{staticClass:\"file-av-stop\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1),_c('span',{staticClass:\"file-av-play\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-av-play\"}})],1)])]):_vm._e(),_c('span',{staticClass:\"file-preview\",class:{\n 'image-preview': _vm.fileData.isImage(),\n 'other-preview': !_vm.fileData.isImage(),\n 'dark-content': _vm.fileData.isImage() && _vm.fileData.isDarkColor(),\n },style:({\n 'background-color': _vm.fileData.color(),\n })},[_c('span',{staticClass:\"file-preview-overlay\"}),(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('span',{staticClass:\"thumbnail\",staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"overflow\":\"hidden\"}},[(_vm.hasLinkableUrl)?_c('a',{attrs:{\"href\":_vm.fileData.url,\"target\":\"_blank\",\"title\":_vm.fileData.name()}},[_c('img',{staticClass:\"file-preview-img\",attrs:{\"src\":_vm.fileData.src()}})]):_c('img',{staticClass:\"file-preview-img\",attrs:{\"src\":_vm.fileData.src()}})]):_vm._e(),_c('span',{staticClass:\"file-ext\"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:\"file-size\"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:\"file-delete\",on:{\"click\":function($event){return _vm.removeFileData(_vm.fileData)},\"touchstart\":function($event){return _vm.filenameClearPressed()},\"mousedown\":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name\",on:{\"click\":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:\"input\",staticClass:\"file-name-input\",attrs:{\"disabled\":_vm.disabled === true,\"type\":\"text\"},domProps:{\"value\":_vm.fileData.name(true)},on:{\"focus\":function($event){return _vm.editInputFocused()},\"blur\":function($event){return _vm.editInputBlured()},\"change\":function($event){return _vm.filenameChanged()},\"input\":function($event){return _vm.filenameChanged()},\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:\"file-name-edit-icon\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-name-edit\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name-text\"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:\"image-dimension\"},[_c('span',{staticClass:\"image-dimension-width\"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:\"image-dimension-height\"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:\"file-progress\",class:{\n 'file-progress-full': _vm.fileData.progress() >= 99.9999,\n 'file-progress-done': _vm.fileData.progress() >= 100,\n 'has-file-progress': _vm.fileData.progress() > 0,\n }},[_c('span',{staticClass:\"file-progress-bar\",style:({ width: _vm.fileData.progress() + '%' })})]):_vm._e(),_c('span',{staticClass:\"file-icon\"},[(_vm.hasLinkableUrl)?_c('a',{attrs:{\"href\":_vm.fileData.url,\"target\":\"_blank\",\"title\":_vm.fileData.name()}},[_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1):_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function getFilesFromDroppedItems(dataTransfer: DataTransfer): Promise {\r\n return new Promise((resolve) => {\r\n if (!includesFolder(dataTransfer.files)) {\r\n return resolve(dataTransfer.files);\r\n }\r\n const files: File[] = [];\r\n const folderReadQueue = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < dataTransfer.items.length; i++) {\r\n const item = dataTransfer.items[i];\r\n if (item.kind !== 'file') {\r\n continue;\r\n }\r\n const fileSystemEntries = getEntries(item);\r\n if (fileSystemEntries) {\r\n folderReadQueue.push(fileSystemEntries);\r\n } else {\r\n const file = item.getAsFile();\r\n if (file) {\r\n files.push(file);\r\n }\r\n }\r\n }\r\n Promise.all(folderReadQueue).then((filesInFolders) => {\r\n resolve(files.concat(...filesInFolders));\r\n });\r\n });\r\n}\r\n\r\nfunction getEntries(entry: any): Promise | undefined {\r\n // convert DataTransferItem to FileSystemEntry first if necessary\r\n if (entry.getAsEntry) {\r\n return getEntries(entry.getAsEntry());\r\n }\r\n if (entry.webkitGetAsEntry) {\r\n return getEntries(entry.webkitGetAsEntry());\r\n }\r\n // return if item is from a browser that does not support webkitGetAsEntry\r\n if (entry.getAsFile) {\r\n return;\r\n }\r\n // Processing directories with more than 100 files:\r\n // https://github.com/lian-yue/vue-upload-component/commit/9c9d8aafbcef005a2cc598454383ec65205d61ee\r\n return new Promise((resolve) => {\r\n if (entry.isFile) {\r\n entry.file((file: File) => resolve([file]));\r\n return;\r\n }\r\n if (entry.isDirectory) {\r\n const files: File[] = [];\r\n const entryReader = entry.createReader();\r\n const readEntries = () => {\r\n entryReader.readEntries((entries: any[]) => {\r\n const iterateEntry = (i: number) => {\r\n if (!entries[i] && i === 0) {\r\n return resolve(files);\r\n }\r\n if (!entries[i]) {\r\n return readEntries();\r\n }\r\n (getEntries(entries[i]) as Promise).then((entryFiles: File[]) => {\r\n files.push(...entryFiles);\r\n iterateEntry(i + 1);\r\n });\r\n };\r\n iterateEntry(0);\r\n });\r\n };\r\n readEntries();\r\n }\r\n if (!entry.isFile && !entry.isDirectory) {\r\n resolve([]);\r\n }\r\n });\r\n}\r\n\r\nfunction includesFolder(files: FileList): boolean {\r\n if (!files.length) {\r\n return true; // if dropping only folders, no files will exist\r\n }\r\n // tslint:disable-next-line\r\n for (var i = 0; i < files.length; i++) {\r\n // A folder has no type and has a size that is a multiple of 4096\r\n if (!files[i].type && files[i].size % 4096 === 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n","import { getFilesFromDroppedItems } from './drop-handler';\r\n\r\nexport type RGBA = [number, number, number, number];\r\nexport interface VideoThumbnail {\r\n url: string;\r\n color?: RGBA;\r\n width: number;\r\n height: number;\r\n}\r\nexport interface ImageThumbnail {\r\n image: HTMLImageElement;\r\n url: string;\r\n color?: RGBA;\r\n}\r\n\r\nenum ImageOrientation {\r\n NORMAL = 1,\r\n UPSIDE_DOWN = 6,\r\n}\r\n\r\nclass Utils {\r\n public arrayMove(arr: any[], previousIndex: number, newIndex: number): any[] {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/utils.js\r\n const array = arr.slice(0);\r\n if (newIndex >= array.length) {\r\n let k = newIndex - array.length;\r\n while (k-- + 1) {\r\n array.push(undefined);\r\n }\r\n }\r\n array.splice(newIndex, 0, array.splice(previousIndex, 1)[0]);\r\n return array;\r\n }\r\n\r\n public getAverageColor(arr: Uint8ClampedArray): RGBA | undefined {\r\n const bytesPerPixel = 4;\r\n const arrLength = arr.length;\r\n if (arrLength < bytesPerPixel) {\r\n return;\r\n }\r\n const step = 5;\r\n const len = arrLength - (arrLength % bytesPerPixel);\r\n const preparedStep = (step || 1) * bytesPerPixel;\r\n\r\n let redTotal = 0;\r\n let greenTotal = 0;\r\n let blueTotal = 0;\r\n let alphaTotal = 0;\r\n let count = 0;\r\n\r\n for (let i = 0; i < len; i += preparedStep) {\r\n const alpha = arr[i + 3];\r\n const red = arr[i] * alpha;\r\n const green = arr[i + 1] * alpha;\r\n const blue = arr[i + 2] * alpha;\r\n\r\n redTotal += red;\r\n greenTotal += green;\r\n blueTotal += blue;\r\n alphaTotal += alpha;\r\n count++;\r\n }\r\n\r\n return alphaTotal\r\n ? [\r\n Math.round(redTotal / alphaTotal),\r\n Math.round(greenTotal / alphaTotal),\r\n Math.round(blueTotal / alphaTotal),\r\n Math.round(alphaTotal / count),\r\n ]\r\n : [0, 0, 0, 0];\r\n }\r\n\r\n public createVideoThumbnail(\r\n video: HTMLVideoElement,\r\n canvas: HTMLCanvasElement,\r\n thumbnailSize: number,\r\n ): Promise {\r\n video.setAttribute('crossOrigin', 'anonymous'); // fix cross origin issue\r\n return new Promise((resolve, reject) => {\r\n let loadedmetadata = false;\r\n let loadeddata = false;\r\n const tryGetThumbnail = () => {\r\n if (!(loadedmetadata && loadeddata)) {\r\n return;\r\n }\r\n const context = canvas.getContext('2d') as CanvasRenderingContext2D;\r\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height);\r\n const url = canvas.toDataURL();\r\n resolve({\r\n url,\r\n color: this.getAverageColor(imageData.data),\r\n width: video.videoWidth,\r\n height: video.videoHeight,\r\n });\r\n };\r\n // Load metadata of the video to get video duration and dimensions\r\n video.addEventListener('loadedmetadata', () => {\r\n // var video_duration = video.duration;\r\n canvas.width = thumbnailSize;\r\n canvas.height = (canvas.width / video.videoWidth) * video.videoHeight;\r\n video.currentTime = 1; // video time\r\n loadedmetadata = true;\r\n tryGetThumbnail();\r\n });\r\n\r\n video.addEventListener('loadeddata', () => {\r\n loadeddata = true;\r\n tryGetThumbnail();\r\n });\r\n });\r\n }\r\n\r\n public getDataURL(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve('');\r\n }\r\n resolve(event.target.result as string);\r\n };\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public getImageOrientationFromArrayBuffer(buffer: ArrayBuffer): number {\r\n // -2: not jpeg\r\n // -1: not defined\r\n const view = new DataView(buffer);\r\n if (view.getUint16(0, false) !== 0xffd8) {\r\n return -2;\r\n }\r\n const length = view.byteLength;\r\n let offset = 2;\r\n while (offset < length) {\r\n if (view.getUint16(offset + 2, false) <= 8) {\r\n return -1;\r\n }\r\n const marker = view.getUint16(offset, false);\r\n offset += 2;\r\n if (marker === 0xffe1) {\r\n if (view.getUint32((offset += 2), false) !== 0x45786966) {\r\n return -1;\r\n }\r\n const little = view.getUint16((offset += 6), false) === 0x4949;\r\n offset += view.getUint32(offset + 4, little);\r\n const tags = view.getUint16(offset, little);\r\n offset += 2;\r\n for (let i = 0; i < tags; i++) {\r\n if (view.getUint16(offset + i * 12, little) === 0x0112) {\r\n return view.getUint16(offset + i * 12 + 8, little);\r\n }\r\n }\r\n // tslint:disable-next-line\r\n } else if ((marker & 0xff00) !== 0xff00) {\r\n break;\r\n } else {\r\n offset += view.getUint16(offset, false);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n public getImageOrientation(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n if (!reader.readAsArrayBuffer) {\r\n return resolve(-3);\r\n }\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve(-3);\r\n }\r\n resolve(this.getImageOrientationFromArrayBuffer(event.target.result as ArrayBuffer));\r\n };\r\n // https://stackoverflow.com/questions/3248946/what-is-the-maximum-size-of-jpeg-metadata\r\n // https://twitter.com/jaffathecake/status/1085443592678752256\r\n // reader.readAsArrayBuffer(file);\r\n reader.readAsArrayBuffer(file.slice(0, 65536));\r\n });\r\n }\r\n\r\n public rotateCanvas(\r\n srcOrientation: number,\r\n canvas: HTMLCanvasElement,\r\n ctx: CanvasRenderingContext2D,\r\n width: number,\r\n height: number,\r\n ) {\r\n // set proper canvas dimensions before transform & export\r\n if (4 < srcOrientation && srcOrientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n } else {\r\n canvas.width = width;\r\n canvas.height = height;\r\n }\r\n\r\n // transform context before drawing image\r\n switch (srcOrientation) {\r\n case 2:\r\n ctx.transform(-1, 0, 0, 1, width, 0);\r\n break;\r\n case 3:\r\n ctx.transform(-1, 0, 0, -1, width, height);\r\n break;\r\n case 4:\r\n ctx.transform(1, 0, 0, -1, 0, height);\r\n break;\r\n case 5:\r\n ctx.transform(0, 1, 1, 0, 0, 0);\r\n break;\r\n case 6:\r\n ctx.transform(0, 1, -1, 0, height, 0);\r\n break;\r\n case 7:\r\n ctx.transform(0, -1, -1, 0, height, width);\r\n break;\r\n case 8:\r\n ctx.transform(0, -1, 1, 0, 0, width);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n public getImageResized(\r\n image: HTMLImageElement,\r\n widthLimit: number,\r\n heightLimit?: number,\r\n orientation?: number,\r\n ): ImageThumbnail | null {\r\n let width = image.width;\r\n let height = image.height;\r\n const thumbnailSize = widthLimit;\r\n if (widthLimit && heightLimit) {\r\n width = widthLimit;\r\n height = heightLimit;\r\n } else {\r\n if (width > height) {\r\n if (width > thumbnailSize) {\r\n height *= thumbnailSize / width;\r\n width = thumbnailSize;\r\n }\r\n } else {\r\n if (height > thumbnailSize) {\r\n width *= thumbnailSize / height;\r\n height = thumbnailSize;\r\n }\r\n }\r\n }\r\n\r\n width = Math.floor(width);\r\n height = Math.floor(height);\r\n\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n if (!context) {\r\n return null;\r\n }\r\n\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n if (orientation !== undefined) {\r\n this.rotateCanvas(orientation, canvas, context, width, height);\r\n }\r\n\r\n context.drawImage(image, 0, 0, width, height);\r\n let avgColor = null;\r\n try {\r\n const imageData = context.getImageData(0, 0, width, height);\r\n const rgba = this.getAverageColor(imageData.data);\r\n if (rgba) {\r\n avgColor = rgba;\r\n }\r\n } catch (e) {\r\n /* security error, img on diff domain */\r\n }\r\n return {\r\n image,\r\n url: canvas.toDataURL('image/png'),\r\n color: avgColor,\r\n } as ImageThumbnail;\r\n }\r\n\r\n public resizeImageUrl(image: HTMLImageElement, url: string, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n image.onload = () => {\r\n const resized = this.getImageResized(image, thumbnailSize);\r\n resolve(resized);\r\n };\r\n image.src = url;\r\n });\r\n }\r\n\r\n public resizeImageFile(image: HTMLImageElement, file: File, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (file.type.indexOf('image') === -1) {\r\n reject(new Error('Not an image'));\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n let shouldRevoke = false;\r\n const orientationPromise = this.getImageOrientation(file);\r\n image.onload = () => {\r\n orientationPromise.then((orientation) => {\r\n const resized = this.getImageResized(image, thumbnailSize, undefined, orientation);\r\n if (shouldRevoke) {\r\n revokeObjectURL(image.src);\r\n }\r\n resolve(resized);\r\n });\r\n };\r\n if (!(file instanceof File)) {\r\n return reject('Invalid file object. Use url or a valid instance of File class');\r\n }\r\n if (createObjectURL && revokeObjectURL) {\r\n shouldRevoke = true;\r\n image.src = createObjectURL(file);\r\n return;\r\n }\r\n this.getDataURL(file).then((dataUrl) => {\r\n image.src = dataUrl;\r\n });\r\n });\r\n }\r\n\r\n public resizeImage(thumbnailSize: number, file?: File, url?: string): Promise {\r\n const image = new Image();\r\n image.setAttribute('crossOrigin', 'anonymous');\r\n return url\r\n ? this.resizeImageUrl(image, url, thumbnailSize)\r\n : this.resizeImageFile(image, file as File, thumbnailSize);\r\n }\r\n\r\n public getSizeFormatted(bytes: number) {\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes === 0) {\r\n return '0 B';\r\n }\r\n let i = Math.floor(Math.log(bytes) / Math.log(1024));\r\n i = parseInt('' + i, 10);\r\n return Math.round(bytes / Math.pow(1024, i)) + ' ' + sizes[i];\r\n }\r\n\r\n public getSizeParsed(size: string): number {\r\n size = ('' + size).toUpperCase();\r\n const matches = size.match(/([\\d|.]+?)\\s*?([A-Z]+)/);\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (!matches) {\r\n return parseFloat(size);\r\n }\r\n const i = sizes.indexOf(matches[2]);\r\n if (i === -1) {\r\n return parseFloat(size);\r\n }\r\n return parseFloat(matches[1]) * Math.pow(1024, i);\r\n }\r\n\r\n public getColorForText(text: string): string {\r\n const getHashCode = (value: string) => {\r\n let hash = 0;\r\n if (value.length === 0) {\r\n return hash;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n // tslint:disable-next-line\r\n hash = value.charCodeAt(i) + ((hash << 5) - hash);\r\n // tslint:disable-next-line\r\n hash = hash & hash; // Convert to 32bit integer\r\n }\r\n return hash;\r\n };\r\n const intToHSL = (value: number) => {\r\n const h = value % 360;\r\n const s = value % 100;\r\n const l = 50;\r\n return 'hsl(' + h + ',' + s + '%,' + l + '%, 0.75)';\r\n };\r\n return intToHSL(getHashCode(text.toLowerCase()));\r\n }\r\n\r\n public validateType(file: File, accept?: string): boolean {\r\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept\r\n // https://gitlab.com/meno/dropzone/blob/master/src/dropzone.js#L2511\r\n if (!accept) {\r\n return true;\r\n } // If there are no accepted mime types, it's OK\r\n const acceptedFiles = accept.split(',');\r\n\r\n const mimeType = file.type;\r\n const baseMimeType = mimeType.replace(/\\/.*$/, '');\r\n\r\n for (let validType of acceptedFiles) {\r\n validType = validType.trim();\r\n if (validType.charAt(0) === '.') {\r\n // extension\r\n if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\r\n return true;\r\n }\r\n } else if (/\\/\\*$/.test(validType)) {\r\n // This is something like a image/* mime type\r\n if (baseMimeType === validType.replace(/\\/.*$/, '')) {\r\n return true;\r\n }\r\n } else {\r\n if (mimeType === validType) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public validateSize(file: File, maxSize?: string): boolean {\r\n if (!maxSize) {\r\n return true;\r\n }\r\n const bytes = this.getSizeParsed(maxSize);\r\n return file.size <= bytes;\r\n }\r\n\r\n public getFilesFromDroppedItems(dataTransfer: DataTransfer) {\r\n return getFilesFromDroppedItems(dataTransfer);\r\n }\r\n}\r\n\r\nexport default new Utils();\r\n","import { getIconFromExt, SvgIcon } from './icons';\r\nimport utils from './utils';\r\nimport { RGBA, ImageThumbnail, VideoThumbnail } from './utils';\r\n\r\ninterface Dimensions {\r\n height: number;\r\n width: number;\r\n}\r\n\r\ninterface Options {\r\n accept?: string;\r\n maxSize?: string;\r\n read: boolean;\r\n thumbnailSize?: number;\r\n}\r\n\r\ninterface ErrorText {\r\n common?: string;\r\n type?: string;\r\n size?: string;\r\n upload?: string;\r\n}\r\n\r\ninterface ErrorFlags {\r\n common?: boolean;\r\n type?: boolean;\r\n size?: boolean;\r\n upload?: false | string;\r\n}\r\n\r\ninterface RawFileData {\r\n url: string | null;\r\n urlResized: string | null;\r\n src: () => any;\r\n name: any;\r\n lastModified: number;\r\n sizeText: string;\r\n size: number;\r\n type: string;\r\n ext: string;\r\n color: string;\r\n file: File;\r\n progress: number | ((progress?: number) => number | void);\r\n error?: false | ErrorFlags;\r\n dimensions: Dimensions;\r\n videoThumbnail: string;\r\n imageColor: RGBA;\r\n customName: string;\r\n}\r\n\r\ninterface DummyFile {\r\n name: string;\r\n size: number;\r\n type: string;\r\n lastModified: number;\r\n lastModifiedDate: Date;\r\n}\r\n\r\nexport { Dimensions, Options, RawFileData };\r\n\r\nclass FileData {\r\n public static getFromRaw(fileDataRaw: RawFileData, options: Options, isSync = false): FileData | Promise {\r\n const fileData = new FileData(fileDataRaw, options);\r\n const promise = fileData.setUrl(fileDataRaw.url);\r\n fileDataRaw.progress = fileData.progress.bind(fileData); // convert it as a function\r\n fileDataRaw.src = fileData.src.bind(fileData);\r\n fileDataRaw.name = fileData.name.bind(fileData); // convert it as a function\r\n if (isSync) {\r\n return fileData;\r\n }\r\n return promise;\r\n }\r\n\r\n public static fromRaw(fileDataRaw: RawFileData, options: Options): Promise {\r\n return FileData.getFromRaw(fileDataRaw, options, false) as Promise;\r\n }\r\n\r\n public static fromRawSync(fileDataRaw: RawFileData, options: Options): FileData {\r\n return FileData.getFromRaw(fileDataRaw, options, true) as FileData;\r\n }\r\n\r\n public static fromRawArray(filesDataRaw: RawFileData[], options: Options): Promise {\r\n const promises: Array> = [];\r\n for (const fileDataRaw of filesDataRaw) {\r\n promises.push(FileData.fromRaw(fileDataRaw, options));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public static toRawArray(filesData: FileData[]): RawFileData[] {\r\n const filesDataRaw: RawFileData[] = [];\r\n for (const fileData of filesData) {\r\n filesDataRaw.push(fileData.toRaw());\r\n }\r\n return filesDataRaw;\r\n }\r\n\r\n public static readFile(fileData: FileData): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!fileData.read) {\r\n fileData.setUrl(null);\r\n resolve(fileData);\r\n return;\r\n }\r\n utils.getDataURL(fileData.file).then((dataUrl) => {\r\n fileData.setUrl(dataUrl).then(() => {\r\n resolve(fileData);\r\n }, reject);\r\n }, reject);\r\n });\r\n }\r\n\r\n public static readFiles(filesData: FileData[]): Promise {\r\n const promises: Array> = [];\r\n for (const fileData of filesData) {\r\n promises.push(FileData.readFile(fileData));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public url: null | string = null;\r\n public urlResized: null | string = null;\r\n public image: HTMLImageElement | {} = {};\r\n public isPlayingAv: boolean = false;\r\n\r\n public oldFileName: string | null = null;\r\n public oldCustomName: string | null = null;\r\n public upload: any = null;\r\n\r\n public raw: RawFileData;\r\n public progressInternal: number;\r\n public accept?: string;\r\n public dimensions: Dimensions;\r\n public error: false | ErrorFlags;\r\n public file: File;\r\n public height: undefined | number | string;\r\n public width: undefined | number | string;\r\n public id: string;\r\n public imageColor?: RGBA;\r\n public lastKnownSrc: null | string;\r\n public maxSize?: string;\r\n public options: Options;\r\n public read: boolean;\r\n public thumbnailSize: number;\r\n public videoThumbnail: any;\r\n public customName: any;\r\n public xhr?: XMLHttpRequest;\r\n public xhrQueue?: () => any;\r\n public stopAv?: (() => any) | null;\r\n public tusUpload?: any;\r\n\r\n public constructor(data: RawFileData, options: Options) {\r\n this.url = null;\r\n this.urlResized = null;\r\n this.lastKnownSrc = null;\r\n this.image = {};\r\n this.isPlayingAv = false;\r\n this.oldFileName = null;\r\n this.oldCustomName = null;\r\n this.upload = null;\r\n\r\n this.raw = data;\r\n this.file = data.file instanceof File ? data.file : (this.createDummyFile(data) as any);\r\n this.progressInternal = !isNaN(data.progress as number) ? (data.progress as number) : 0;\r\n // this.width = FileData.defaultWidth;\r\n // this.height = FileData.defaultHeight;\r\n this.thumbnailSize = options.thumbnailSize || 360;\r\n this.read = !!options.read;\r\n this.dimensions = data.dimensions || {};\r\n this.dimensions.width = this.dimensions.width || 0;\r\n this.dimensions.height = this.dimensions.height || 0;\r\n this.error = data.error || false;\r\n this.options = options;\r\n this.maxSize = options.maxSize;\r\n this.accept = options.accept;\r\n this.id = Math.random() + ':' + new Date().getTime();\r\n this.videoThumbnail = data.videoThumbnail;\r\n this.imageColor = data.imageColor;\r\n this.customName = data.customName;\r\n\r\n this.validate();\r\n }\r\n\r\n // populate(data, options = {}) {}\r\n\r\n public createDummyFile(data: RawFileData): DummyFile {\r\n const file: DummyFile = {} as DummyFile;\r\n file.lastModified = data.lastModified;\r\n const d = new Date();\r\n if (file.lastModified) {\r\n d.setTime(file.lastModified);\r\n }\r\n file.lastModifiedDate = d;\r\n file.name = typeof data.name === 'function' ? data.name() : data.name;\r\n file.size = data.size;\r\n file.type = data.type;\r\n return file;\r\n }\r\n\r\n public hasProgress(): boolean {\r\n return !isNaN(this.progressInternal); // && this._progress <= 100;\r\n }\r\n\r\n public progress(value?: number): number | void {\r\n if (value !== undefined) {\r\n this.progressInternal = value;\r\n return;\r\n }\r\n return this.progressInternal || 0;\r\n }\r\n\r\n public src(): string {\r\n if (this.isImage()) {\r\n return this.urlResized || this.url || (this.file as any).url;\r\n }\r\n if (this.isPlayableVideo()) {\r\n return this.videoThumbnail || '';\r\n }\r\n return '';\r\n }\r\n\r\n public size(): string {\r\n if (!this.file) {\r\n return '';\r\n }\r\n return utils.getSizeFormatted(this.file.size);\r\n }\r\n\r\n public ext(): string {\r\n if (this.file && this.file.name.indexOf('.') !== -1) {\r\n return (this.file.name as any).split('.').pop();\r\n }\r\n return '?';\r\n // return this.file.type.split('/').shift();\r\n }\r\n\r\n public name(withoutExt?: boolean): string {\r\n const ext = this.ext();\r\n if (this.customName) {\r\n return this.customName + (withoutExt ? '' : ext !== '?' ? '.' + ext : '');\r\n }\r\n const name = this.file && this.file.name;\r\n if (withoutExt) {\r\n if (ext !== '?') {\r\n return name.substr(0, name.length - (ext.length + 1));\r\n }\r\n }\r\n return name;\r\n }\r\n\r\n public isDarkColor(): boolean {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n const darkPoint = 20;\r\n return rgb[0] <= darkPoint && rgb[1] <= darkPoint && rgb[2] <= darkPoint;\r\n }\r\n return false;\r\n }\r\n\r\n public color(): string {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n return 'rgb(' + rgb[0] + ', ' + rgb[1] + ', ' + rgb[2] + ')';\r\n }\r\n if (this.isImage()) {\r\n return 'transparent';\r\n }\r\n const ext = this.ext();\r\n const svgIcon = this.icon();\r\n // var svgIcon = getIconFromExt(ext);\r\n if (svgIcon.color) {\r\n return svgIcon.color;\r\n }\r\n return utils.getColorForText(ext);\r\n }\r\n\r\n public isImage(): boolean {\r\n return this.file && this.file.type.indexOf('image') !== -1;\r\n }\r\n\r\n public isVideo(): boolean {\r\n return this.file && this.file.type.indexOf('video') !== -1;\r\n }\r\n\r\n public isPlayableVideo(): boolean {\r\n return this.icon().category === 'video-playable';\r\n }\r\n\r\n public isAudio(): boolean {\r\n return this.file && this.file.type.indexOf('audio') !== -1;\r\n }\r\n\r\n public isPlayableAudio(): boolean {\r\n return this.icon().category === 'audio-playable';\r\n }\r\n\r\n public isText(): boolean {\r\n return this.file && this.file.type.indexOf('text') !== -1;\r\n }\r\n\r\n public setUrl(url: string | null): Promise {\r\n this.url = url;\r\n return new Promise((resolve, reject) => {\r\n if (this.isImage()) {\r\n this.resizeImage().then(() => {\r\n resolve(this);\r\n }, reject);\r\n return;\r\n }\r\n resolve(this);\r\n });\r\n }\r\n\r\n public imageResized(resized: ImageThumbnail | null) {\r\n if (!resized) {\r\n return;\r\n }\r\n this.urlResized = resized.url;\r\n this.image = resized.image;\r\n if (resized.image && resized.image.width && resized.image.height) {\r\n this.dimensions.width = resized.image.width;\r\n this.dimensions.height = resized.image.height;\r\n }\r\n this.lastKnownSrc = this.urlResized;\r\n this.imageColor = resized.color;\r\n }\r\n\r\n public resizeImage(): Promise {\r\n return new Promise((resolve, reject) => {\r\n utils\r\n .resizeImage(this.thumbnailSize, this.file, this.url as string)\r\n .then((resized) => {\r\n this.imageResized(resized);\r\n resolve(this);\r\n })\r\n .catch(reject);\r\n });\r\n }\r\n\r\n public icon(): SvgIcon {\r\n const ext = this.ext();\r\n const svgIcon = getIconFromExt(ext);\r\n return svgIcon;\r\n }\r\n\r\n public getErrorMessage(errorText?: ErrorText): string {\r\n const error = this.error;\r\n if (!error) {\r\n return '';\r\n }\r\n errorText = errorText || {};\r\n errorText = {\r\n common: errorText.common || 'Invalid file.',\r\n type: errorText.type || 'Invalid file type.',\r\n size: errorText.size || 'Files should not exceed ' + this.maxSize + ' in size',\r\n };\r\n if (error.type) {\r\n return errorText.type as string;\r\n } else if (error.size) {\r\n return errorText.size as string;\r\n } else if (error.upload) {\r\n return this.upload && this.upload.error ? this.upload.error : error.upload;\r\n }\r\n return errorText.common as string;\r\n }\r\n\r\n public toRaw(): RawFileData {\r\n const raw = this.raw || {};\r\n raw.url = this.url;\r\n raw.urlResized = this.urlResized;\r\n raw.src = this.src.bind(this);\r\n raw.name = this.name.bind(this);\r\n raw.lastModified = this.file.lastModified;\r\n raw.sizeText = this.size();\r\n raw.size = this.file.size;\r\n raw.type = this.file.type;\r\n raw.ext = this.ext();\r\n raw.color = this.color();\r\n raw.file = this.file;\r\n raw.progress = this.progress.bind(this); // pass it as a function\r\n if (!('error' in raw)) {\r\n Object.defineProperty(raw, 'error', {\r\n get: () => {\r\n return this.error;\r\n },\r\n });\r\n }\r\n raw.dimensions = this.dimensions;\r\n return raw;\r\n }\r\n\r\n public validate(): void {\r\n const validType = utils.validateType(this.file, this.accept);\r\n const validSize = utils.validateSize(this.file, this.maxSize as string);\r\n if (!validType || !validSize) {\r\n this.error = {\r\n type: !validType,\r\n size: !validSize,\r\n };\r\n } else {\r\n this.error = false;\r\n }\r\n }\r\n}\r\n\r\nexport default FileData;\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport FileData, { RawFileData, Options } from '../lib/file-data';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'deletable', 'editable', 'linkable', 'errorText', 'disabled', 'thumbnailSize'],\r\n components: {\r\n VueFileIcon,\r\n },\r\n data() {\r\n return {\r\n isEditInputFocused: false,\r\n isEditCancelable: true,\r\n fileData: {} as FileData,\r\n };\r\n },\r\n computed: {\r\n hasLinkableUrl(): boolean {\r\n if (!this.linkable) {\r\n return false;\r\n }\r\n return !!this.fileData.url && !this.fileData.isPlayableVideo() && !this.fileData.isPlayableAudio();\r\n },\r\n },\r\n methods: {\r\n updateFileData() {\r\n if (this.value instanceof FileData) {\r\n this.fileData = this.value;\r\n return;\r\n }\r\n FileData.fromRaw(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options).then((fileData) => {\r\n this.fileData = fileData;\r\n });\r\n this.fileData = FileData.fromRawSync(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options);\r\n },\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement) {\r\n if (fileData.videoThumbnail) {\r\n video.poster = fileData.src();\r\n return;\r\n }\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, this.fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n video.poster = fileData.src();\r\n });\r\n },\r\n\r\n playAv(fileData: FileData) {\r\n if (fileData.stopAv) {\r\n fileData.stopAv();\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n\r\n const wrapper = this.$refs.wrapper as HTMLElement;\r\n const player = document.createElement(fileData.isAudio() ? 'audio' : 'video');\r\n if (player instanceof HTMLVideoElement && fileData.isPlayableVideo()) {\r\n this.createThumbnail(fileData, player);\r\n }\r\n player.controls = true;\r\n // player.style.width = this.prvWidth + 'px';\r\n wrapper.appendChild(player);\r\n const url = fileData.url || createObjectURL(fileData.file);\r\n player.src = url;\r\n player.play();\r\n fileData.isPlayingAv = true;\r\n fileData.stopAv = () => {\r\n // player.src = null;\r\n player.src = '';\r\n wrapper.removeChild(player);\r\n revokeObjectURL(url);\r\n fileData.isPlayingAv = false;\r\n fileData.stopAv = null;\r\n };\r\n },\r\n\r\n removeFileData(fileData: FileData) {\r\n if (this.clearFilename()) {\r\n return;\r\n }\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n this.$emit('remove', fileData);\r\n },\r\n\r\n editFileName() {\r\n if (this.editable !== true) {\r\n return;\r\n }\r\n if (!this.$refs.input) {\r\n return;\r\n }\r\n (this.$refs.input as HTMLInputElement).focus();\r\n },\r\n\r\n editInputFocused() {\r\n this.isEditInputFocused = true;\r\n this.isEditCancelable = true;\r\n },\r\n\r\n editInputBlured() {\r\n this.fileData.oldFileName = this.fileData.name();\r\n const oldValue = this.fileData.name(true);\r\n const value = (this.$refs.input as HTMLInputElement).value;\r\n this.fileData.customName = value;\r\n const newValue = this.fileData.name(true);\r\n if (newValue !== oldValue) {\r\n this.fileData.oldCustomName = oldValue;\r\n this.$emit('rename', this.fileData);\r\n }\r\n const timeout = 100;\r\n setTimeout(() => {\r\n this.$nextTick(() => {\r\n if (!this.isEditCancelable) {\r\n return;\r\n }\r\n this.isEditInputFocused = false;\r\n });\r\n }, timeout);\r\n },\r\n\r\n filenameChanged(completed?: boolean) {\r\n if (completed) {\r\n (this.$refs.input as HTMLInputElement).blur(); // @see editInputBlured method\r\n }\r\n if (completed === false) {\r\n this.clearFilename();\r\n }\r\n },\r\n\r\n filenameClearPressed() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return;\r\n }\r\n this.isEditCancelable = false;\r\n },\r\n\r\n clearFilename() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return false;\r\n }\r\n (this.$refs.input as HTMLInputElement).value = '';\r\n this.isEditCancelable = true;\r\n this.editInputBlured();\r\n return true;\r\n },\r\n\r\n dismissError() {\r\n this.fileData.error = false;\r\n },\r\n },\r\n created() {\r\n this.updateFileData();\r\n },\r\n watch: {\r\n value() {\r\n this.updateFileData();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-preview-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-preview.vue?vue&type=template&id=1f00ad11&\"\nimport script from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'axis', 'appendTo'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list.vue?vue&type=template&id=5ef04e06&\"\nimport script from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['index'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list-item.vue?vue&type=template&id=00f7ef53&\"\nimport script from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'is-sortable-' + (_vm.isSortable ? 'enabled' : 'disabled'),\n { 'is-sortable-hold': _vm.sortable === 'hold' },\n { 'is-sortable-hold': _vm.sortable === 'handle' },\n { 'is-sortable-immediately': _vm.sortable === true },\n {\n 'is-sorting': _vm.isSorting,\n 'is-sorting-active': _vm.isSortingActive,\n 'is-drag-over': _vm.isDragging,\n 'is-disabled': _vm.disabled === true,\n },\n 'theme-' + _vm.theme ],attrs:{\"id\":'vfa-' + _vm.uniqueId},on:{\"dragover\":_vm.dragOver,\"dragenter\":_vm.dragEnter,\"dragleave\":_vm.dragLeave,\"drop\":_vm.drop}},[_vm._t(\"before-outer\"),_c('div',{staticClass:\"grid-block-wrapper vue-file-agent file-input-wrapper\",class:{\n 'is-compact': !!_vm.compact,\n 'is-single': !_vm.hasMultiple,\n 'has-multiple': _vm.hasMultiple,\n 'no-meta': _vm.meta === false,\n }},[_vm._t(\"before-inner\"),_c('canvas',{ref:\"thumbnailCanvas\",staticStyle:{\"position\":\"fixed\",\"visibility\":\"hidden\",\"z-index\":\"-3\"}}),(_vm.overallProgress)?_c('div',{staticClass:\"overall-progress\",class:{ 'overall-progress-full': _vm.overallProgress >= 100 }},[_c('div',{staticClass:\"overall-progress-bar\",style:({ width: _vm.overallProgress + '%' })}),_c('div',{staticClass:\"overall-progress-left\",style:({ width: 100 - _vm.overallProgress + '%' })})]):_vm._e(),_c(_vm.isSortable ? 'vfa-sortable-list' : 'VueFileList',{tag:\"component\",attrs:{\"axis\":_vm.theme == 'list' ? 'y' : 'xy',\"appendTo\":'#vfa-' + _vm.uniqueId + ' .vue-file-agent',\"transitionDuration\":_vm.transitionDuration,\"pressDelay\":_vm.sortable === 'hold' ? 200 : 0,\"useDragHandle\":_vm.sortable === 'handle',\"helperClass\":'active-sorting-item'},on:{\"sort-start\":function($event){return _vm.sortStart()},\"sort-end\":function($event){return _vm.sortEnd($event)}},model:{value:(_vm.filesData),callback:function ($$v) {_vm.filesData=$$v},expression:\"filesData\"}},[_c('transition-group',{attrs:{\"name\":\"grid-box\",\"tag\":\"div\"}},[_vm._l((_vm.filesData),function(fileData,index){return _c(_vm.isSortable ? 'vfa-sortable-item' : 'VueFileListItem',{key:fileData.id,tag:\"component\",staticClass:\"file-preview-wrapper grid-box-item grid-block\",attrs:{\"index\":index}},[(_vm.sortable === 'handle')?_c('span',{directives:[{name:\"vfa-sortable-handle\",rawName:\"v-vfa-sortable-handle\"}],staticClass:\"file-sortable-handle\"},[_vm._t(\"sortable-handle\",[_c('VueFileIcon',{attrs:{\"name\":\"system-sortable-handle\"}})])],2):_vm._e(),_vm._t(\"file-preview\",[_c('VueFilePreview',{attrs:{\"value\":fileData,\"deletable\":_vm.isDeletable,\"editable\":_vm.editable === true,\"linkable\":_vm.linkable === true,\"errorText\":_vm.errorText,\"disabled\":_vm.disabled,\"thumbnailSize\":_vm.thumbnailSize},on:{\"remove\":function($event){return _vm.removeFileData($event)},\"rename\":function($event){return _vm.filenameChanged($event)}}})],{\"fileData\":fileData,\"index\":index})],2)}),(_vm.canAddMore)?[_vm._t(\"file-preview-new\",[_c('div',{key:\"new\",staticClass:\"file-preview-wrapper grid-box-item grid-block file-preview-new\"},[_c('span',{staticClass:\"file-preview\"},[_c('span',{staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\"}},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-preview-new\"}}),_c('span',{staticClass:\"help-text\"},[_vm._v(_vm._s(_vm.helpTextComputed))])],1)])])])]:_vm._e()],2)],1),_c('input',{ref:\"fileInput\",staticClass:\"file-input\",attrs:{\"title\":\"\",\"disabled\":_vm.disabled === true || (_vm.hasMultiple && !_vm.canAddMore),\"type\":\"file\",\"multiple\":_vm.hasMultiple,\"accept\":_vm.accept || '*'},on:{\"change\":_vm.filesChanged}}),_vm._t(\"after-inner\")],2),_vm._t(\"after-outer\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","export type ConfigureFn = (request: XMLHttpRequest) => any;\r\nexport interface AjaxResponse {\r\n data: any;\r\n status: number;\r\n statusText: string;\r\n headers: string;\r\n request: XMLHttpRequest;\r\n}\r\nexport type AjaxRequestData = FormData | any;\r\nexport interface AjaxError extends Error {\r\n code: string;\r\n request: XMLHttpRequest;\r\n response?: AjaxResponse;\r\n}\r\n\r\n/* inspired by axios */\r\nclass AjaxRequest {\r\n public createError(\r\n message: string,\r\n code: string | null,\r\n request: XMLHttpRequest,\r\n response?: AjaxResponse,\r\n ): AjaxError {\r\n const error: AjaxError = new Error(message) as AjaxError;\r\n if (code) {\r\n error.code = code;\r\n }\r\n error.request = request;\r\n error.response = response;\r\n return error;\r\n }\r\n\r\n public settle(resolve: any, reject: any, response: AjaxResponse) {\r\n const validateStatus = (status: number) => {\r\n return status >= 200 && status < 300;\r\n };\r\n // Note: status is not exposed by XDomainRequest\r\n if (!response.status || !validateStatus || validateStatus(response.status)) {\r\n resolve(response);\r\n } else {\r\n reject(this.createError('Request failed with status code ' + response.status, null, response.request, response));\r\n }\r\n }\r\n\r\n public request(\r\n method: string,\r\n url: string,\r\n formData: AjaxRequestData | null = null,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n // tslint:disable-next-line\r\n let request = new XMLHttpRequest();\r\n const loadEvent = 'onreadystatechange';\r\n\r\n request.open(method, url, true);\r\n\r\n // Listen for ready state\r\n request[loadEvent] = () => {\r\n if (!request || request.readyState !== 4) {\r\n return;\r\n }\r\n\r\n // The request errored out and we didn't get a response, this will be\r\n // handled by onerror instead\r\n // With one exception: request that using file: protocol, most browsers\r\n // will return status as 0 even though it's a successful request\r\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\r\n return;\r\n }\r\n\r\n // Prepare the response\r\n const responseHeaders = request.getAllResponseHeaders();\r\n let responseData: any = request.responseText;\r\n const contentType = request.getResponseHeader('Content-Type');\r\n if (contentType && contentType.indexOf('application/json') !== -1) {\r\n responseData = JSON.parse(responseData);\r\n }\r\n const response: AjaxResponse = {\r\n data: responseData,\r\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\r\n status: request.status === 1223 ? 204 : request.status,\r\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\r\n headers: responseHeaders,\r\n request,\r\n };\r\n\r\n this.settle(resolve, reject, response);\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle browser request cancellation (as opposed to a manual cancellation)\r\n request.onabort = () => {\r\n if (!request) {\r\n return;\r\n }\r\n\r\n reject(this.createError('Request aborted', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle low level network errors\r\n request.onerror = () => {\r\n // Real errors are hidden from us by the browser\r\n // onerror should only fire if it's a network error\r\n reject(this.createError('Network Error', null, request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle timeout\r\n request.ontimeout = () => {\r\n reject(this.createError('timeout exceeded', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // // Handle progress if needed\r\n // if (typeof config.onDownloadProgress === 'function') {\r\n // request.addEventListener('progress', config.onDownloadProgress);\r\n // }\r\n\r\n // Not all browsers support upload events\r\n // if (typeof progressCallback === 'function' && request.upload) {\r\n // request.upload.addEventListener('progress', progressCallback);\r\n // }\r\n\r\n if (typeof configureFn === 'function') {\r\n configureFn(request);\r\n }\r\n\r\n request.send(formData);\r\n });\r\n }\r\n\r\n public post(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('POST', url, formData, configureFn);\r\n }\r\n\r\n public delete(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('DELETE', url, formData, configureFn);\r\n }\r\n\r\n public put(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('PUT', url, formData, configureFn);\r\n }\r\n}\r\n\r\nexport default new AjaxRequest();\r\n","import ajax from './ajax-request';\r\nimport { ConfigureFn, AjaxResponse, AjaxError } from './ajax-request';\r\nimport FileData from './file-data';\r\n\r\ntype ProgressFn = (event: ProgressEvent) => void;\r\ntype CreateFormDataFn = (fileData: FileData) => FormData;\r\n\r\nclass UploadHelper {\r\n // useAxios(axios){\r\n // this.axios = axios;\r\n // }\r\n\r\n public addHeaders(xhr: XMLHttpRequest, headers: object): XMLHttpRequest {\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n if (headers) {\r\n for (const key in headers) {\r\n if (headers.hasOwnProperty(key)) {\r\n xhr.setRequestHeader(key, (headers as any)[key]);\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n\r\n public doUpload(\r\n url: string,\r\n headers: object,\r\n formData: FormData,\r\n progressCallback: ProgressFn,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return ajax.post(url, formData, (xhr) => {\r\n this.addHeaders(xhr, headers);\r\n xhr.upload.addEventListener('progress', progressCallback, false);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doDeleteUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.delete(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doUpdateUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.put(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n // doUploadAxios(axios, formData, progressCallback){\r\n // return axios.post('/upload', formData, {\r\n // onUploadProgress: progressCallback,\r\n // });\r\n // }\r\n\r\n // doDeleteUploadAxios(axios, data, configureFn){\r\n // return axios.delete('/upload', data, {\r\n // });\r\n // }\r\n\r\n public prepareUploadError(fileData: FileData, err: AjaxError, timeout?: number) {\r\n let errorText = err.message;\r\n if (err.response && err.response.data) {\r\n try {\r\n const errorMsg = err.response.data.error || JSON.parse(err.response.data).error;\r\n errorText = errorMsg;\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = errorText;\r\n if (timeout) {\r\n setTimeout(() => {\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = false;\r\n if (!fileData.error.size && !fileData.error.type) {\r\n fileData.error = false;\r\n }\r\n }, timeout);\r\n }\r\n }\r\n\r\n public upload(\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n createFormData?: CreateFormDataFn,\r\n progressFn?: (progress: number) => void,\r\n configureFn?: ConfigureFn,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n let formData;\r\n if (typeof createFormData === 'function') {\r\n formData = createFormData(fileData);\r\n } else {\r\n formData = new FormData();\r\n formData.append('file', fileData.file as File);\r\n formData.append('filename', fileData.name());\r\n }\r\n // ((fileData) => {\r\n const promise = this.doUpload(\r\n url,\r\n headers,\r\n formData,\r\n (progressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n },\r\n (xhr) => {\r\n fileData.xhr = xhr;\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n },\r\n );\r\n promise.then(\r\n (response) => {\r\n delete fileData.xhr;\r\n fileData.upload = response.data;\r\n fileData.progress(100);\r\n if (fileData.xhrQueue) {\r\n fileData.xhrQueue();\r\n delete fileData.xhrQueue;\r\n }\r\n } /* */,\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n } /* */,\r\n );\r\n promises.push(promise);\r\n // })(fileData);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public deleteUpload(url: string, headers: object, fileData: FileData, uploadData?: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n fileData.xhr.abort();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload;\r\n }\r\n if (uploadData) {\r\n this.doDeleteUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (result) => {\r\n resolve(result);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public updateUpload(url: string, headers: object, fileData: FileData, uploadData: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n // probably updated while being uploaded.\r\n fileData.xhrQueue = () => {\r\n this.updateUpload(url, headers, fileData, uploadData);\r\n };\r\n return resolve();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload || {};\r\n uploadData.old_filename = fileData.oldFileName;\r\n uploadData.filename = fileData.name();\r\n }\r\n if (uploadData) {\r\n this.doUpdateUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (response) => {\r\n fileData.upload = response.data;\r\n resolve(response);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public doTusUpload(tus: any, url: string, fileData: FileData, headers: object, progressCallback: ProgressFn) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject(new Error('tus required. Please install tus-js-client'));\r\n }\r\n // https://github.com/tus/tus-js-client\r\n // Create a new tus upload\r\n const file = fileData.file;\r\n const upload = new tus.Upload(file, {\r\n endpoint: url,\r\n headers,\r\n retryDelays: [0, 3000, 5000, 10000, 20000],\r\n metadata: {\r\n filename: file.name,\r\n filetype: file.type,\r\n },\r\n onError(error: any) {\r\n reject(error);\r\n // console.log(\"Failed because: \" + error)\r\n },\r\n onProgress(bytesUploaded: number, bytesTotal: number) {\r\n const event = { loaded: bytesUploaded, total: bytesTotal } as ProgressEvent;\r\n progressCallback(event);\r\n },\r\n onSuccess() {\r\n resolve(upload);\r\n },\r\n });\r\n fileData.tusUpload = upload;\r\n // Start the upload\r\n upload.start();\r\n });\r\n }\r\n\r\n public tusUpload(\r\n tus: any,\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n progressFn?: (progress: number) => void,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n const promise = this.doTusUpload(tus, url, fileData, headers, (progressEvent: ProgressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n });\r\n promise.then(\r\n (response) => {\r\n // delete fileData.tusUpload;\r\n fileData.progress(100);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n },\r\n );\r\n promises.push(promise);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public tusDeleteUpload(tus: any, url: string, headers: object, fileData: FileData) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject('tus required');\r\n }\r\n if (!fileData.tusUpload) {\r\n return resolve();\r\n }\r\n // const shouldTerminate = true;\r\n const abort = (shouldTerminate: boolean) => {\r\n return new Promise((res, rej) => {\r\n fileData.tusUpload.abort(shouldTerminate, (err: any) => {\r\n if (err) {\r\n this.prepareUploadError(fileData, err);\r\n rej(err);\r\n return;\r\n }\r\n res();\r\n });\r\n });\r\n };\r\n abort(false).then(() => {\r\n setTimeout(() => {\r\n abort(true).then(resolve, reject);\r\n }, 1000);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport default new UploadHelper();\r\n","export default {\r\n tus: null as any,\r\n};\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport VueFilePreview from './vue-file-preview.vue';\r\nimport VueFileList from './vue-file-list.vue';\r\nimport VueFileListItem from './vue-file-list-item.vue';\r\nimport FileData from '../lib/file-data';\r\nimport { RawFileData } from '../lib/file-data';\r\nimport uploader from '../lib/upload-helper';\r\nimport Vue from 'vue';\r\nimport plugins from '../lib/plugins';\r\n\r\n// tslint:disable-next-line\r\nvar dragCounter = 0;\r\n\r\nexport default Vue.extend({\r\n props: [\r\n 'accept',\r\n 'compact',\r\n 'deletable',\r\n 'disabled',\r\n 'editable',\r\n 'errorText',\r\n 'helpText',\r\n 'linkable',\r\n 'maxFiles',\r\n 'maxSize',\r\n 'meta',\r\n 'multiple',\r\n 'progress',\r\n 'read',\r\n 'resumable',\r\n 'sortable',\r\n 'theme',\r\n 'thumbnailSize',\r\n 'uploadHeaders',\r\n 'uploadUrl',\r\n 'value',\r\n ],\r\n components: {\r\n VueFileIcon,\r\n VueFilePreview,\r\n VueFileList,\r\n VueFileListItem,\r\n },\r\n directives: {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/HandleDirective.js\r\n vfaSortableHandle: {\r\n bind(el: HTMLElement) {\r\n (el as any).sortableHandle = true;\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n filesData: [] as FileData[],\r\n filesDataRaw: [] as RawFileData[],\r\n isDragging: false,\r\n isSorting: false,\r\n isSortingActive: false,\r\n transitionDuration: 300,\r\n overallProgress: 0,\r\n uniqueId: '',\r\n sortTimeout: 0,\r\n };\r\n },\r\n computed: {\r\n canAddMore(): boolean {\r\n if (!this.hasMultiple) {\r\n return this.filesData.length === 0;\r\n }\r\n if (!this.maxFiles) {\r\n return true;\r\n }\r\n return this.filesData.length < this.maxFiles;\r\n },\r\n helpTextComputed(): string {\r\n if (this.helpText) {\r\n return this.helpText;\r\n }\r\n return 'Choose ' + (this.hasMultiple ? 'files' : 'file') + ' or drag & drop here';\r\n },\r\n isDeletable(): boolean {\r\n if (typeof this.deletable === 'string') {\r\n return this.deletable !== 'false';\r\n }\r\n return !!this.deletable;\r\n },\r\n isSortable(): boolean {\r\n return !!this.sortable;\r\n },\r\n hasMultiple(): boolean {\r\n if (typeof this.multiple === 'string') {\r\n return this.multiple !== 'false';\r\n }\r\n if (this.multiple === undefined) {\r\n return Array.isArray(this.value);\r\n }\r\n return !!this.multiple;\r\n },\r\n shouldRead(): boolean {\r\n if (typeof this.read === 'string') {\r\n return this.read === 'true';\r\n }\r\n return !!this.read;\r\n },\r\n },\r\n methods: {\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement): Promise {\r\n return new Promise((resolve, reject) => {\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n resolve();\r\n }, reject);\r\n });\r\n },\r\n initVideo(fileData: FileData): void {\r\n if (!fileData.isPlayableVideo()) {\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n const video = document.createElement('video');\r\n video.src = createObjectURL(fileData.file);\r\n this.createThumbnail(fileData, video).then(() => {\r\n revokeObjectURL(video.src);\r\n });\r\n video.load();\r\n },\r\n getFileDataInstance(fileDataOrRaw: FileData | RawFileData): FileData {\r\n let i;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n if (i === -1) {\r\n return fileDataOrRaw as FileData;\r\n }\r\n return this.filesData[i];\r\n },\r\n upload(\r\n url: string,\r\n headers: object,\r\n filesDataOrRaw: FileData[] | RawFileData[],\r\n createFormData?: (fileData: FileData) => FormData,\r\n ): Promise {\r\n const validFilesData = [];\r\n for (const fileDataOrRaw of filesDataOrRaw) {\r\n const fileData = this.getFileDataInstance(fileDataOrRaw);\r\n if (!fileData.error) {\r\n validFilesData.push(fileData);\r\n }\r\n }\r\n if (this.resumable) {\r\n return uploader.tusUpload(plugins.tus, url, headers, validFilesData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n }\r\n return uploader.upload(url, headers, validFilesData, createFormData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n },\r\n deleteUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n if (this.filesData.length < 1) {\r\n this.overallProgress = 0;\r\n }\r\n fileData = this.getFileDataInstance(fileData);\r\n if (this.resumable) {\r\n return uploader.tusDeleteUpload(plugins.tus, url, headers, fileData);\r\n }\r\n return uploader.deleteUpload(url, headers, fileData, uploadData);\r\n },\r\n updateUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n fileData = this.getFileDataInstance(fileData);\r\n return uploader.updateUpload(url, headers, fileData, uploadData);\r\n },\r\n autoUpload(filesData: FileData[] | RawFileData[]): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.upload(this.uploadUrl, this.uploadHeaders, filesData);\r\n },\r\n autoDeleteUpload(fileData: FileData | RawFileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.deleteUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n autoUpdateUpload(fileData: FileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.updateUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n equalFiles(file1: File, file2: File): boolean {\r\n return (\r\n true &&\r\n file1.name === file2.name &&\r\n file1.size === file2.size &&\r\n file1.type === file2.type &&\r\n // file1.lastModifiedDate.getTime() === file2.lastModifiedDate.getTime() &&\r\n file1.lastModified === file2.lastModified\r\n );\r\n },\r\n isFileAddedAlready(file: File): boolean {\r\n for (const fileData of this.filesData) {\r\n if (this.equalFiles(file, fileData.file as File)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n handleFiles(files: File[] | FileList): void {\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n if (this.hasMultiple && !this.canAddMore) {\r\n return;\r\n }\r\n const filesData: FileData[] = [];\r\n const filesFiltered: File[] = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < files.length; i++) {\r\n if (this.hasMultiple && this.isFileAddedAlready(files[i])) {\r\n continue;\r\n }\r\n filesFiltered.push(files[i]);\r\n }\r\n files = filesFiltered;\r\n if (this.maxFiles && files.length > this.maxFiles - this.filesData.length) {\r\n files = files.slice(0, this.maxFiles - this.filesData.length);\r\n }\r\n for (const file of files) {\r\n filesData.push(\r\n new FileData(\r\n {\r\n file,\r\n } as RawFileData,\r\n {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n },\r\n ),\r\n );\r\n }\r\n\r\n for (const fileData of filesData) {\r\n if (fileData.file.size <= 20 * 1024 * 1024) {\r\n // <= 20MB\r\n this.initVideo(fileData);\r\n }\r\n }\r\n if (this.hasMultiple) {\r\n // splice: for list transitions to work properly\r\n this.filesData.splice(this.filesData.length, 0, ...filesData);\r\n } else {\r\n this.filesData = filesData;\r\n }\r\n\r\n FileData.readFiles(filesData).then((filesDataNew: FileData[]) => {\r\n const allFilesDataRaw = FileData.toRawArray(this.filesData);\r\n this.filesDataRaw = allFilesDataRaw;\r\n this.$emit('input', Array.isArray(this.value) ? allFilesDataRaw : allFilesDataRaw[0]);\r\n this.$emit('select', FileData.toRawArray(filesDataNew));\r\n });\r\n this.autoUpload(filesData);\r\n },\r\n filesChanged(event: InputEvent): void {\r\n const files: FileList = (event.target as HTMLInputElement).files as FileList;\r\n this.$emit('change', event);\r\n if (!files[0]) {\r\n return;\r\n }\r\n this.handleFiles(files);\r\n if (this.$refs.fileInput) {\r\n (this.$refs.fileInput as any).value = null; // do not use ''\r\n // because chrome won't fire change event for same file\r\n }\r\n },\r\n drop(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter = 0;\r\n this.isDragging = false;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n utils.getFilesFromDroppedItems(event.dataTransfer).then((files) => {\r\n this.$emit('drop', event);\r\n if (!files || !files[0]) {\r\n return;\r\n }\r\n if (!this.hasMultiple) {\r\n files = [files[0]];\r\n }\r\n this.handleFiles(files);\r\n });\r\n },\r\n dragEnter(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n dragCounter++;\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragOver(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragLeave(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter--;\r\n if (dragCounter === 0) {\r\n this.isDragging = false;\r\n }\r\n },\r\n removeFileData(fileDataOrRaw: FileData | RawFileData): void {\r\n let i: number;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n const fileData: FileData = this.filesData.splice(i, 1)[0];\r\n const fileDataRaw = this.filesDataRaw.splice(i, 1)[0];\r\n this.$emit('input', this.filesDataRaw);\r\n // this.$emit('delete', fileData);\r\n this.$emit('delete', fileDataRaw);\r\n this.autoDeleteUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n this.filesData.splice(i, 1, fileData);\r\n this.filesDataRaw.splice(i, 1, fileDataRaw);\r\n },\r\n );\r\n },\r\n filenameChanged(fileData: FileData): void {\r\n this.$emit('rename', FileData.toRawArray([fileData])[0]);\r\n this.autoUpdateUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n fileData.customName = fileData.oldCustomName;\r\n },\r\n );\r\n },\r\n checkValue(): void {\r\n let filesDataRaw: RawFileData[] = this.value || [];\r\n filesDataRaw = Array.isArray(filesDataRaw) ? filesDataRaw : [filesDataRaw];\r\n\r\n const fdPromises: Array> = [];\r\n const filesDataRawNew: RawFileData[] = [];\r\n\r\n for (let i = 0; i < filesDataRaw.length; i++) {\r\n const existingIndex = this.filesDataRaw.indexOf(filesDataRaw[i]);\r\n if (existingIndex !== -1) {\r\n fdPromises.push(Promise.resolve(this.filesData[existingIndex]));\r\n filesDataRawNew[i] = this.filesDataRaw[existingIndex];\r\n } else {\r\n fdPromises.push(\r\n FileData.fromRaw(filesDataRaw[i], {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n }),\r\n );\r\n filesDataRawNew.push(filesDataRaw[i]);\r\n }\r\n }\r\n\r\n this.filesDataRaw = filesDataRawNew;\r\n Promise.all(fdPromises).then((filesData) => {\r\n this.filesData = filesData;\r\n });\r\n },\r\n sortStart(): void {\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.isSorting = true;\r\n this.isSortingActive = true;\r\n },\r\n sortEnd(sortData: { event: Event; newIndex: number; oldIndex: number; collection: any }): void {\r\n this.isSortingActive = false;\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.sortTimeout = setTimeout(() => {\r\n this.isSorting = false;\r\n }, this.transitionDuration + 100);\r\n if (sortData.oldIndex !== sortData.newIndex) {\r\n this.filesDataRaw = utils.arrayMove(this.filesDataRaw, sortData.oldIndex, sortData.newIndex);\r\n this.$nextTick(() => {\r\n this.$emit('input', this.filesDataRaw);\r\n this.$emit('sort', {\r\n oldIndex: sortData.oldIndex,\r\n newIndex: sortData.newIndex,\r\n });\r\n });\r\n }\r\n },\r\n },\r\n created() {\r\n this.uniqueId =\r\n new Date().getTime().toString(36) +\r\n Math.random()\r\n .toString(36)\r\n .slice(2);\r\n this.checkValue();\r\n },\r\n watch: {\r\n value() {\r\n this.checkValue();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-agent-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-agent.vue?vue&type=template&id=1410c648&\"\nimport script from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import VueFileIcon from './components/vue-file-icon.vue';\r\nimport VueFilePreview from './components/vue-file-preview.vue';\r\nimport VueFileList from './components/vue-file-list.vue';\r\nimport VueFileListItem from './components/vue-file-list-item.vue';\r\nimport VueFileAgent from './components/vue-file-agent.vue';\r\nimport VueFileAgentMixin from './components/vue-file-agent-mixin';\r\nimport VueFilePreviewMixin from './components/vue-file-preview-mixin';\r\nimport utils from './lib/utils';\r\nimport plugins from './lib/plugins';\r\nimport FileData from './lib/file-data';\r\n\r\nimport _Vue, { PluginFunction } from 'vue';\r\n\r\nexport default class VueFileAgentPlugin {\r\n public static VueFileIcon = VueFileIcon;\r\n public static VueFilePreview = VueFilePreview;\r\n public static VueFileAgent = VueFileAgent;\r\n public static component = VueFileAgent;\r\n public static mixin = VueFileAgentMixin;\r\n public static plugins = plugins;\r\n\r\n public static VueFileAgentMixin = VueFileAgentMixin;\r\n public static VueFilePreviewMixin = VueFilePreviewMixin;\r\n\r\n public static install(Vue: typeof _Vue, options: any) {\r\n Vue.component('VueFileIcon', VueFileIcon);\r\n Vue.component('VueFilePreview', VueFilePreview);\r\n Vue.component('VueFileList', VueFileList);\r\n Vue.component('VueFileListItem', VueFileListItem);\r\n Vue.component('VueFileAgent', VueFileAgent);\r\n Vue.prototype.$vueFileAgent = {\r\n mixin: VueFileAgentMixin,\r\n };\r\n }\r\n}\r\n\r\n// auto install\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n VueFileAgentPlugin.install(window.Vue, {});\r\n (window as any).VueFileAgent = VueFileAgentPlugin;\r\n}\r\n\r\nexport const mixin = VueFileAgentMixin;\r\n\r\nexport { VueFileAgentMixin, VueFilePreviewMixin };\r\n\r\nexport { utils, FileData, plugins };\r\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-file-agent.umd.js b/dist/vue-file-agent.umd.js index 843e8cb..dc5407d 100644 --- a/dist/vue-file-agent.umd.js +++ b/dist/vue-file-agent.umd.js @@ -572,8 +572,8 @@ var component = normalizeComponent( ) /* harmony default export */ var vue_file_icon = (component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"032644aa-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/vue-file-preview.vue?vue&type=template&id=6265c58c& -var vue_file_previewvue_type_template_id_6265c58c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[ +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"032644aa-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/vue-file-preview.vue?vue&type=template&id=1f00ad11& +var vue_file_previewvue_type_template_id_1f00ad11_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[ 'file-preview-wrapper-' + _vm.fileData.ext(), _vm.fileData.isImage() ? 'file-preview-wrapper-image' : 'file-preview-wrapper-other', 'file-category-' + _vm.fileData.icon().category, @@ -587,15 +587,15 @@ var vue_file_previewvue_type_template_id_6265c58c_render = function () {var _vm= 'dark-content': _vm.fileData.isImage() && _vm.fileData.isDarkColor(), },style:({ 'background-color': _vm.fileData.color(), - })},[_c('span',{staticClass:"file-preview-overlay"}),_c('span',{staticClass:"thumbnail",staticStyle:{"position":"absolute","top":"0","right":"0","bottom":"0","left":"0","overflow":"hidden"}},[(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('img',{staticClass:"file-preview-img",attrs:{"src":_vm.fileData.src()}}):_vm._e()]),_c('span',{staticClass:"file-ext"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:"file-size"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:"file-delete",on:{"click":function($event){return _vm.removeFileData(_vm.fileData)},"touchstart":function($event){return _vm.filenameClearPressed()},"mousedown":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{"name":"system-close"}})],1):_vm._e(),_c('span',{staticClass:"file-name",on:{"click":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:"input",staticClass:"file-name-input",attrs:{"disabled":_vm.disabled === true,"type":"text"},domProps:{"value":_vm.fileData.name(true)},on:{"focus":function($event){return _vm.editInputFocused()},"blur":function($event){return _vm.editInputBlured()},"change":function($event){return _vm.filenameChanged()},"input":function($event){return _vm.filenameChanged()},"keyup":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:"file-name-edit-icon"},[_c('VueFileIcon',{attrs:{"name":"system-file-name-edit"}})],1):_vm._e(),_c('span',{staticClass:"file-name-text"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:"image-dimension"},[_c('span',{staticClass:"image-dimension-width"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:"image-dimension-height"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:"file-progress",class:{ + })},[_c('span',{staticClass:"file-preview-overlay"}),(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('span',{staticClass:"thumbnail",staticStyle:{"position":"absolute","top":"0","right":"0","bottom":"0","left":"0","overflow":"hidden"}},[(_vm.hasLinkableUrl)?_c('a',{attrs:{"href":_vm.fileData.url,"target":"_blank","title":_vm.fileData.name()}},[_c('img',{staticClass:"file-preview-img",attrs:{"src":_vm.fileData.src()}})]):_c('img',{staticClass:"file-preview-img",attrs:{"src":_vm.fileData.src()}})]):_vm._e(),_c('span',{staticClass:"file-ext"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:"file-size"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:"file-delete",on:{"click":function($event){return _vm.removeFileData(_vm.fileData)},"touchstart":function($event){return _vm.filenameClearPressed()},"mousedown":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{"name":"system-close"}})],1):_vm._e(),_c('span',{staticClass:"file-name",on:{"click":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:"input",staticClass:"file-name-input",attrs:{"disabled":_vm.disabled === true,"type":"text"},domProps:{"value":_vm.fileData.name(true)},on:{"focus":function($event){return _vm.editInputFocused()},"blur":function($event){return _vm.editInputBlured()},"change":function($event){return _vm.filenameChanged()},"input":function($event){return _vm.filenameChanged()},"keyup":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:"file-name-edit-icon"},[_c('VueFileIcon',{attrs:{"name":"system-file-name-edit"}})],1):_vm._e(),_c('span',{staticClass:"file-name-text"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:"image-dimension"},[_c('span',{staticClass:"image-dimension-width"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:"image-dimension-height"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:"file-progress",class:{ 'file-progress-full': _vm.fileData.progress() >= 99.9999, 'file-progress-done': _vm.fileData.progress() >= 100, 'has-file-progress': _vm.fileData.progress() > 0, }},[_c('span',{staticClass:"file-progress-bar",style:({ width: _vm.fileData.progress() + '%' })})]):_vm._e(),_c('span',{staticClass:"file-icon"},[(_vm.hasLinkableUrl)?_c('a',{attrs:{"href":_vm.fileData.url,"target":"_blank","title":_vm.fileData.name()}},[_c('VueFileIcon',{attrs:{"ext":_vm.fileData.ext()}})],1):_c('VueFileIcon',{attrs:{"ext":_vm.fileData.ext()}})],1)])])} -var vue_file_previewvue_type_template_id_6265c58c_staticRenderFns = [] +var vue_file_previewvue_type_template_id_1f00ad11_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/vue-file-preview.vue?vue&type=template&id=6265c58c& +// CONCATENATED MODULE: ./src/components/vue-file-preview.vue?vue&type=template&id=1f00ad11& // CONCATENATED MODULE: ./src/lib/drop-handler.ts function getFilesFromDroppedItems(dataTransfer) { @@ -1404,10 +1404,7 @@ var file_data_FileData = /** @class */ (function () { if (!this.linkable) { return false; } - return (!!this.fileData.url && - !this.fileData.isImage() && - !this.fileData.isPlayableVideo() && - !this.fileData.isPlayableAudio()); + return !!this.fileData.url && !this.fileData.isPlayableVideo() && !this.fileData.isPlayableAudio(); }, }, methods: { @@ -1567,8 +1564,8 @@ var file_data_FileData = /** @class */ (function () { var vue_file_preview_component = normalizeComponent( components_vue_file_previewvue_type_script_lang_ts_, - vue_file_previewvue_type_template_id_6265c58c_render, - vue_file_previewvue_type_template_id_6265c58c_staticRenderFns, + vue_file_previewvue_type_template_id_1f00ad11_render, + vue_file_previewvue_type_template_id_1f00ad11_staticRenderFns, false, null, null, diff --git a/dist/vue-file-agent.umd.js.map b/dist/vue-file-agent.umd.js.map index 758ab09..79b860c 100644 --- a/dist/vue-file-agent.umd.js.map +++ b/dist/vue-file-agent.umd.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://vue-file-agent/webpack/universalModuleDefinition","webpack://vue-file-agent/webpack/bootstrap","webpack://vue-file-agent/./src/components/vue-file-agent.vue?b54a","webpack://vue-file-agent/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue-file-agent/./src/components/vue-file-agent.vue?96c5","webpack://vue-file-agent/./node_modules/current-script-polyfill/currentScript.js","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue?1b6f","webpack://vue-file-agent/./src/lib/extensions.ts","webpack://vue-file-agent/./src/lib/icons.ts","webpack://vue-file-agent/./src/components/vue-file-icon.vue?22fe","webpack://vue-file-agent/./src/components/vue-file-icon.vue?ff5c","webpack://vue-file-agent/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue","webpack://vue-file-agent/./src/components/vue-file-preview.vue?ce43","webpack://vue-file-agent/./src/lib/drop-handler.ts","webpack://vue-file-agent/./src/lib/utils.ts","webpack://vue-file-agent/./src/lib/file-data.ts","webpack://vue-file-agent/./src/components/vue-file-preview-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-preview.vue?2ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue?6ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue","webpack://vue-file-agent/./src/components/vue-file-list.vue?20f8","webpack://vue-file-agent/./src/components/vue-file-list.vue?5199","webpack://vue-file-agent/./src/components/vue-file-list.vue?8914","webpack://vue-file-agent/./src/components/vue-file-list.vue","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?85d9","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?cc4e","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?09a3","webpack://vue-file-agent/./src/components/vue-file-list-item.vue","webpack://vue-file-agent/./src/components/vue-file-agent.vue?0925","webpack://vue-file-agent/./node_modules/tslib/tslib.es6.js","webpack://vue-file-agent/./src/lib/ajax-request.ts","webpack://vue-file-agent/./src/lib/upload-helper.ts","webpack://vue-file-agent/./src/lib/plugins.ts","webpack://vue-file-agent/./src/components/vue-file-agent-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-agent.vue?36b6","webpack://vue-file-agent/./src/components/vue-file-agent.vue?54cf","webpack://vue-file-agent/./src/components/vue-file-agent.vue","webpack://vue-file-agent/./src/index.ts","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":[],"mappings":"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","file":"vue-file-agent.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-file-agent\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-file-agent\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","// extracted by mini-css-extract-plugin","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":_vm.viewBoxComputed}},[_vm._l((_vm.icon.paths),function(d,index){return [(d)?_c('path',{key:index,attrs:{\"d\":d}}):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n 'audio': [\r\n 'aif',\r\n 'cda',\r\n 'mid',\r\n 'midi',\r\n // 'mp3',\r\n 'mpa',\r\n // 'ogg',\r\n // 'wav',\r\n 'wma',\r\n 'wpl',\r\n ],\r\n 'audio-playable': ['mp3', 'ogg', 'wav'],\r\n 'archive': ['7z', 'arj', 'deb', 'pkg', 'rar', 'rpm', 'tar.gz', 'z', 'zip'],\r\n 'disc': [\r\n // 'bin',\r\n 'dmg',\r\n 'iso',\r\n 'toast',\r\n 'vcd',\r\n ],\r\n 'database': [\r\n 'csv',\r\n 'dat',\r\n 'db',\r\n 'dbf',\r\n 'log',\r\n 'mdb',\r\n 'sav',\r\n 'sql',\r\n 'tar',\r\n // 'xml'\r\n ],\r\n 'executable': ['apk', 'bat', 'bin', 'cgi', 'pl', 'com', 'exe', 'gadget', 'jar', 'py', 'wsf', 'ipa'],\r\n 'font': ['fnt', 'fon', 'otf', 'ttf'],\r\n 'image': ['ai', 'bmp', 'gif', 'ico', 'jpeg', 'jpg', 'png', 'ps', 'psd', 'svg', 'tif', 'tiff'],\r\n 'markup': [\r\n 'asp',\r\n 'aspx',\r\n 'cer',\r\n 'cfm',\r\n 'cgi',\r\n 'pl',\r\n 'css',\r\n 'scss',\r\n 'htm',\r\n 'html',\r\n 'jsp',\r\n // 'vue',\r\n 'part',\r\n 'php',\r\n 'py',\r\n 'rss',\r\n 'xml',\r\n 'xhtml',\r\n ],\r\n 'presentation': ['key', 'odp', 'pps', 'ppt', 'pptx'],\r\n 'script': ['c', 'class', 'cpp', 'cs', 'h', 'java', 'js', 'json', 'sh', 'swift', 'vb'],\r\n 'sheet': ['ods', 'xlr', 'xls', 'xlsx'],\r\n 'system': [\r\n 'bak',\r\n 'cab',\r\n 'cfg',\r\n 'cpl',\r\n 'cur',\r\n 'dll',\r\n 'dmp',\r\n 'drv',\r\n 'icns',\r\n // 'ico',\r\n 'ini',\r\n 'lnk',\r\n 'msi',\r\n 'sys',\r\n 'tmp',\r\n ],\r\n 'video': [\r\n '3g2',\r\n '3gp',\r\n 'avi',\r\n 'flv',\r\n 'h264',\r\n // 'm4v',\r\n 'mkv',\r\n // 'mov',\r\n // 'mp4',\r\n 'mpg',\r\n 'mpeg',\r\n 'rm',\r\n 'swf',\r\n 'vob',\r\n // 'webm',\r\n 'wmv',\r\n ],\r\n 'video-playable': ['mp4', 'webm', 'mov'],\r\n 'vue': ['vue'],\r\n 'doc': [\r\n 'doc',\r\n 'docx',\r\n 'odt',\r\n 'rtf',\r\n 'tex',\r\n // 'txt',\r\n 'wks',\r\n 'wps',\r\n 'wpd',\r\n ],\r\n 'text': ['txt'],\r\n 'ebook': ['epub'],\r\n 'pdf': ['pdf'],\r\n 'folder': ['folder'],\r\n 'play': ['play'],\r\n};\r\n","import extensions from '../lib/extensions';\r\n\r\nexport class SvgIcon {\r\n public category: string = '';\r\n constructor(public paths: string[], public color?: string, public viewBox?: string) {}\r\n}\r\n\r\nconst playIconPaths = ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'];\r\n\r\nconst icons = {\r\n 'folder': new SvgIcon(\r\n [\r\n 'M96.5 93.7h-93c-2 0-3.5-1.5-3.5-3.5V35.4h100v54.8c0 2-1.5 3.5-3.5 3.5z',\r\n 'M44.9 20V9.7c0-2-1.5-3.5-3.5-3.5h-38C1.5 6.3 0 7.8 0 9.7v25.7h100V23.5c0-2-1.5-3.5-3.5-3.5H44.9z',\r\n ],\r\n '#efce4a',\r\n ),\r\n 'audio': new SvgIcon(\r\n [\r\n 'M32.5 37.5h-9v25h9L53.6 77V23L32.5 37.5M71.9 50c0 6.8-3.7 12.7-9.1 15.8l2.8 4.9c7.1-4.1 11.9-11.8 11.9-20.7 0-8.8-4.8-16.6-11.9-20.7l-2.8 4.9c5.4 3.1 9.1 9 9.1 15.8z',\r\n // tslint:disable-next-line\r\n 'M62.1 50c0 3.2-1.7 5.9-4.3 7.4l2.7 4.7c4.2-2.4 7-6.9 7-12.1 0-5.2-2.8-9.7-7-12.1l-2.7 4.7c2.6 1.5 4.3 4.2 4.3 7.4z',\r\n ],\r\n '#039',\r\n ),\r\n 'video': new SvgIcon(\r\n [\r\n 'M21 26.4v47.1h58V26.4H21zm10.9 43.5h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2zm10.9 25.4V37.3L60.9 50 42.8 62.7zm32.6 7.2h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2z',\r\n ],\r\n '#ef6f2e',\r\n ),\r\n 'audio-playable': new SvgIcon(playIconPaths, '#039', '0 0 48 48'),\r\n 'video-playable': new SvgIcon(playIconPaths, '#ef6f2e', '0 0 48 48'),\r\n 'archive': new SvgIcon(\r\n [\r\n 'M72.4 38.5h-7.9v-7.9l7.9 7.9zm-21.3-7.9v28.8h21.4v-19h-9.9v-9.9H51.1zm3.3-7.6H30.8v5.6h9.3l-5.9 4.5v4.8l8.6-6.6v-2.7h30.1v-2.3L54.4 23zM42.9 35.1l-8.6 6.6v4.8l8.6-6.6v-4.8zm-8.7 20l8.6-6.6v-4.8l-8.6 6.6v4.8zm8.7 2v-4.8l-8.6 6.6v2.6h-3.4v5.6h5.3v3.8H33c-.6-1-1.6-1.6-2.8-1.6-1.8 0-3.2 1.4-3.2 3.2s1.4 3.2 3.2 3.2c1.2 0 2.2-.6 2.8-1.6h3.1V77h4.8v-2.9H44c.6 1 1.6 1.6 2.8 1.6 1.8 0 3.2-1.4 3.2-3.2s-1.4-3.2-3.2-3.2c-1.2 0-2.2.6-2.8 1.6h-3.1v-3.8h13.5l18.5-3.3v-2.3H37.1l5.8-4.4z',\r\n ],\r\n '#ba8322',\r\n ),\r\n 'system': new SvgIcon(\r\n [\r\n 'M73.6 54.8c-2.1-.7-3.4-2.6-3.4-4.8s1.4-4.1 3.4-4.8c.6-.2 1-.9.8-1.5-.6-2.3-1.5-4.4-2.7-6.5-.3-.6-1.1-.8-1.7-.5-.7.4-1.6.6-2.4.6-2.8 0-5-2.3-5-5 0-.8.2-1.7.6-2.4.3-.6.1-1.3-.5-1.7-2-1.2-4.2-2.1-6.5-2.7-.6-.2-1.3.2-1.5.8-.7 2.1-2.6 3.4-4.8 3.4-2.2 0-4.1-1.4-4.8-3.4-.2-.6-.9-1-1.5-.8-2.3.6-4.4 1.5-6.5 2.7-.6.3-.8 1.1-.5 1.7.4.7.6 1.6.6 2.4 0 2.8-2.3 5-5 5-.8 0-1.7-.2-2.4-.6-.6-.3-1.3-.1-1.7.5-1.2 2-2.1 4.2-2.7 6.5-.2.6.2 1.3.8 1.5 2.1.7 3.4 2.6 3.4 4.8s-1.4 4.1-3.4 4.8c-.6.2-1 .9-.8 1.5.6 2.3 1.5 4.4 2.7 6.5.3.6 1.1.8 1.7.5.7-.4 1.6-.6 2.4-.6 2.8 0 5 2.3 5 5 0 .8-.2 1.7-.6 2.4-.3.6-.1 1.3.5 1.7 2 1.2 4.2 2.1 6.5 2.7h.3c.5 0 1-.3 1.2-.9.7-2.1 2.6-3.4 4.8-3.4 2.2 0 4.1 1.4 4.8 3.4.2.6.9 1 1.5.8 2.3-.6 4.4-1.5 6.5-2.7.6-.3.8-1.1.5-1.7-.4-.7-.6-1.6-.6-2.4 0-2.8 2.3-5 5-5 .8 0 1.7.2 2.4.6.6.3 1.3.1 1.7-.5 1.2-2 2.1-4.2 2.7-6.5.2-.5-.1-1.2-.8-1.4zM50 57.6c-4.2 0-7.6-3.4-7.6-7.6 0-4.2 3.4-7.6 7.6-7.6 4.2 0 7.6 3.4 7.6 7.6 0 4.2-3.4 7.6-7.6 7.6z',\r\n ],\r\n '#999',\r\n ),\r\n 'image': new SvgIcon(\r\n [\r\n 'm 40.400002,35 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z',\r\n 'M78.9 47.3l-9.7-9.6L50 57l-9.6-9.7-19.3 19.3V73h57.8z',\r\n ],\r\n '#5b2d8d',\r\n ),\r\n 'doc': new SvgIcon(\r\n [\r\n 'M29.6 53l-5.9-18.2c-.2-.7-.4-1-.5-1-.1-.1-.2-.1-.4-.2l-2.1-.6-.1-2.6h11l.2 2.6-2.1.6v.2c0 .2.1.7.4 1.2l2.2 7 3.9-11.7 3-.1 3.6 11.7 2.5-7c.1-.5.4-1 .4-1.2v-.1l-1.8-.5-.1-2.7h8.6l.2 2.6-2.3.7c-.1 0-.2.1-.4.1 0 .1-.2.2-.4.9L43 52.8l-3.1.2-3.3-11.2-3.9 11-3.1.2z',\r\n 'M57.8 30.2h21.7v3.4H57.8zm0 9.2h21.7v3.4H57.8zm0 9.4h21.7v3.4H57.8zm-36.2 9.6h57.9v3.4H21.6zm0 9.4h57.9v3.4H21.6z',\r\n ],\r\n '#2372ba',\r\n ),\r\n 'executable': new SvgIcon(\r\n ['M33.1 29.8l-6.6 6.6L37.2 47 26.5 57.6l6.6 6.6L50.2 47zm18.8 31.1h22.6v9.2H51.9z'],\r\n '#333',\r\n ),\r\n 'ebook': new SvgIcon(\r\n [\r\n 'M75.8 45.7c-.3-.6-.7-1.2-1.3-1.6-.1.5-.3 1-.6 1.5L58.3 69.8c-.6.9-1.9 1.1-2.9.8l-25-7c-1.5-.4-3.3-1.3-3.4-3 0-.6 0-.9.4-1.1.3-.3.8-.2 1.1-.1L52 66c3.4 1 4.4.2 6.9-3.5l14.4-22.2c.7-1.2.9-2.5.5-3.6s-1.4-2-2.7-2.4l-20.6-5.7c-.5-.1-1-.1-1.5-.1v-.1c-3.2-1.9-4.4 1.7-6 3-.6.5-1.4.8-1.7 1.3-.2.5-.1 1-.3 1.4-.6 1.4-2.4 3.6-3.3 4.3-.6.4-1.2.5-1.6 1.1-.3.4-.2 1.1-.4 1.6-.5 1.2-2.1 3.3-3.2 4.4-.4.4-1 .6-1.3 1.1-.3.4-.2 1.1-.4 1.6-.7 1.3-2.2 3.2-3.4 4.3-.6.6-1.3.9-1.6 1.5-.1.3 0 .7-.2 1.1-.2.6-.5 1.1-.7 1.7-.7.9-1 2.1-.9 3.4.2 3.1 2.5 6 5.3 6.8l25 7c2.3.6 5.2-.5 6.6-2.5l14.4-22.2c.7-1.1.9-2.4.5-3.6zm-28.9-7.9l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1l-1.1 1.6c-.3.4-.9.7-1.4.5l-16.5-4.6c-.5-.2-.7-.6-.4-1zM42.7 44l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1L60.9 49c-.3.4-.9.7-1.4.5L43.1 45c-.5-.1-.7-.6-.4-1z',\r\n ],\r\n '#963',\r\n ),\r\n 'markup': new SvgIcon(\r\n [\r\n 'M21.5 48.3l16.2-14v7.1l-11 9.2v.1l11 9.2V67L21.5 53v-4.7zm30.6-17.6h4.3L48 71.3h-4.2l8.3-40.6zM62.3 60l11-9.2v-.1l-11-9.2v-7.1l16.2 14v4.9l-16.2 14V60z',\r\n ] /* no color? */,\r\n ),\r\n 'script': new SvgIcon(\r\n [\r\n 'M42.3 44.2h15.4V48H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zM69.2 25H38.5c-4.2 0-7.7 3.4-7.7 7.7v34.6h-7.7c0 4.2 3.4 7.7 7.7 7.7h30.8c4.2 0 7.7-3.4 7.7-7.7V36.5H77v-3.8c-.1-4.3-3.5-7.7-7.8-7.7zm-3.8 41.6c0 2.5-2 4.5-4.5 4.5H32.7c1.9-1.3 1.9-3.8 1.9-3.8V32.7c0-2.1 1.7-3.8 3.8-3.8s3.8 1.7 3.8 3.8v3.8h23.1v30.1zM46.2 32.7v-3.8h23.1c3.5 0 3.8 2.2 3.8 3.8H46.2z',\r\n ] /* no color? */,\r\n ),\r\n 'disc': new SvgIcon(\r\n [\r\n 'M46.9 50c0 .8.3 1.6.9 2.2 1.2 1.2 3.2 1.2 4.4 0 .6-.6.9-1.4.9-2.2 0-.8-.3-1.6-.9-2.2-.6-.6-1.4-.9-2.2-.9-.8 0-1.6.3-2.2.9-.6.6-.9 1.4-.9 2.2z',\r\n 'M32.3 32.3c-9.8 9.8-9.8 25.6 0 35.4 9.8 9.8 25.6 9.8 35.4 0 9.8-9.8 9.8-25.6 0-35.4-9.8-9.7-25.6-9.7-35.4 0zm37 28.2c-.9 1.7-2.1 3.2-3.5 4.6-1.4 1.4-3 2.6-4.6 3.5l-5.8-11.1s.5-.2 1.6-1.2c1.1-1.1 1.3-1.6 1.3-1.6l11 5.8zM54.4 45.6c1.2 1.2 1.8 2.8 1.8 4.4 0 1.6-.6 3.2-1.8 4.4-2.4 2.4-6.4 2.4-8.8 0-1.2-1.2-1.8-2.8-1.8-4.4 0-1.6.6-3.2 1.8-4.4a6.1 6.1 0 0 1 8.8 0zm-8.5-4.4s-1.2.7-2.2 1.8c-.9 1-1 1.2-1.3 1.7l-11-5.9c.9-1.7 2.1-3.2 3.5-4.6 1.4-1.4 3-2.6 4.6-3.5l6.4 10.5z',\r\n ],\r\n '#c96',\r\n ),\r\n 'text': new SvgIcon(\r\n ['M69.4 28.6v5.5H21.5v-5.5M30.6 41h47.9v5.6H30.6zm-9.1 12.4h47.9V59H21.5zm9.1 12.5h47.9v5.6H30.6z'],\r\n '#6b533b',\r\n ),\r\n 'database': new SvgIcon(\r\n [\r\n 'M48.1 75.5c-6.5-.3-12.3-2.3-15.4-5.4-.9-.9-1.8-2.1-2.2-2.9l-.3-.5v-6.1c0-6 0-6.1.1-5.6.3 1.3 1.1 2.7 2.3 3.7.8.7 2.5 1.8 3.8 2.5 2.4 1.2 5.2 2 8.4 2.5 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.3-2.5 1.4-.7 3-1.7 3.8-2.5 1.1-1 2-2.5 2.3-3.8.1-.5.1-.4.1 5.5v6l-.3.6c-1 1.9-2.6 3.6-4.7 4.8-4.3 2.7-10.5 4-16.8 3.7z',\r\n 'M48.1 60.4c-5.7-.3-11-1.9-14.3-4.4-.7-.6-1.8-1.6-2.3-2.2-.4-.6-.8-1.2-1.1-1.8l-.3-.5v-6c0-5.9 0-6 .1-5.5.2.9.7 2 1.5 2.9.4.5 1.1 1.2 1.5 1.4.1.1.5.3.7.5 2.7 1.9 6.5 3.3 10.8 3.9 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.4-2.5 1.4-.7 3-1.8 3.9-2.5 1.1-1 2-2.4 2.2-3.7.1-.5.1-.4.1 5.5v5.9l-.4.8c-.7 1.2-1.1 1.8-1.9 2.7-.8.8-1.6 1.5-2.7 2.1-4.3 2.4-10.5 3.7-16.8 3.4z',\r\n 'M47.7 45.4c-3.8-.3-6.8-.9-9.6-2-3.4-1.3-5.8-3.1-7.1-5.2-.3-.4-.5-1-.7-1.6-.2-.6-.3-2-.1-2.7.9-4.3 6.6-7.9 14.5-9 1.9-.3 2.6-.3 5.3-.3s3.4 0 5.3.3c3.1.5 6 1.3 8.4 2.5 3.5 1.7 5.6 4 6.1 6.5.1.7.1 2.1-.1 2.7-.4 1.3-1 2.2-2 3.2-2.8 2.9-7.9 4.9-14.1 5.6-.9-.1-5.1 0-5.9 0z',\r\n ],\r\n '#a03537',\r\n ),\r\n 'pdf': new SvgIcon(\r\n [\r\n 'M46.2 21.8c-3.5 0-6.3 2.9-6.3 6.3 0 4.3 2.4 9.6 4.9 14.7-2 6.1-4.1 12.7-7 18.2-5.8 2.3-11 4-14 6.6l-.2.2c-1.1 1.2-1.8 2.7-1.8 4.4 0 3.5 2.9 6.3 6.3 6.3 1.7 0 3.4-.6 4.4-1.8 0 0 .2 0 .2-.2 2.3-2.7 5-7.8 7.5-12.2 5.5-2.1 11.5-4.4 16.9-5.8 4.1 3.4 10.1 5.5 15 5.5 3.5 0 6.3-2.9 6.3-6.3 0-3.5-2.9-6.3-6.3-6.3-4 0-9.6 1.4-13.9 2.9-3.5-3.4-6.7-7.5-9.2-11.9C50.6 37 52.6 32 52.6 28c-.2-3.5-2.9-6.2-6.4-6.2zm0 3.6c1.4 0 2.4 1.1 2.4 2.4 0 1.8-1.1 5.3-2.1 9-1.5-3.7-2.9-7.2-2.9-9 .1-1.2 1.2-2.4 2.6-2.4zm1.1 21.5c1.8 3.1 4.1 5.8 6.6 8.2-3.7 1.1-7.3 2.3-11 3.7 1.8-3.8 3.1-7.9 4.4-11.9zM72 55c1.4 0 2.4 1.1 2.4 2.4 0 1.4-1.1 2.4-2.4 2.4-2.9 0-6.9-1.2-10.1-3.1C65.6 56 69.7 55 72 55zM34.6 66.2c-1.8 3.2-3.5 6.1-4.7 7.6-.5.5-.9.6-1.7.6-1.4 0-2.4-1.1-2.4-2.4 0-.6.3-1.4.6-1.7 1.3-1.2 4.5-2.6 8.2-4.1z',\r\n ],\r\n '#c11e07',\r\n ),\r\n 'sheet': new SvgIcon(\r\n [\r\n 'M62.1 30.9h14.1v9.4H62.1zm0 14.5h14.1v9.4H62.1zm0 14.3h14.1v9.4H62.1zm-19.2 0H57v9.4H42.9zm-19 0H38v9.4H23.9zm19.2-14.2h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9zm19.2-14.6h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9z',\r\n ],\r\n '#30723f',\r\n ),\r\n 'presentation': new SvgIcon(\r\n [\r\n 'M 73.319289,26.32707 H 26.61477 c -2.335226,0 -4.258353,1.917194 -4.258353,4.245215 v 29.853446 c 0,2.328021 1.923127,4.245215 4.258353,4.245215 h 19.506006 l -1.923128,7.257947 h -2.197859 c -0.961564,0 -1.648395,0.684712 -1.648395,1.643309 0,0.958597 0.686831,1.643309 1.648395,1.643309 h 15.797117 c 0.961563,0 1.648394,-0.684712 1.648394,-1.643309 0,-0.958597 -0.686831,-1.643309 -1.648394,-1.643309 H 55.46168 l -1.923128,-7.39489 h 19.780737 c 2.335226,0 4.258353,-1.917193 4.258353,-4.245214 V 30.572285 c 0,-2.328021 -1.923127,-4.245215 -4.258353,-4.245215 z m 0.412099,34.372546 H 26.202672 V 30.2984 h 47.39135 z',\r\n 'm 38.428266,48.511741 h 3.846255 v 7.668775 h -3.846255 z m 6.456214,-2.464963 h 3.846254 V 56.180516 H 44.88448 Z m 6.318846,-2.601906 h 3.846255 v 12.735644 h -3.846255 z m 6.318847,-2.464964 h 3.846255 v 15.200608 h -3.846255 z m -0.274732,-5.614639 -6.730946,3.697445 -4.945184,-1.643308 -8.379341,4.519099 1.236296,1.369424 7.417777,-3.834387 4.945185,1.643309 7.692509,-4.245215 1.236296,1.369424 2.88469,-4.792984 -6.593578,0.410827 z',\r\n ],\r\n '#c24f32',\r\n ),\r\n 'font': new SvgIcon(\r\n [\r\n 'M40.4 56.2H28.7l-1.4 3.1c-.5 1-.7 1.9-.7 2.6 0 .9.4 1.6 1.1 2 .4.3 1.5.4 3.2.6v.9H20v-.9c1.2-.2 2.2-.6 2.9-1.4.8-.8 1.7-2.4 2.8-4.8l11.8-25.6h.5l12 26.2c1.1 2.5 2.1 4.1 2.8 4.7.6.5 1.3.8 2.3.9v.9h-16v-.9h.7c1.3 0 2.2-.2 2.7-.5.4-.3.5-.6.5-1.1 0-.3 0-.6-.1-.9 0-.1-.3-.7-.7-1.8l-1.8-4zm-.8-1.8l-4.9-11-5.1 11h10z',\r\n 'M80 44.2l-4.7 15.7-.5 1.9c0 .2-.1.4-.1.5 0 .2.1.4.2.5.1.2.3.2.4.2.3 0 .8-.3 1.4-.8.2-.2.8-.9 1.8-2.2l.9.4c-1.2 2-2.4 3.5-3.7 4.5-1.3.9-2.7 1.4-4.2 1.4-.9 0-1.6-.2-2.1-.7-.5-.5-.7-1-.7-1.8 0-.6.3-1.8.8-3.4l.6-1.9c-1.9 3.1-3.7 5.4-5.4 6.7-1 .8-2.1 1.1-3.2 1.1-1.5 0-2.6-.6-3.2-1.8-.7-1.2-1-2.5-1-4 0-2.2.7-4.8 2.1-7.6 1.4-2.9 3.2-5.2 5.5-6.9 1.9-1.4 3.6-2.2 5.3-2.2.9 0 1.6.3 2.2.8.6.5 1 1.4 1.2 2.8l.9-2.9 5.5-.3zm-7.8 4.5c0-1.3-.2-2.2-.6-2.8-.3-.4-.7-.6-1.2-.6s-1 .2-1.6.7c-1.1 1-2.3 3-3.5 5.9-1.3 3-1.9 5.6-1.9 7.7 0 .8.1 1.4.4 1.8.3.4.6.6.9.6.7 0 1.5-.4 2.2-1.2 1.1-1.2 2-2.6 2.9-4.3 1.6-2.9 2.4-5.5 2.4-7.8z',\r\n ],\r\n '#7291a1',\r\n ),\r\n 'vue': new SvgIcon(\r\n [\r\n 'M 66.425365,28.281905 H 56.751974 L 49.707631,39.427061 43.669624,28.281905 H 21.530262 L 49.707631,76.54823 77.885006,28.281905 Z m -37.888497,4.025337 h 6.767604 L 49.707631,57.239179 64.098226,32.307242 h 6.767597 L 49.707631,68.560446 Z',\r\n ],\r\n '#41B883',\r\n ),\r\n 'other': new SvgIcon(\r\n [\r\n 'M71 36.3L57.8 23.1c-.4-.4-.9-.6-1.4-.6h-26c-1.1 0-2 .9-2 2v51.1c0 1.1.9 2 2 2h39.3c1.1 0 2-.9 2-2V37.7c-.1-.5-.3-1-.7-1.4zm-3.9 2.3H55.5V27l11.6 11.6zm.1 34.5H32.8V26.9h18.5v13.3c0 1.4 1.2 2.6 2.6 2.6h13.3v30.3z',\r\n ] /* no color? */,\r\n ),\r\n // system icons\r\n 'system-close': new SvgIcon(\r\n ['M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n 'system-file-preview-new': new SvgIcon(\r\n [\r\n 'M745,353c-5.6,0-11.3,0.2-17.2,0.7C687.4,237.3,577.8,157,451,157c-162.1,0-294,131.9-294,294c0,2.1,0,4.1,0,6.2C72.6,479,10,555.8,10,647c0,108.1,87.9,196,196,196h245V618.3l-63.4,63.4c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4c-19.2-19.2-19.2-50.1,0-69.3l147-147c4.6-4.6,9.9-8.1,16-10.6c12-4.9,25.5-4.9,37.4,0c6,2.5,11.4,6.1,16,10.6l147,147c19.2,19.2,19.2,50.1,0,69.3c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4L549,618.3V843h196c135.1,0,245-109.9,245-245S880.1,353,745,353z',\r\n ],\r\n undefined,\r\n '0 0 1000 1000',\r\n ),\r\n // system icons\r\n 'system-sortable-handle': new SvgIcon(['M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'], undefined, '0 0 24 24'),\r\n 'system-file-av-play': new SvgIcon(\r\n ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'],\r\n undefined,\r\n '0 0 48 48',\r\n ),\r\n // M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z\r\n 'system-file-name-edit': new SvgIcon(\r\n [\r\n 'M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z',\r\n ],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n};\r\n\r\nfor (const category in icons) {\r\n if (icons.hasOwnProperty(category)) {\r\n (icons as any)[category].category = category;\r\n }\r\n}\r\n\r\nexport default icons;\r\n\r\nexport const extensionsMap: any = {};\r\n\r\nfor (const cat in extensions) {\r\n if (extensions.hasOwnProperty(cat)) {\r\n for (const ext of (extensions as any)[cat]) {\r\n extensionsMap[ext] = cat;\r\n }\r\n }\r\n}\r\n\r\nexport function getIconByName(name: string): SvgIcon {\r\n const svgIcon = (icons as any)[name] || icons.other;\r\n return svgIcon;\r\n}\r\n\r\nexport function getIconFromExt(ext: string): SvgIcon {\r\n ext = ext.toLowerCase();\r\n const cat = extensionsMap[ext];\r\n return getIconByName(cat);\r\n}\r\n","\n\n\n\n\n\n\n\n\r\nimport { getIconFromExt, getIconByName, SvgIcon } from '../lib/icons';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['ext', 'name', 'viewBox'],\r\n computed: {\r\n viewBoxComputed(): string {\r\n if (!this.viewBox && this.icon && this.icon.viewBox) {\r\n return this.icon.viewBox;\r\n }\r\n return this.viewBox ? this.viewBox : '0 0 100 100';\r\n },\r\n icon(): SvgIcon {\r\n if (this.name) {\r\n return getIconByName(this.name);\r\n }\r\n const svgIcon = getIconFromExt(this.ext);\r\n return svgIcon;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./vue-file-icon.vue?vue&type=template&id=61d49b70&\"\nimport script from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'file-preview-wrapper-' + _vm.fileData.ext(),\n _vm.fileData.isImage() ? 'file-preview-wrapper-image' : 'file-preview-wrapper-other',\n 'file-category-' + _vm.fileData.icon().category,\n { 'file-is-playing-av': _vm.fileData.isPlayingAv },\n { 'is-deletable': _vm.deletable === true },\n { 'is-editable': _vm.editable === true },\n { 'is-edit-input-focused': _vm.isEditInputFocused },\n { 'has-error': _vm.fileData.error } ]},[(_vm.fileData.error)?_c('div',{staticClass:\"file-error-wrapper\",on:{\"click\":function($event){return _vm.dismissError()}}},[_c('div',{staticClass:\"file-error-message file-error-message-client\"},[_vm._v(\" \"+_vm._s(_vm.fileData.getErrorMessage(_vm.errorText))+\" \")])]):_vm._e(),(_vm.fileData.isPlayableAudio() || _vm.fileData.isPlayableVideo())?_c('div',{ref:\"wrapper\",staticClass:\"file-av-wrapper\"},[_c('div',{staticClass:\"file-av-action\",on:{\"click\":function($event){return _vm.playAv(_vm.fileData)}}},[_c('span',{staticClass:\"file-av-stop\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1),_c('span',{staticClass:\"file-av-play\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-av-play\"}})],1)])]):_vm._e(),_c('span',{staticClass:\"file-preview\",class:{\n 'image-preview': _vm.fileData.isImage(),\n 'other-preview': !_vm.fileData.isImage(),\n 'dark-content': _vm.fileData.isImage() && _vm.fileData.isDarkColor(),\n },style:({\n 'background-color': _vm.fileData.color(),\n })},[_c('span',{staticClass:\"file-preview-overlay\"}),_c('span',{staticClass:\"thumbnail\",staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"overflow\":\"hidden\"}},[(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('img',{staticClass:\"file-preview-img\",attrs:{\"src\":_vm.fileData.src()}}):_vm._e()]),_c('span',{staticClass:\"file-ext\"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:\"file-size\"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:\"file-delete\",on:{\"click\":function($event){return _vm.removeFileData(_vm.fileData)},\"touchstart\":function($event){return _vm.filenameClearPressed()},\"mousedown\":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name\",on:{\"click\":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:\"input\",staticClass:\"file-name-input\",attrs:{\"disabled\":_vm.disabled === true,\"type\":\"text\"},domProps:{\"value\":_vm.fileData.name(true)},on:{\"focus\":function($event){return _vm.editInputFocused()},\"blur\":function($event){return _vm.editInputBlured()},\"change\":function($event){return _vm.filenameChanged()},\"input\":function($event){return _vm.filenameChanged()},\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:\"file-name-edit-icon\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-name-edit\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name-text\"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:\"image-dimension\"},[_c('span',{staticClass:\"image-dimension-width\"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:\"image-dimension-height\"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:\"file-progress\",class:{\n 'file-progress-full': _vm.fileData.progress() >= 99.9999,\n 'file-progress-done': _vm.fileData.progress() >= 100,\n 'has-file-progress': _vm.fileData.progress() > 0,\n }},[_c('span',{staticClass:\"file-progress-bar\",style:({ width: _vm.fileData.progress() + '%' })})]):_vm._e(),_c('span',{staticClass:\"file-icon\"},[(_vm.hasLinkableUrl)?_c('a',{attrs:{\"href\":_vm.fileData.url,\"target\":\"_blank\",\"title\":_vm.fileData.name()}},[_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1):_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function getFilesFromDroppedItems(dataTransfer: DataTransfer): Promise {\r\n return new Promise((resolve) => {\r\n if (!includesFolder(dataTransfer.files)) {\r\n return resolve(dataTransfer.files);\r\n }\r\n const files: File[] = [];\r\n const folderReadQueue = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < dataTransfer.items.length; i++) {\r\n const item = dataTransfer.items[i];\r\n if (item.kind !== 'file') {\r\n continue;\r\n }\r\n const fileSystemEntries = getEntries(item);\r\n if (fileSystemEntries) {\r\n folderReadQueue.push(fileSystemEntries);\r\n } else {\r\n const file = item.getAsFile();\r\n if (file) {\r\n files.push(file);\r\n }\r\n }\r\n }\r\n Promise.all(folderReadQueue).then((filesInFolders) => {\r\n resolve(files.concat(...filesInFolders));\r\n });\r\n });\r\n}\r\n\r\nfunction getEntries(entry: any): Promise | undefined {\r\n // convert DataTransferItem to FileSystemEntry first if necessary\r\n if (entry.getAsEntry) {\r\n return getEntries(entry.getAsEntry());\r\n }\r\n if (entry.webkitGetAsEntry) {\r\n return getEntries(entry.webkitGetAsEntry());\r\n }\r\n // return if item is from a browser that does not support webkitGetAsEntry\r\n if (entry.getAsFile) {\r\n return;\r\n }\r\n // Processing directories with more than 100 files:\r\n // https://github.com/lian-yue/vue-upload-component/commit/9c9d8aafbcef005a2cc598454383ec65205d61ee\r\n return new Promise((resolve) => {\r\n if (entry.isFile) {\r\n entry.file((file: File) => resolve([file]));\r\n return;\r\n }\r\n if (entry.isDirectory) {\r\n const files: File[] = [];\r\n const entryReader = entry.createReader();\r\n const readEntries = () => {\r\n entryReader.readEntries((entries: any[]) => {\r\n const iterateEntry = (i: number) => {\r\n if (!entries[i] && i === 0) {\r\n return resolve(files);\r\n }\r\n if (!entries[i]) {\r\n return readEntries();\r\n }\r\n (getEntries(entries[i]) as Promise).then((entryFiles: File[]) => {\r\n files.push(...entryFiles);\r\n iterateEntry(i + 1);\r\n });\r\n };\r\n iterateEntry(0);\r\n });\r\n };\r\n readEntries();\r\n }\r\n if (!entry.isFile && !entry.isDirectory) {\r\n resolve([]);\r\n }\r\n });\r\n}\r\n\r\nfunction includesFolder(files: FileList): boolean {\r\n if (!files.length) {\r\n return true; // if dropping only folders, no files will exist\r\n }\r\n // tslint:disable-next-line\r\n for (var i = 0; i < files.length; i++) {\r\n // A folder has no type and has a size that is a multiple of 4096\r\n if (!files[i].type && files[i].size % 4096 === 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n","import { getFilesFromDroppedItems } from './drop-handler';\r\n\r\nexport type RGBA = [number, number, number, number];\r\nexport interface VideoThumbnail {\r\n url: string;\r\n color?: RGBA;\r\n width: number;\r\n height: number;\r\n}\r\nexport interface ImageThumbnail {\r\n image: HTMLImageElement;\r\n url: string;\r\n color?: RGBA;\r\n}\r\n\r\nenum ImageOrientation {\r\n NORMAL = 1,\r\n UPSIDE_DOWN = 6,\r\n}\r\n\r\nclass Utils {\r\n public arrayMove(arr: any[], previousIndex: number, newIndex: number): any[] {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/utils.js\r\n const array = arr.slice(0);\r\n if (newIndex >= array.length) {\r\n let k = newIndex - array.length;\r\n while (k-- + 1) {\r\n array.push(undefined);\r\n }\r\n }\r\n array.splice(newIndex, 0, array.splice(previousIndex, 1)[0]);\r\n return array;\r\n }\r\n\r\n public getAverageColor(arr: Uint8ClampedArray): RGBA | undefined {\r\n const bytesPerPixel = 4;\r\n const arrLength = arr.length;\r\n if (arrLength < bytesPerPixel) {\r\n return;\r\n }\r\n const step = 5;\r\n const len = arrLength - (arrLength % bytesPerPixel);\r\n const preparedStep = (step || 1) * bytesPerPixel;\r\n\r\n let redTotal = 0;\r\n let greenTotal = 0;\r\n let blueTotal = 0;\r\n let alphaTotal = 0;\r\n let count = 0;\r\n\r\n for (let i = 0; i < len; i += preparedStep) {\r\n const alpha = arr[i + 3];\r\n const red = arr[i] * alpha;\r\n const green = arr[i + 1] * alpha;\r\n const blue = arr[i + 2] * alpha;\r\n\r\n redTotal += red;\r\n greenTotal += green;\r\n blueTotal += blue;\r\n alphaTotal += alpha;\r\n count++;\r\n }\r\n\r\n return alphaTotal\r\n ? [\r\n Math.round(redTotal / alphaTotal),\r\n Math.round(greenTotal / alphaTotal),\r\n Math.round(blueTotal / alphaTotal),\r\n Math.round(alphaTotal / count),\r\n ]\r\n : [0, 0, 0, 0];\r\n }\r\n\r\n public createVideoThumbnail(\r\n video: HTMLVideoElement,\r\n canvas: HTMLCanvasElement,\r\n thumbnailSize: number,\r\n ): Promise {\r\n video.setAttribute('crossOrigin', 'anonymous'); // fix cross origin issue\r\n return new Promise((resolve, reject) => {\r\n let loadedmetadata = false;\r\n let loadeddata = false;\r\n const tryGetThumbnail = () => {\r\n if (!(loadedmetadata && loadeddata)) {\r\n return;\r\n }\r\n const context = canvas.getContext('2d') as CanvasRenderingContext2D;\r\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height);\r\n const url = canvas.toDataURL();\r\n resolve({\r\n url,\r\n color: this.getAverageColor(imageData.data),\r\n width: video.videoWidth,\r\n height: video.videoHeight,\r\n });\r\n };\r\n // Load metadata of the video to get video duration and dimensions\r\n video.addEventListener('loadedmetadata', () => {\r\n // var video_duration = video.duration;\r\n canvas.width = thumbnailSize;\r\n canvas.height = (canvas.width / video.videoWidth) * video.videoHeight;\r\n video.currentTime = 1; // video time\r\n loadedmetadata = true;\r\n tryGetThumbnail();\r\n });\r\n\r\n video.addEventListener('loadeddata', () => {\r\n loadeddata = true;\r\n tryGetThumbnail();\r\n });\r\n });\r\n }\r\n\r\n public getDataURL(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve('');\r\n }\r\n resolve(event.target.result as string);\r\n };\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public getImageOrientationFromArrayBuffer(buffer: ArrayBuffer): number {\r\n // -2: not jpeg\r\n // -1: not defined\r\n const view = new DataView(buffer);\r\n if (view.getUint16(0, false) !== 0xffd8) {\r\n return -2;\r\n }\r\n const length = view.byteLength;\r\n let offset = 2;\r\n while (offset < length) {\r\n if (view.getUint16(offset + 2, false) <= 8) {\r\n return -1;\r\n }\r\n const marker = view.getUint16(offset, false);\r\n offset += 2;\r\n if (marker === 0xffe1) {\r\n if (view.getUint32((offset += 2), false) !== 0x45786966) {\r\n return -1;\r\n }\r\n const little = view.getUint16((offset += 6), false) === 0x4949;\r\n offset += view.getUint32(offset + 4, little);\r\n const tags = view.getUint16(offset, little);\r\n offset += 2;\r\n for (let i = 0; i < tags; i++) {\r\n if (view.getUint16(offset + i * 12, little) === 0x0112) {\r\n return view.getUint16(offset + i * 12 + 8, little);\r\n }\r\n }\r\n // tslint:disable-next-line\r\n } else if ((marker & 0xff00) !== 0xff00) {\r\n break;\r\n } else {\r\n offset += view.getUint16(offset, false);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n public getImageOrientation(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n if (!reader.readAsArrayBuffer) {\r\n return resolve(-3);\r\n }\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve(-3);\r\n }\r\n resolve(this.getImageOrientationFromArrayBuffer(event.target.result as ArrayBuffer));\r\n };\r\n // https://stackoverflow.com/questions/3248946/what-is-the-maximum-size-of-jpeg-metadata\r\n // https://twitter.com/jaffathecake/status/1085443592678752256\r\n // reader.readAsArrayBuffer(file);\r\n reader.readAsArrayBuffer(file.slice(0, 65536));\r\n });\r\n }\r\n\r\n public rotateCanvas(\r\n srcOrientation: number,\r\n canvas: HTMLCanvasElement,\r\n ctx: CanvasRenderingContext2D,\r\n width: number,\r\n height: number,\r\n ) {\r\n // set proper canvas dimensions before transform & export\r\n if (4 < srcOrientation && srcOrientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n } else {\r\n canvas.width = width;\r\n canvas.height = height;\r\n }\r\n\r\n // transform context before drawing image\r\n switch (srcOrientation) {\r\n case 2:\r\n ctx.transform(-1, 0, 0, 1, width, 0);\r\n break;\r\n case 3:\r\n ctx.transform(-1, 0, 0, -1, width, height);\r\n break;\r\n case 4:\r\n ctx.transform(1, 0, 0, -1, 0, height);\r\n break;\r\n case 5:\r\n ctx.transform(0, 1, 1, 0, 0, 0);\r\n break;\r\n case 6:\r\n ctx.transform(0, 1, -1, 0, height, 0);\r\n break;\r\n case 7:\r\n ctx.transform(0, -1, -1, 0, height, width);\r\n break;\r\n case 8:\r\n ctx.transform(0, -1, 1, 0, 0, width);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n public getImageResized(\r\n image: HTMLImageElement,\r\n widthLimit: number,\r\n heightLimit?: number,\r\n orientation?: number,\r\n ): ImageThumbnail | null {\r\n let width = image.width;\r\n let height = image.height;\r\n const thumbnailSize = widthLimit;\r\n if (widthLimit && heightLimit) {\r\n width = widthLimit;\r\n height = heightLimit;\r\n } else {\r\n if (width > height) {\r\n if (width > thumbnailSize) {\r\n height *= thumbnailSize / width;\r\n width = thumbnailSize;\r\n }\r\n } else {\r\n if (height > thumbnailSize) {\r\n width *= thumbnailSize / height;\r\n height = thumbnailSize;\r\n }\r\n }\r\n }\r\n\r\n width = Math.floor(width);\r\n height = Math.floor(height);\r\n\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n if (!context) {\r\n return null;\r\n }\r\n\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n if (orientation !== undefined) {\r\n this.rotateCanvas(orientation, canvas, context, width, height);\r\n }\r\n\r\n context.drawImage(image, 0, 0, width, height);\r\n let avgColor = null;\r\n try {\r\n const imageData = context.getImageData(0, 0, width, height);\r\n const rgba = this.getAverageColor(imageData.data);\r\n if (rgba) {\r\n avgColor = rgba;\r\n }\r\n } catch (e) {\r\n /* security error, img on diff domain */\r\n }\r\n return {\r\n image,\r\n url: canvas.toDataURL('image/png'),\r\n color: avgColor,\r\n } as ImageThumbnail;\r\n }\r\n\r\n public resizeImageUrl(image: HTMLImageElement, url: string, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n image.onload = () => {\r\n const resized = this.getImageResized(image, thumbnailSize);\r\n resolve(resized);\r\n };\r\n image.src = url;\r\n });\r\n }\r\n\r\n public resizeImageFile(image: HTMLImageElement, file: File, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (file.type.indexOf('image') === -1) {\r\n reject(new Error('Not an image'));\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n let shouldRevoke = false;\r\n const orientationPromise = this.getImageOrientation(file);\r\n image.onload = () => {\r\n orientationPromise.then((orientation) => {\r\n const resized = this.getImageResized(image, thumbnailSize, undefined, orientation);\r\n if (shouldRevoke) {\r\n revokeObjectURL(image.src);\r\n }\r\n resolve(resized);\r\n });\r\n };\r\n if (!(file instanceof File)) {\r\n return reject('Invalid file object. Use url or a valid instance of File class');\r\n }\r\n if (createObjectURL && revokeObjectURL) {\r\n shouldRevoke = true;\r\n image.src = createObjectURL(file);\r\n return;\r\n }\r\n this.getDataURL(file).then((dataUrl) => {\r\n image.src = dataUrl;\r\n });\r\n });\r\n }\r\n\r\n public resizeImage(thumbnailSize: number, file?: File, url?: string): Promise {\r\n const image = new Image();\r\n image.setAttribute('crossOrigin', 'anonymous');\r\n return url\r\n ? this.resizeImageUrl(image, url, thumbnailSize)\r\n : this.resizeImageFile(image, file as File, thumbnailSize);\r\n }\r\n\r\n public getSizeFormatted(bytes: number) {\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes === 0) {\r\n return '0 B';\r\n }\r\n let i = Math.floor(Math.log(bytes) / Math.log(1024));\r\n i = parseInt('' + i, 10);\r\n return Math.round(bytes / Math.pow(1024, i)) + ' ' + sizes[i];\r\n }\r\n\r\n public getSizeParsed(size: string): number {\r\n size = ('' + size).toUpperCase();\r\n const matches = size.match(/([\\d|.]+?)\\s*?([A-Z]+)/);\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (!matches) {\r\n return parseFloat(size);\r\n }\r\n const i = sizes.indexOf(matches[2]);\r\n if (i === -1) {\r\n return parseFloat(size);\r\n }\r\n return parseFloat(matches[1]) * Math.pow(1024, i);\r\n }\r\n\r\n public getColorForText(text: string): string {\r\n const getHashCode = (value: string) => {\r\n let hash = 0;\r\n if (value.length === 0) {\r\n return hash;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n // tslint:disable-next-line\r\n hash = value.charCodeAt(i) + ((hash << 5) - hash);\r\n // tslint:disable-next-line\r\n hash = hash & hash; // Convert to 32bit integer\r\n }\r\n return hash;\r\n };\r\n const intToHSL = (value: number) => {\r\n const h = value % 360;\r\n const s = value % 100;\r\n const l = 50;\r\n return 'hsl(' + h + ',' + s + '%,' + l + '%, 0.75)';\r\n };\r\n return intToHSL(getHashCode(text.toLowerCase()));\r\n }\r\n\r\n public validateType(file: File, accept?: string): boolean {\r\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept\r\n // https://gitlab.com/meno/dropzone/blob/master/src/dropzone.js#L2511\r\n if (!accept) {\r\n return true;\r\n } // If there are no accepted mime types, it's OK\r\n const acceptedFiles = accept.split(',');\r\n\r\n const mimeType = file.type;\r\n const baseMimeType = mimeType.replace(/\\/.*$/, '');\r\n\r\n for (let validType of acceptedFiles) {\r\n validType = validType.trim();\r\n if (validType.charAt(0) === '.') {\r\n // extension\r\n if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\r\n return true;\r\n }\r\n } else if (/\\/\\*$/.test(validType)) {\r\n // This is something like a image/* mime type\r\n if (baseMimeType === validType.replace(/\\/.*$/, '')) {\r\n return true;\r\n }\r\n } else {\r\n if (mimeType === validType) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public validateSize(file: File, maxSize?: string): boolean {\r\n if (!maxSize) {\r\n return true;\r\n }\r\n const bytes = this.getSizeParsed(maxSize);\r\n return file.size <= bytes;\r\n }\r\n\r\n public getFilesFromDroppedItems(dataTransfer: DataTransfer) {\r\n return getFilesFromDroppedItems(dataTransfer);\r\n }\r\n}\r\n\r\nexport default new Utils();\r\n","import { getIconFromExt, SvgIcon } from './icons';\r\nimport utils from './utils';\r\nimport { RGBA, ImageThumbnail, VideoThumbnail } from './utils';\r\n\r\ninterface Dimensions {\r\n height: number;\r\n width: number;\r\n}\r\n\r\ninterface Options {\r\n accept?: string;\r\n maxSize?: string;\r\n read: boolean;\r\n thumbnailSize?: number;\r\n}\r\n\r\ninterface ErrorText {\r\n common?: string;\r\n type?: string;\r\n size?: string;\r\n upload?: string;\r\n}\r\n\r\ninterface ErrorFlags {\r\n common?: boolean;\r\n type?: boolean;\r\n size?: boolean;\r\n upload?: false | string;\r\n}\r\n\r\ninterface RawFileData {\r\n url: string | null;\r\n urlResized: string | null;\r\n src: () => any;\r\n name: any;\r\n lastModified: number;\r\n sizeText: string;\r\n size: number;\r\n type: string;\r\n ext: string;\r\n color: string;\r\n file: File;\r\n progress: number | ((progress?: number) => number | void);\r\n error?: false | ErrorFlags;\r\n dimensions: Dimensions;\r\n videoThumbnail: string;\r\n imageColor: RGBA;\r\n customName: string;\r\n}\r\n\r\ninterface DummyFile {\r\n name: string;\r\n size: number;\r\n type: string;\r\n lastModified: number;\r\n lastModifiedDate: Date;\r\n}\r\n\r\nexport { Dimensions, Options, RawFileData };\r\n\r\nclass FileData {\r\n public static getFromRaw(fileDataRaw: RawFileData, options: Options, isSync = false): FileData | Promise {\r\n const fileData = new FileData(fileDataRaw, options);\r\n const promise = fileData.setUrl(fileDataRaw.url);\r\n fileDataRaw.progress = fileData.progress.bind(fileData); // convert it as a function\r\n fileDataRaw.src = fileData.src.bind(fileData);\r\n fileDataRaw.name = fileData.name.bind(fileData); // convert it as a function\r\n if (isSync) {\r\n return fileData;\r\n }\r\n return promise;\r\n }\r\n\r\n public static fromRaw(fileDataRaw: RawFileData, options: Options): Promise {\r\n return FileData.getFromRaw(fileDataRaw, options, false) as Promise;\r\n }\r\n\r\n public static fromRawSync(fileDataRaw: RawFileData, options: Options): FileData {\r\n return FileData.getFromRaw(fileDataRaw, options, true) as FileData;\r\n }\r\n\r\n public static fromRawArray(filesDataRaw: RawFileData[], options: Options): Promise {\r\n const promises: Array> = [];\r\n for (const fileDataRaw of filesDataRaw) {\r\n promises.push(FileData.fromRaw(fileDataRaw, options));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public static toRawArray(filesData: FileData[]): RawFileData[] {\r\n const filesDataRaw: RawFileData[] = [];\r\n for (const fileData of filesData) {\r\n filesDataRaw.push(fileData.toRaw());\r\n }\r\n return filesDataRaw;\r\n }\r\n\r\n public static readFile(fileData: FileData): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!fileData.read) {\r\n fileData.setUrl(null);\r\n resolve(fileData);\r\n return;\r\n }\r\n utils.getDataURL(fileData.file).then((dataUrl) => {\r\n fileData.setUrl(dataUrl).then(() => {\r\n resolve(fileData);\r\n }, reject);\r\n }, reject);\r\n });\r\n }\r\n\r\n public static readFiles(filesData: FileData[]): Promise {\r\n const promises: Array> = [];\r\n for (const fileData of filesData) {\r\n promises.push(FileData.readFile(fileData));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public url: null | string = null;\r\n public urlResized: null | string = null;\r\n public image: HTMLImageElement | {} = {};\r\n public isPlayingAv: boolean = false;\r\n\r\n public oldFileName: string | null = null;\r\n public oldCustomName: string | null = null;\r\n public upload: any = null;\r\n\r\n public raw: RawFileData;\r\n public progressInternal: number;\r\n public accept?: string;\r\n public dimensions: Dimensions;\r\n public error: false | ErrorFlags;\r\n public file: File;\r\n public height: undefined | number | string;\r\n public width: undefined | number | string;\r\n public id: string;\r\n public imageColor?: RGBA;\r\n public lastKnownSrc: null | string;\r\n public maxSize?: string;\r\n public options: Options;\r\n public read: boolean;\r\n public thumbnailSize: number;\r\n public videoThumbnail: any;\r\n public customName: any;\r\n public xhr?: XMLHttpRequest;\r\n public xhrQueue?: () => any;\r\n public stopAv?: (() => any) | null;\r\n public tusUpload?: any;\r\n\r\n public constructor(data: RawFileData, options: Options) {\r\n this.url = null;\r\n this.urlResized = null;\r\n this.lastKnownSrc = null;\r\n this.image = {};\r\n this.isPlayingAv = false;\r\n this.oldFileName = null;\r\n this.oldCustomName = null;\r\n this.upload = null;\r\n\r\n this.raw = data;\r\n this.file = data.file instanceof File ? data.file : (this.createDummyFile(data) as any);\r\n this.progressInternal = !isNaN(data.progress as number) ? (data.progress as number) : 0;\r\n // this.width = FileData.defaultWidth;\r\n // this.height = FileData.defaultHeight;\r\n this.thumbnailSize = options.thumbnailSize || 360;\r\n this.read = !!options.read;\r\n this.dimensions = data.dimensions || {};\r\n this.dimensions.width = this.dimensions.width || 0;\r\n this.dimensions.height = this.dimensions.height || 0;\r\n this.error = data.error || false;\r\n this.options = options;\r\n this.maxSize = options.maxSize;\r\n this.accept = options.accept;\r\n this.id = Math.random() + ':' + new Date().getTime();\r\n this.videoThumbnail = data.videoThumbnail;\r\n this.imageColor = data.imageColor;\r\n this.customName = data.customName;\r\n\r\n this.validate();\r\n }\r\n\r\n // populate(data, options = {}) {}\r\n\r\n public createDummyFile(data: RawFileData): DummyFile {\r\n const file: DummyFile = {} as DummyFile;\r\n file.lastModified = data.lastModified;\r\n const d = new Date();\r\n if (file.lastModified) {\r\n d.setTime(file.lastModified);\r\n }\r\n file.lastModifiedDate = d;\r\n file.name = typeof data.name === 'function' ? data.name() : data.name;\r\n file.size = data.size;\r\n file.type = data.type;\r\n return file;\r\n }\r\n\r\n public hasProgress(): boolean {\r\n return !isNaN(this.progressInternal); // && this._progress <= 100;\r\n }\r\n\r\n public progress(value?: number): number | void {\r\n if (value !== undefined) {\r\n this.progressInternal = value;\r\n return;\r\n }\r\n return this.progressInternal || 0;\r\n }\r\n\r\n public src(): string {\r\n if (this.isImage()) {\r\n return this.urlResized || this.url || (this.file as any).url;\r\n }\r\n if (this.isPlayableVideo()) {\r\n return this.videoThumbnail || '';\r\n }\r\n return '';\r\n }\r\n\r\n public size(): string {\r\n if (!this.file) {\r\n return '';\r\n }\r\n return utils.getSizeFormatted(this.file.size);\r\n }\r\n\r\n public ext(): string {\r\n if (this.file && this.file.name.indexOf('.') !== -1) {\r\n return (this.file.name as any).split('.').pop();\r\n }\r\n return '?';\r\n // return this.file.type.split('/').shift();\r\n }\r\n\r\n public name(withoutExt?: boolean): string {\r\n const ext = this.ext();\r\n if (this.customName) {\r\n return this.customName + (withoutExt ? '' : ext !== '?' ? '.' + ext : '');\r\n }\r\n const name = this.file && this.file.name;\r\n if (withoutExt) {\r\n if (ext !== '?') {\r\n return name.substr(0, name.length - (ext.length + 1));\r\n }\r\n }\r\n return name;\r\n }\r\n\r\n public isDarkColor(): boolean {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n const darkPoint = 20;\r\n return rgb[0] <= darkPoint && rgb[1] <= darkPoint && rgb[2] <= darkPoint;\r\n }\r\n return false;\r\n }\r\n\r\n public color(): string {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n return 'rgb(' + rgb[0] + ', ' + rgb[1] + ', ' + rgb[2] + ')';\r\n }\r\n if (this.isImage()) {\r\n return 'transparent';\r\n }\r\n const ext = this.ext();\r\n const svgIcon = this.icon();\r\n // var svgIcon = getIconFromExt(ext);\r\n if (svgIcon.color) {\r\n return svgIcon.color;\r\n }\r\n return utils.getColorForText(ext);\r\n }\r\n\r\n public isImage(): boolean {\r\n return this.file && this.file.type.indexOf('image') !== -1;\r\n }\r\n\r\n public isVideo(): boolean {\r\n return this.file && this.file.type.indexOf('video') !== -1;\r\n }\r\n\r\n public isPlayableVideo(): boolean {\r\n return this.icon().category === 'video-playable';\r\n }\r\n\r\n public isAudio(): boolean {\r\n return this.file && this.file.type.indexOf('audio') !== -1;\r\n }\r\n\r\n public isPlayableAudio(): boolean {\r\n return this.icon().category === 'audio-playable';\r\n }\r\n\r\n public isText(): boolean {\r\n return this.file && this.file.type.indexOf('text') !== -1;\r\n }\r\n\r\n public setUrl(url: string | null): Promise {\r\n this.url = url;\r\n return new Promise((resolve, reject) => {\r\n if (this.isImage()) {\r\n this.resizeImage().then(() => {\r\n resolve(this);\r\n }, reject);\r\n return;\r\n }\r\n resolve(this);\r\n });\r\n }\r\n\r\n public imageResized(resized: ImageThumbnail | null) {\r\n if (!resized) {\r\n return;\r\n }\r\n this.urlResized = resized.url;\r\n this.image = resized.image;\r\n if (resized.image && resized.image.width && resized.image.height) {\r\n this.dimensions.width = resized.image.width;\r\n this.dimensions.height = resized.image.height;\r\n }\r\n this.lastKnownSrc = this.urlResized;\r\n this.imageColor = resized.color;\r\n }\r\n\r\n public resizeImage(): Promise {\r\n return new Promise((resolve, reject) => {\r\n utils\r\n .resizeImage(this.thumbnailSize, this.file, this.url as string)\r\n .then((resized) => {\r\n this.imageResized(resized);\r\n resolve(this);\r\n })\r\n .catch(reject);\r\n });\r\n }\r\n\r\n public icon(): SvgIcon {\r\n const ext = this.ext();\r\n const svgIcon = getIconFromExt(ext);\r\n return svgIcon;\r\n }\r\n\r\n public getErrorMessage(errorText?: ErrorText): string {\r\n const error = this.error;\r\n if (!error) {\r\n return '';\r\n }\r\n errorText = errorText || {};\r\n errorText = {\r\n common: errorText.common || 'Invalid file.',\r\n type: errorText.type || 'Invalid file type.',\r\n size: errorText.size || 'Files should not exceed ' + this.maxSize + ' in size',\r\n };\r\n if (error.type) {\r\n return errorText.type as string;\r\n } else if (error.size) {\r\n return errorText.size as string;\r\n } else if (error.upload) {\r\n return this.upload && this.upload.error ? this.upload.error : error.upload;\r\n }\r\n return errorText.common as string;\r\n }\r\n\r\n public toRaw(): RawFileData {\r\n const raw = this.raw || {};\r\n raw.url = this.url;\r\n raw.urlResized = this.urlResized;\r\n raw.src = this.src.bind(this);\r\n raw.name = this.name.bind(this);\r\n raw.lastModified = this.file.lastModified;\r\n raw.sizeText = this.size();\r\n raw.size = this.file.size;\r\n raw.type = this.file.type;\r\n raw.ext = this.ext();\r\n raw.color = this.color();\r\n raw.file = this.file;\r\n raw.progress = this.progress.bind(this); // pass it as a function\r\n if (!('error' in raw)) {\r\n Object.defineProperty(raw, 'error', {\r\n get: () => {\r\n return this.error;\r\n },\r\n });\r\n }\r\n raw.dimensions = this.dimensions;\r\n return raw;\r\n }\r\n\r\n public validate(): void {\r\n const validType = utils.validateType(this.file, this.accept);\r\n const validSize = utils.validateSize(this.file, this.maxSize as string);\r\n if (!validType || !validSize) {\r\n this.error = {\r\n type: !validType,\r\n size: !validSize,\r\n };\r\n } else {\r\n this.error = false;\r\n }\r\n }\r\n}\r\n\r\nexport default FileData;\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport FileData, { RawFileData, Options } from '../lib/file-data';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'deletable', 'editable', 'linkable', 'errorText', 'disabled', 'thumbnailSize'],\r\n components: {\r\n VueFileIcon,\r\n },\r\n data() {\r\n return {\r\n isEditInputFocused: false,\r\n isEditCancelable: true,\r\n fileData: {} as FileData,\r\n };\r\n },\r\n computed: {\r\n hasLinkableUrl(): boolean {\r\n if (!this.linkable) {\r\n return false;\r\n }\r\n return (\r\n !!this.fileData.url &&\r\n !this.fileData.isImage() &&\r\n !this.fileData.isPlayableVideo() &&\r\n !this.fileData.isPlayableAudio()\r\n );\r\n },\r\n },\r\n methods: {\r\n updateFileData() {\r\n if (this.value instanceof FileData) {\r\n this.fileData = this.value;\r\n return;\r\n }\r\n FileData.fromRaw(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options).then((fileData) => {\r\n this.fileData = fileData;\r\n });\r\n this.fileData = FileData.fromRawSync(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options);\r\n },\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement) {\r\n if (fileData.videoThumbnail) {\r\n video.poster = fileData.src();\r\n return;\r\n }\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, this.fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n video.poster = fileData.src();\r\n });\r\n },\r\n\r\n playAv(fileData: FileData) {\r\n if (fileData.stopAv) {\r\n fileData.stopAv();\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n\r\n const wrapper = this.$refs.wrapper as HTMLElement;\r\n const player = document.createElement(fileData.isAudio() ? 'audio' : 'video');\r\n if (player instanceof HTMLVideoElement && fileData.isPlayableVideo()) {\r\n this.createThumbnail(fileData, player);\r\n }\r\n player.controls = true;\r\n // player.style.width = this.prvWidth + 'px';\r\n wrapper.appendChild(player);\r\n const url = fileData.url || createObjectURL(fileData.file);\r\n player.src = url;\r\n player.play();\r\n fileData.isPlayingAv = true;\r\n fileData.stopAv = () => {\r\n // player.src = null;\r\n player.src = '';\r\n wrapper.removeChild(player);\r\n revokeObjectURL(url);\r\n fileData.isPlayingAv = false;\r\n fileData.stopAv = null;\r\n };\r\n },\r\n\r\n removeFileData(fileData: FileData) {\r\n if (this.clearFilename()) {\r\n return;\r\n }\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n this.$emit('remove', fileData);\r\n },\r\n\r\n editFileName() {\r\n if (this.editable !== true) {\r\n return;\r\n }\r\n if (!this.$refs.input) {\r\n return;\r\n }\r\n (this.$refs.input as HTMLInputElement).focus();\r\n },\r\n\r\n editInputFocused() {\r\n this.isEditInputFocused = true;\r\n this.isEditCancelable = true;\r\n },\r\n\r\n editInputBlured() {\r\n this.fileData.oldFileName = this.fileData.name();\r\n const oldValue = this.fileData.name(true);\r\n const value = (this.$refs.input as HTMLInputElement).value;\r\n this.fileData.customName = value;\r\n const newValue = this.fileData.name(true);\r\n if (newValue !== oldValue) {\r\n this.fileData.oldCustomName = oldValue;\r\n this.$emit('rename', this.fileData);\r\n }\r\n const timeout = 100;\r\n setTimeout(() => {\r\n this.$nextTick(() => {\r\n if (!this.isEditCancelable) {\r\n return;\r\n }\r\n this.isEditInputFocused = false;\r\n });\r\n }, timeout);\r\n },\r\n\r\n filenameChanged(completed?: boolean) {\r\n if (completed) {\r\n (this.$refs.input as HTMLInputElement).blur(); // @see editInputBlured method\r\n }\r\n if (completed === false) {\r\n this.clearFilename();\r\n }\r\n },\r\n\r\n filenameClearPressed() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return;\r\n }\r\n this.isEditCancelable = false;\r\n },\r\n\r\n clearFilename() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return false;\r\n }\r\n (this.$refs.input as HTMLInputElement).value = '';\r\n this.isEditCancelable = true;\r\n this.editInputBlured();\r\n return true;\r\n },\r\n\r\n dismissError() {\r\n this.fileData.error = false;\r\n },\r\n },\r\n created() {\r\n this.updateFileData();\r\n },\r\n watch: {\r\n value() {\r\n this.updateFileData();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-preview-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-preview.vue?vue&type=template&id=6265c58c&\"\nimport script from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'axis', 'appendTo'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list.vue?vue&type=template&id=5ef04e06&\"\nimport script from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['index'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list-item.vue?vue&type=template&id=00f7ef53&\"\nimport script from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'is-sortable-' + (_vm.isSortable ? 'enabled' : 'disabled'),\n { 'is-sortable-hold': _vm.sortable === 'hold' },\n { 'is-sortable-hold': _vm.sortable === 'handle' },\n { 'is-sortable-immediately': _vm.sortable === true },\n {\n 'is-sorting': _vm.isSorting,\n 'is-sorting-active': _vm.isSortingActive,\n 'is-drag-over': _vm.isDragging,\n 'is-disabled': _vm.disabled === true,\n },\n 'theme-' + _vm.theme ],attrs:{\"id\":'vfa-' + _vm.uniqueId},on:{\"dragover\":_vm.dragOver,\"dragenter\":_vm.dragEnter,\"dragleave\":_vm.dragLeave,\"drop\":_vm.drop}},[_vm._t(\"before-outer\"),_c('div',{staticClass:\"grid-block-wrapper vue-file-agent file-input-wrapper\",class:{\n 'is-compact': !!_vm.compact,\n 'is-single': !_vm.hasMultiple,\n 'has-multiple': _vm.hasMultiple,\n 'no-meta': _vm.meta === false,\n }},[_vm._t(\"before-inner\"),_c('canvas',{ref:\"thumbnailCanvas\",staticStyle:{\"position\":\"fixed\",\"visibility\":\"hidden\",\"z-index\":\"-3\"}}),(_vm.overallProgress)?_c('div',{staticClass:\"overall-progress\",class:{ 'overall-progress-full': _vm.overallProgress >= 100 }},[_c('div',{staticClass:\"overall-progress-bar\",style:({ width: _vm.overallProgress + '%' })}),_c('div',{staticClass:\"overall-progress-left\",style:({ width: 100 - _vm.overallProgress + '%' })})]):_vm._e(),_c(_vm.isSortable ? 'vfa-sortable-list' : 'VueFileList',{tag:\"component\",attrs:{\"axis\":_vm.theme == 'list' ? 'y' : 'xy',\"appendTo\":'#vfa-' + _vm.uniqueId + ' .vue-file-agent',\"transitionDuration\":_vm.transitionDuration,\"pressDelay\":_vm.sortable === 'hold' ? 200 : 0,\"useDragHandle\":_vm.sortable === 'handle',\"helperClass\":'active-sorting-item'},on:{\"sort-start\":function($event){return _vm.sortStart()},\"sort-end\":function($event){return _vm.sortEnd($event)}},model:{value:(_vm.filesData),callback:function ($$v) {_vm.filesData=$$v},expression:\"filesData\"}},[_c('transition-group',{attrs:{\"name\":\"grid-box\",\"tag\":\"div\"}},[_vm._l((_vm.filesData),function(fileData,index){return _c(_vm.isSortable ? 'vfa-sortable-item' : 'VueFileListItem',{key:fileData.id,tag:\"component\",staticClass:\"file-preview-wrapper grid-box-item grid-block\",attrs:{\"index\":index}},[(_vm.sortable === 'handle')?_c('span',{directives:[{name:\"vfa-sortable-handle\",rawName:\"v-vfa-sortable-handle\"}],staticClass:\"file-sortable-handle\"},[_vm._t(\"sortable-handle\",[_c('VueFileIcon',{attrs:{\"name\":\"system-sortable-handle\"}})])],2):_vm._e(),_vm._t(\"file-preview\",[_c('VueFilePreview',{attrs:{\"value\":fileData,\"deletable\":_vm.isDeletable,\"editable\":_vm.editable === true,\"linkable\":_vm.linkable === true,\"errorText\":_vm.errorText,\"disabled\":_vm.disabled,\"thumbnailSize\":_vm.thumbnailSize},on:{\"remove\":function($event){return _vm.removeFileData($event)},\"rename\":function($event){return _vm.filenameChanged($event)}}})],{\"fileData\":fileData,\"index\":index})],2)}),(_vm.canAddMore)?[_vm._t(\"file-preview-new\",[_c('div',{key:\"new\",staticClass:\"file-preview-wrapper grid-box-item grid-block file-preview-new\"},[_c('span',{staticClass:\"file-preview\"},[_c('span',{staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\"}},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-preview-new\"}}),_c('span',{staticClass:\"help-text\"},[_vm._v(_vm._s(_vm.helpTextComputed))])],1)])])])]:_vm._e()],2)],1),_c('input',{ref:\"fileInput\",staticClass:\"file-input\",attrs:{\"title\":\"\",\"disabled\":_vm.disabled === true || (_vm.hasMultiple && !_vm.canAddMore),\"type\":\"file\",\"multiple\":_vm.hasMultiple,\"accept\":_vm.accept || '*'},on:{\"change\":_vm.filesChanged}}),_vm._t(\"after-inner\")],2),_vm._t(\"after-outer\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","export type ConfigureFn = (request: XMLHttpRequest) => any;\r\nexport interface AjaxResponse {\r\n data: any;\r\n status: number;\r\n statusText: string;\r\n headers: string;\r\n request: XMLHttpRequest;\r\n}\r\nexport type AjaxRequestData = FormData | any;\r\nexport interface AjaxError extends Error {\r\n code: string;\r\n request: XMLHttpRequest;\r\n response?: AjaxResponse;\r\n}\r\n\r\n/* inspired by axios */\r\nclass AjaxRequest {\r\n public createError(\r\n message: string,\r\n code: string | null,\r\n request: XMLHttpRequest,\r\n response?: AjaxResponse,\r\n ): AjaxError {\r\n const error: AjaxError = new Error(message) as AjaxError;\r\n if (code) {\r\n error.code = code;\r\n }\r\n error.request = request;\r\n error.response = response;\r\n return error;\r\n }\r\n\r\n public settle(resolve: any, reject: any, response: AjaxResponse) {\r\n const validateStatus = (status: number) => {\r\n return status >= 200 && status < 300;\r\n };\r\n // Note: status is not exposed by XDomainRequest\r\n if (!response.status || !validateStatus || validateStatus(response.status)) {\r\n resolve(response);\r\n } else {\r\n reject(this.createError('Request failed with status code ' + response.status, null, response.request, response));\r\n }\r\n }\r\n\r\n public request(\r\n method: string,\r\n url: string,\r\n formData: AjaxRequestData | null = null,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n // tslint:disable-next-line\r\n let request = new XMLHttpRequest();\r\n const loadEvent = 'onreadystatechange';\r\n\r\n request.open(method, url, true);\r\n\r\n // Listen for ready state\r\n request[loadEvent] = () => {\r\n if (!request || request.readyState !== 4) {\r\n return;\r\n }\r\n\r\n // The request errored out and we didn't get a response, this will be\r\n // handled by onerror instead\r\n // With one exception: request that using file: protocol, most browsers\r\n // will return status as 0 even though it's a successful request\r\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\r\n return;\r\n }\r\n\r\n // Prepare the response\r\n const responseHeaders = request.getAllResponseHeaders();\r\n let responseData: any = request.responseText;\r\n const contentType = request.getResponseHeader('Content-Type');\r\n if (contentType && contentType.indexOf('application/json') !== -1) {\r\n responseData = JSON.parse(responseData);\r\n }\r\n const response: AjaxResponse = {\r\n data: responseData,\r\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\r\n status: request.status === 1223 ? 204 : request.status,\r\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\r\n headers: responseHeaders,\r\n request,\r\n };\r\n\r\n this.settle(resolve, reject, response);\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle browser request cancellation (as opposed to a manual cancellation)\r\n request.onabort = () => {\r\n if (!request) {\r\n return;\r\n }\r\n\r\n reject(this.createError('Request aborted', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle low level network errors\r\n request.onerror = () => {\r\n // Real errors are hidden from us by the browser\r\n // onerror should only fire if it's a network error\r\n reject(this.createError('Network Error', null, request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle timeout\r\n request.ontimeout = () => {\r\n reject(this.createError('timeout exceeded', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // // Handle progress if needed\r\n // if (typeof config.onDownloadProgress === 'function') {\r\n // request.addEventListener('progress', config.onDownloadProgress);\r\n // }\r\n\r\n // Not all browsers support upload events\r\n // if (typeof progressCallback === 'function' && request.upload) {\r\n // request.upload.addEventListener('progress', progressCallback);\r\n // }\r\n\r\n if (typeof configureFn === 'function') {\r\n configureFn(request);\r\n }\r\n\r\n request.send(formData);\r\n });\r\n }\r\n\r\n public post(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('POST', url, formData, configureFn);\r\n }\r\n\r\n public delete(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('DELETE', url, formData, configureFn);\r\n }\r\n\r\n public put(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('PUT', url, formData, configureFn);\r\n }\r\n}\r\n\r\nexport default new AjaxRequest();\r\n","import ajax from './ajax-request';\r\nimport { ConfigureFn, AjaxResponse, AjaxError } from './ajax-request';\r\nimport FileData from './file-data';\r\n\r\ntype ProgressFn = (event: ProgressEvent) => void;\r\ntype CreateFormDataFn = (fileData: FileData) => FormData;\r\n\r\nclass UploadHelper {\r\n // useAxios(axios){\r\n // this.axios = axios;\r\n // }\r\n\r\n public addHeaders(xhr: XMLHttpRequest, headers: object): XMLHttpRequest {\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n if (headers) {\r\n for (const key in headers) {\r\n if (headers.hasOwnProperty(key)) {\r\n xhr.setRequestHeader(key, (headers as any)[key]);\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n\r\n public doUpload(\r\n url: string,\r\n headers: object,\r\n formData: FormData,\r\n progressCallback: ProgressFn,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return ajax.post(url, formData, (xhr) => {\r\n this.addHeaders(xhr, headers);\r\n xhr.upload.addEventListener('progress', progressCallback, false);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doDeleteUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.delete(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doUpdateUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.put(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n // doUploadAxios(axios, formData, progressCallback){\r\n // return axios.post('/upload', formData, {\r\n // onUploadProgress: progressCallback,\r\n // });\r\n // }\r\n\r\n // doDeleteUploadAxios(axios, data, configureFn){\r\n // return axios.delete('/upload', data, {\r\n // });\r\n // }\r\n\r\n public prepareUploadError(fileData: FileData, err: AjaxError, timeout?: number) {\r\n let errorText = err.message;\r\n if (err.response && err.response.data) {\r\n try {\r\n const errorMsg = err.response.data.error || JSON.parse(err.response.data).error;\r\n errorText = errorMsg;\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = errorText;\r\n if (timeout) {\r\n setTimeout(() => {\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = false;\r\n if (!fileData.error.size && !fileData.error.type) {\r\n fileData.error = false;\r\n }\r\n }, timeout);\r\n }\r\n }\r\n\r\n public upload(\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n createFormData?: CreateFormDataFn,\r\n progressFn?: (progress: number) => void,\r\n configureFn?: ConfigureFn,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n let formData;\r\n if (typeof createFormData === 'function') {\r\n formData = createFormData(fileData);\r\n } else {\r\n formData = new FormData();\r\n formData.append('file', fileData.file as File);\r\n formData.append('filename', fileData.name());\r\n }\r\n // ((fileData) => {\r\n const promise = this.doUpload(\r\n url,\r\n headers,\r\n formData,\r\n (progressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n },\r\n (xhr) => {\r\n fileData.xhr = xhr;\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n },\r\n );\r\n promise.then(\r\n (response) => {\r\n delete fileData.xhr;\r\n fileData.upload = response.data;\r\n fileData.progress(100);\r\n if (fileData.xhrQueue) {\r\n fileData.xhrQueue();\r\n delete fileData.xhrQueue;\r\n }\r\n } /* */,\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n } /* */,\r\n );\r\n promises.push(promise);\r\n // })(fileData);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public deleteUpload(url: string, headers: object, fileData: FileData, uploadData?: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n fileData.xhr.abort();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload;\r\n }\r\n if (uploadData) {\r\n this.doDeleteUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (result) => {\r\n resolve(result);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public updateUpload(url: string, headers: object, fileData: FileData, uploadData: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n // probably updated while being uploaded.\r\n fileData.xhrQueue = () => {\r\n this.updateUpload(url, headers, fileData, uploadData);\r\n };\r\n return resolve();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload || {};\r\n uploadData.old_filename = fileData.oldFileName;\r\n uploadData.filename = fileData.name();\r\n }\r\n if (uploadData) {\r\n this.doUpdateUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (response) => {\r\n fileData.upload = response.data;\r\n resolve(response);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public doTusUpload(tus: any, url: string, fileData: FileData, headers: object, progressCallback: ProgressFn) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject(new Error('tus required. Please install tus-js-client'));\r\n }\r\n // https://github.com/tus/tus-js-client\r\n // Create a new tus upload\r\n const file = fileData.file;\r\n const upload = new tus.Upload(file, {\r\n endpoint: url,\r\n headers,\r\n retryDelays: [0, 3000, 5000, 10000, 20000],\r\n metadata: {\r\n filename: file.name,\r\n filetype: file.type,\r\n },\r\n onError(error: any) {\r\n reject(error);\r\n // console.log(\"Failed because: \" + error)\r\n },\r\n onProgress(bytesUploaded: number, bytesTotal: number) {\r\n const event = { loaded: bytesUploaded, total: bytesTotal } as ProgressEvent;\r\n progressCallback(event);\r\n },\r\n onSuccess() {\r\n resolve(upload);\r\n },\r\n });\r\n fileData.tusUpload = upload;\r\n // Start the upload\r\n upload.start();\r\n });\r\n }\r\n\r\n public tusUpload(\r\n tus: any,\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n progressFn?: (progress: number) => void,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n const promise = this.doTusUpload(tus, url, fileData, headers, (progressEvent: ProgressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n });\r\n promise.then(\r\n (response) => {\r\n // delete fileData.tusUpload;\r\n fileData.progress(100);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n },\r\n );\r\n promises.push(promise);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public tusDeleteUpload(tus: any, url: string, headers: object, fileData: FileData) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject('tus required');\r\n }\r\n if (!fileData.tusUpload) {\r\n return resolve();\r\n }\r\n // const shouldTerminate = true;\r\n const abort = (shouldTerminate: boolean) => {\r\n return new Promise((res, rej) => {\r\n fileData.tusUpload.abort(shouldTerminate, (err: any) => {\r\n if (err) {\r\n this.prepareUploadError(fileData, err);\r\n rej(err);\r\n return;\r\n }\r\n res();\r\n });\r\n });\r\n };\r\n abort(false).then(() => {\r\n setTimeout(() => {\r\n abort(true).then(resolve, reject);\r\n }, 1000);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport default new UploadHelper();\r\n","export default {\r\n tus: null as any,\r\n};\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport VueFilePreview from './vue-file-preview.vue';\r\nimport VueFileList from './vue-file-list.vue';\r\nimport VueFileListItem from './vue-file-list-item.vue';\r\nimport FileData from '../lib/file-data';\r\nimport { RawFileData } from '../lib/file-data';\r\nimport uploader from '../lib/upload-helper';\r\nimport Vue from 'vue';\r\nimport plugins from '../lib/plugins';\r\n\r\n// tslint:disable-next-line\r\nvar dragCounter = 0;\r\n\r\nexport default Vue.extend({\r\n props: [\r\n 'accept',\r\n 'compact',\r\n 'deletable',\r\n 'disabled',\r\n 'editable',\r\n 'errorText',\r\n 'helpText',\r\n 'linkable',\r\n 'maxFiles',\r\n 'maxSize',\r\n 'meta',\r\n 'multiple',\r\n 'progress',\r\n 'read',\r\n 'resumable',\r\n 'sortable',\r\n 'theme',\r\n 'thumbnailSize',\r\n 'uploadHeaders',\r\n 'uploadUrl',\r\n 'value',\r\n ],\r\n components: {\r\n VueFileIcon,\r\n VueFilePreview,\r\n VueFileList,\r\n VueFileListItem,\r\n },\r\n directives: {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/HandleDirective.js\r\n vfaSortableHandle: {\r\n bind(el: HTMLElement) {\r\n (el as any).sortableHandle = true;\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n filesData: [] as FileData[],\r\n filesDataRaw: [] as RawFileData[],\r\n isDragging: false,\r\n isSorting: false,\r\n isSortingActive: false,\r\n transitionDuration: 300,\r\n overallProgress: 0,\r\n uniqueId: '',\r\n sortTimeout: 0,\r\n };\r\n },\r\n computed: {\r\n canAddMore(): boolean {\r\n if (!this.hasMultiple) {\r\n return this.filesData.length === 0;\r\n }\r\n if (!this.maxFiles) {\r\n return true;\r\n }\r\n return this.filesData.length < this.maxFiles;\r\n },\r\n helpTextComputed(): string {\r\n if (this.helpText) {\r\n return this.helpText;\r\n }\r\n return 'Choose ' + (this.hasMultiple ? 'files' : 'file') + ' or drag & drop here';\r\n },\r\n isDeletable(): boolean {\r\n if (typeof this.deletable === 'string') {\r\n return this.deletable !== 'false';\r\n }\r\n return !!this.deletable;\r\n },\r\n isSortable(): boolean {\r\n return !!this.sortable;\r\n },\r\n hasMultiple(): boolean {\r\n if (typeof this.multiple === 'string') {\r\n return this.multiple !== 'false';\r\n }\r\n if (this.multiple === undefined) {\r\n return Array.isArray(this.value);\r\n }\r\n return !!this.multiple;\r\n },\r\n shouldRead(): boolean {\r\n if (typeof this.read === 'string') {\r\n return this.read === 'true';\r\n }\r\n return !!this.read;\r\n },\r\n },\r\n methods: {\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement): Promise {\r\n return new Promise((resolve, reject) => {\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n resolve();\r\n }, reject);\r\n });\r\n },\r\n initVideo(fileData: FileData): void {\r\n if (!fileData.isPlayableVideo()) {\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n const video = document.createElement('video');\r\n video.src = createObjectURL(fileData.file);\r\n this.createThumbnail(fileData, video).then(() => {\r\n revokeObjectURL(video.src);\r\n });\r\n video.load();\r\n },\r\n getFileDataInstance(fileDataOrRaw: FileData | RawFileData): FileData {\r\n let i;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n if (i === -1) {\r\n return fileDataOrRaw as FileData;\r\n }\r\n return this.filesData[i];\r\n },\r\n upload(\r\n url: string,\r\n headers: object,\r\n filesDataOrRaw: FileData[] | RawFileData[],\r\n createFormData?: (fileData: FileData) => FormData,\r\n ): Promise {\r\n const validFilesData = [];\r\n for (const fileDataOrRaw of filesDataOrRaw) {\r\n const fileData = this.getFileDataInstance(fileDataOrRaw);\r\n if (!fileData.error) {\r\n validFilesData.push(fileData);\r\n }\r\n }\r\n if (this.resumable) {\r\n return uploader.tusUpload(plugins.tus, url, headers, validFilesData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n }\r\n return uploader.upload(url, headers, validFilesData, createFormData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n },\r\n deleteUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n if (this.filesData.length < 1) {\r\n this.overallProgress = 0;\r\n }\r\n fileData = this.getFileDataInstance(fileData);\r\n if (this.resumable) {\r\n return uploader.tusDeleteUpload(plugins.tus, url, headers, fileData);\r\n }\r\n return uploader.deleteUpload(url, headers, fileData, uploadData);\r\n },\r\n updateUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n fileData = this.getFileDataInstance(fileData);\r\n return uploader.updateUpload(url, headers, fileData, uploadData);\r\n },\r\n autoUpload(filesData: FileData[] | RawFileData[]): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.upload(this.uploadUrl, this.uploadHeaders, filesData);\r\n },\r\n autoDeleteUpload(fileData: FileData | RawFileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.deleteUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n autoUpdateUpload(fileData: FileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.updateUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n equalFiles(file1: File, file2: File): boolean {\r\n return (\r\n true &&\r\n file1.name === file2.name &&\r\n file1.size === file2.size &&\r\n file1.type === file2.type &&\r\n // file1.lastModifiedDate.getTime() === file2.lastModifiedDate.getTime() &&\r\n file1.lastModified === file2.lastModified\r\n );\r\n },\r\n isFileAddedAlready(file: File): boolean {\r\n for (const fileData of this.filesData) {\r\n if (this.equalFiles(file, fileData.file as File)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n handleFiles(files: File[] | FileList): void {\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n if (this.hasMultiple && !this.canAddMore) {\r\n return;\r\n }\r\n const filesData: FileData[] = [];\r\n const filesFiltered: File[] = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < files.length; i++) {\r\n if (this.hasMultiple && this.isFileAddedAlready(files[i])) {\r\n continue;\r\n }\r\n filesFiltered.push(files[i]);\r\n }\r\n files = filesFiltered;\r\n if (this.maxFiles && files.length > this.maxFiles - this.filesData.length) {\r\n files = files.slice(0, this.maxFiles - this.filesData.length);\r\n }\r\n for (const file of files) {\r\n filesData.push(\r\n new FileData(\r\n {\r\n file,\r\n } as RawFileData,\r\n {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n },\r\n ),\r\n );\r\n }\r\n\r\n for (const fileData of filesData) {\r\n if (fileData.file.size <= 20 * 1024 * 1024) {\r\n // <= 20MB\r\n this.initVideo(fileData);\r\n }\r\n }\r\n if (this.hasMultiple) {\r\n // splice: for list transitions to work properly\r\n this.filesData.splice(this.filesData.length, 0, ...filesData);\r\n } else {\r\n this.filesData = filesData;\r\n }\r\n\r\n FileData.readFiles(filesData).then((filesDataNew: FileData[]) => {\r\n const allFilesDataRaw = FileData.toRawArray(this.filesData);\r\n this.filesDataRaw = allFilesDataRaw;\r\n this.$emit('input', Array.isArray(this.value) ? allFilesDataRaw : allFilesDataRaw[0]);\r\n this.$emit('select', FileData.toRawArray(filesDataNew));\r\n });\r\n this.autoUpload(filesData);\r\n },\r\n filesChanged(event: InputEvent): void {\r\n const files: FileList = (event.target as HTMLInputElement).files as FileList;\r\n this.$emit('change', event);\r\n if (!files[0]) {\r\n return;\r\n }\r\n this.handleFiles(files);\r\n if (this.$refs.fileInput) {\r\n (this.$refs.fileInput as any).value = null; // do not use ''\r\n // because chrome won't fire change event for same file\r\n }\r\n },\r\n drop(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter = 0;\r\n this.isDragging = false;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n utils.getFilesFromDroppedItems(event.dataTransfer).then((files) => {\r\n this.$emit('drop', event);\r\n if (!files || !files[0]) {\r\n return;\r\n }\r\n if (!this.hasMultiple) {\r\n files = [files[0]];\r\n }\r\n this.handleFiles(files);\r\n });\r\n },\r\n dragEnter(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n dragCounter++;\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragOver(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragLeave(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter--;\r\n if (dragCounter === 0) {\r\n this.isDragging = false;\r\n }\r\n },\r\n removeFileData(fileDataOrRaw: FileData | RawFileData): void {\r\n let i: number;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n const fileData: FileData = this.filesData.splice(i, 1)[0];\r\n const fileDataRaw = this.filesDataRaw.splice(i, 1)[0];\r\n this.$emit('input', this.filesDataRaw);\r\n // this.$emit('delete', fileData);\r\n this.$emit('delete', fileDataRaw);\r\n this.autoDeleteUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n this.filesData.splice(i, 1, fileData);\r\n this.filesDataRaw.splice(i, 1, fileDataRaw);\r\n },\r\n );\r\n },\r\n filenameChanged(fileData: FileData): void {\r\n this.$emit('rename', FileData.toRawArray([fileData])[0]);\r\n this.autoUpdateUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n fileData.customName = fileData.oldCustomName;\r\n },\r\n );\r\n },\r\n checkValue(): void {\r\n let filesDataRaw: RawFileData[] = this.value || [];\r\n filesDataRaw = Array.isArray(filesDataRaw) ? filesDataRaw : [filesDataRaw];\r\n\r\n const fdPromises: Array> = [];\r\n const filesDataRawNew: RawFileData[] = [];\r\n\r\n for (let i = 0; i < filesDataRaw.length; i++) {\r\n const existingIndex = this.filesDataRaw.indexOf(filesDataRaw[i]);\r\n if (existingIndex !== -1) {\r\n fdPromises.push(Promise.resolve(this.filesData[existingIndex]));\r\n filesDataRawNew[i] = this.filesDataRaw[existingIndex];\r\n } else {\r\n fdPromises.push(\r\n FileData.fromRaw(filesDataRaw[i], {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n }),\r\n );\r\n filesDataRawNew.push(filesDataRaw[i]);\r\n }\r\n }\r\n\r\n this.filesDataRaw = filesDataRawNew;\r\n Promise.all(fdPromises).then((filesData) => {\r\n this.filesData = filesData;\r\n });\r\n },\r\n sortStart(): void {\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.isSorting = true;\r\n this.isSortingActive = true;\r\n },\r\n sortEnd(sortData: { event: Event; newIndex: number; oldIndex: number; collection: any }): void {\r\n this.isSortingActive = false;\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.sortTimeout = setTimeout(() => {\r\n this.isSorting = false;\r\n }, this.transitionDuration + 100);\r\n if (sortData.oldIndex !== sortData.newIndex) {\r\n this.filesDataRaw = utils.arrayMove(this.filesDataRaw, sortData.oldIndex, sortData.newIndex);\r\n this.$nextTick(() => {\r\n this.$emit('input', this.filesDataRaw);\r\n this.$emit('sort', {\r\n oldIndex: sortData.oldIndex,\r\n newIndex: sortData.newIndex,\r\n });\r\n });\r\n }\r\n },\r\n },\r\n created() {\r\n this.uniqueId =\r\n new Date().getTime().toString(36) +\r\n Math.random()\r\n .toString(36)\r\n .slice(2);\r\n this.checkValue();\r\n },\r\n watch: {\r\n value() {\r\n this.checkValue();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-agent-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-agent.vue?vue&type=template&id=1410c648&\"\nimport script from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import VueFileIcon from './components/vue-file-icon.vue';\r\nimport VueFilePreview from './components/vue-file-preview.vue';\r\nimport VueFileList from './components/vue-file-list.vue';\r\nimport VueFileListItem from './components/vue-file-list-item.vue';\r\nimport VueFileAgent from './components/vue-file-agent.vue';\r\nimport VueFileAgentMixin from './components/vue-file-agent-mixin';\r\nimport VueFilePreviewMixin from './components/vue-file-preview-mixin';\r\nimport utils from './lib/utils';\r\nimport plugins from './lib/plugins';\r\nimport FileData from './lib/file-data';\r\n\r\nimport _Vue, { PluginFunction } from 'vue';\r\n\r\nexport default class VueFileAgentPlugin {\r\n public static VueFileIcon = VueFileIcon;\r\n public static VueFilePreview = VueFilePreview;\r\n public static VueFileAgent = VueFileAgent;\r\n public static component = VueFileAgent;\r\n public static mixin = VueFileAgentMixin;\r\n public static plugins = plugins;\r\n\r\n public static VueFileAgentMixin = VueFileAgentMixin;\r\n public static VueFilePreviewMixin = VueFilePreviewMixin;\r\n\r\n public static install(Vue: typeof _Vue, options: any) {\r\n Vue.component('VueFileIcon', VueFileIcon);\r\n Vue.component('VueFilePreview', VueFilePreview);\r\n Vue.component('VueFileList', VueFileList);\r\n Vue.component('VueFileListItem', VueFileListItem);\r\n Vue.component('VueFileAgent', VueFileAgent);\r\n Vue.prototype.$vueFileAgent = {\r\n mixin: VueFileAgentMixin,\r\n };\r\n }\r\n}\r\n\r\n// auto install\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n VueFileAgentPlugin.install(window.Vue, {});\r\n (window as any).VueFileAgent = VueFileAgentPlugin;\r\n}\r\n\r\nexport const mixin = VueFileAgentMixin;\r\n\r\nexport { VueFileAgentMixin, VueFilePreviewMixin };\r\n\r\nexport { utils, FileData, plugins };\r\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://vue-file-agent/webpack/universalModuleDefinition","webpack://vue-file-agent/webpack/bootstrap","webpack://vue-file-agent/./src/components/vue-file-agent.vue?b54a","webpack://vue-file-agent/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue-file-agent/./src/components/vue-file-agent.vue?96c5","webpack://vue-file-agent/./node_modules/current-script-polyfill/currentScript.js","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue?1b6f","webpack://vue-file-agent/./src/lib/extensions.ts","webpack://vue-file-agent/./src/lib/icons.ts","webpack://vue-file-agent/./src/components/vue-file-icon.vue?22fe","webpack://vue-file-agent/./src/components/vue-file-icon.vue?ff5c","webpack://vue-file-agent/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue","webpack://vue-file-agent/./src/components/vue-file-preview.vue?b946","webpack://vue-file-agent/./src/lib/drop-handler.ts","webpack://vue-file-agent/./src/lib/utils.ts","webpack://vue-file-agent/./src/lib/file-data.ts","webpack://vue-file-agent/./src/components/vue-file-preview-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-preview.vue?2ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue?6ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue","webpack://vue-file-agent/./src/components/vue-file-list.vue?20f8","webpack://vue-file-agent/./src/components/vue-file-list.vue?5199","webpack://vue-file-agent/./src/components/vue-file-list.vue?8914","webpack://vue-file-agent/./src/components/vue-file-list.vue","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?85d9","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?cc4e","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?09a3","webpack://vue-file-agent/./src/components/vue-file-list-item.vue","webpack://vue-file-agent/./src/components/vue-file-agent.vue?0925","webpack://vue-file-agent/./node_modules/tslib/tslib.es6.js","webpack://vue-file-agent/./src/lib/ajax-request.ts","webpack://vue-file-agent/./src/lib/upload-helper.ts","webpack://vue-file-agent/./src/lib/plugins.ts","webpack://vue-file-agent/./src/components/vue-file-agent-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-agent.vue?36b6","webpack://vue-file-agent/./src/components/vue-file-agent.vue?54cf","webpack://vue-file-agent/./src/components/vue-file-agent.vue","webpack://vue-file-agent/./src/index.ts","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":[],"mappings":"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","file":"vue-file-agent.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-file-agent\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-file-agent\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","// extracted by mini-css-extract-plugin","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":_vm.viewBoxComputed}},[_vm._l((_vm.icon.paths),function(d,index){return [(d)?_c('path',{key:index,attrs:{\"d\":d}}):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n 'audio': [\r\n 'aif',\r\n 'cda',\r\n 'mid',\r\n 'midi',\r\n // 'mp3',\r\n 'mpa',\r\n // 'ogg',\r\n // 'wav',\r\n 'wma',\r\n 'wpl',\r\n ],\r\n 'audio-playable': ['mp3', 'ogg', 'wav'],\r\n 'archive': ['7z', 'arj', 'deb', 'pkg', 'rar', 'rpm', 'tar.gz', 'z', 'zip'],\r\n 'disc': [\r\n // 'bin',\r\n 'dmg',\r\n 'iso',\r\n 'toast',\r\n 'vcd',\r\n ],\r\n 'database': [\r\n 'csv',\r\n 'dat',\r\n 'db',\r\n 'dbf',\r\n 'log',\r\n 'mdb',\r\n 'sav',\r\n 'sql',\r\n 'tar',\r\n // 'xml'\r\n ],\r\n 'executable': ['apk', 'bat', 'bin', 'cgi', 'pl', 'com', 'exe', 'gadget', 'jar', 'py', 'wsf', 'ipa'],\r\n 'font': ['fnt', 'fon', 'otf', 'ttf'],\r\n 'image': ['ai', 'bmp', 'gif', 'ico', 'jpeg', 'jpg', 'png', 'ps', 'psd', 'svg', 'tif', 'tiff'],\r\n 'markup': [\r\n 'asp',\r\n 'aspx',\r\n 'cer',\r\n 'cfm',\r\n 'cgi',\r\n 'pl',\r\n 'css',\r\n 'scss',\r\n 'htm',\r\n 'html',\r\n 'jsp',\r\n // 'vue',\r\n 'part',\r\n 'php',\r\n 'py',\r\n 'rss',\r\n 'xml',\r\n 'xhtml',\r\n ],\r\n 'presentation': ['key', 'odp', 'pps', 'ppt', 'pptx'],\r\n 'script': ['c', 'class', 'cpp', 'cs', 'h', 'java', 'js', 'json', 'sh', 'swift', 'vb'],\r\n 'sheet': ['ods', 'xlr', 'xls', 'xlsx'],\r\n 'system': [\r\n 'bak',\r\n 'cab',\r\n 'cfg',\r\n 'cpl',\r\n 'cur',\r\n 'dll',\r\n 'dmp',\r\n 'drv',\r\n 'icns',\r\n // 'ico',\r\n 'ini',\r\n 'lnk',\r\n 'msi',\r\n 'sys',\r\n 'tmp',\r\n ],\r\n 'video': [\r\n '3g2',\r\n '3gp',\r\n 'avi',\r\n 'flv',\r\n 'h264',\r\n // 'm4v',\r\n 'mkv',\r\n // 'mov',\r\n // 'mp4',\r\n 'mpg',\r\n 'mpeg',\r\n 'rm',\r\n 'swf',\r\n 'vob',\r\n // 'webm',\r\n 'wmv',\r\n ],\r\n 'video-playable': ['mp4', 'webm', 'mov'],\r\n 'vue': ['vue'],\r\n 'doc': [\r\n 'doc',\r\n 'docx',\r\n 'odt',\r\n 'rtf',\r\n 'tex',\r\n // 'txt',\r\n 'wks',\r\n 'wps',\r\n 'wpd',\r\n ],\r\n 'text': ['txt'],\r\n 'ebook': ['epub'],\r\n 'pdf': ['pdf'],\r\n 'folder': ['folder'],\r\n 'play': ['play'],\r\n};\r\n","import extensions from '../lib/extensions';\r\n\r\nexport class SvgIcon {\r\n public category: string = '';\r\n constructor(public paths: string[], public color?: string, public viewBox?: string) {}\r\n}\r\n\r\nconst playIconPaths = ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'];\r\n\r\nconst icons = {\r\n 'folder': new SvgIcon(\r\n [\r\n 'M96.5 93.7h-93c-2 0-3.5-1.5-3.5-3.5V35.4h100v54.8c0 2-1.5 3.5-3.5 3.5z',\r\n 'M44.9 20V9.7c0-2-1.5-3.5-3.5-3.5h-38C1.5 6.3 0 7.8 0 9.7v25.7h100V23.5c0-2-1.5-3.5-3.5-3.5H44.9z',\r\n ],\r\n '#efce4a',\r\n ),\r\n 'audio': new SvgIcon(\r\n [\r\n 'M32.5 37.5h-9v25h9L53.6 77V23L32.5 37.5M71.9 50c0 6.8-3.7 12.7-9.1 15.8l2.8 4.9c7.1-4.1 11.9-11.8 11.9-20.7 0-8.8-4.8-16.6-11.9-20.7l-2.8 4.9c5.4 3.1 9.1 9 9.1 15.8z',\r\n // tslint:disable-next-line\r\n 'M62.1 50c0 3.2-1.7 5.9-4.3 7.4l2.7 4.7c4.2-2.4 7-6.9 7-12.1 0-5.2-2.8-9.7-7-12.1l-2.7 4.7c2.6 1.5 4.3 4.2 4.3 7.4z',\r\n ],\r\n '#039',\r\n ),\r\n 'video': new SvgIcon(\r\n [\r\n 'M21 26.4v47.1h58V26.4H21zm10.9 43.5h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2zm10.9 25.4V37.3L60.9 50 42.8 62.7zm32.6 7.2h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2z',\r\n ],\r\n '#ef6f2e',\r\n ),\r\n 'audio-playable': new SvgIcon(playIconPaths, '#039', '0 0 48 48'),\r\n 'video-playable': new SvgIcon(playIconPaths, '#ef6f2e', '0 0 48 48'),\r\n 'archive': new SvgIcon(\r\n [\r\n 'M72.4 38.5h-7.9v-7.9l7.9 7.9zm-21.3-7.9v28.8h21.4v-19h-9.9v-9.9H51.1zm3.3-7.6H30.8v5.6h9.3l-5.9 4.5v4.8l8.6-6.6v-2.7h30.1v-2.3L54.4 23zM42.9 35.1l-8.6 6.6v4.8l8.6-6.6v-4.8zm-8.7 20l8.6-6.6v-4.8l-8.6 6.6v4.8zm8.7 2v-4.8l-8.6 6.6v2.6h-3.4v5.6h5.3v3.8H33c-.6-1-1.6-1.6-2.8-1.6-1.8 0-3.2 1.4-3.2 3.2s1.4 3.2 3.2 3.2c1.2 0 2.2-.6 2.8-1.6h3.1V77h4.8v-2.9H44c.6 1 1.6 1.6 2.8 1.6 1.8 0 3.2-1.4 3.2-3.2s-1.4-3.2-3.2-3.2c-1.2 0-2.2.6-2.8 1.6h-3.1v-3.8h13.5l18.5-3.3v-2.3H37.1l5.8-4.4z',\r\n ],\r\n '#ba8322',\r\n ),\r\n 'system': new SvgIcon(\r\n [\r\n 'M73.6 54.8c-2.1-.7-3.4-2.6-3.4-4.8s1.4-4.1 3.4-4.8c.6-.2 1-.9.8-1.5-.6-2.3-1.5-4.4-2.7-6.5-.3-.6-1.1-.8-1.7-.5-.7.4-1.6.6-2.4.6-2.8 0-5-2.3-5-5 0-.8.2-1.7.6-2.4.3-.6.1-1.3-.5-1.7-2-1.2-4.2-2.1-6.5-2.7-.6-.2-1.3.2-1.5.8-.7 2.1-2.6 3.4-4.8 3.4-2.2 0-4.1-1.4-4.8-3.4-.2-.6-.9-1-1.5-.8-2.3.6-4.4 1.5-6.5 2.7-.6.3-.8 1.1-.5 1.7.4.7.6 1.6.6 2.4 0 2.8-2.3 5-5 5-.8 0-1.7-.2-2.4-.6-.6-.3-1.3-.1-1.7.5-1.2 2-2.1 4.2-2.7 6.5-.2.6.2 1.3.8 1.5 2.1.7 3.4 2.6 3.4 4.8s-1.4 4.1-3.4 4.8c-.6.2-1 .9-.8 1.5.6 2.3 1.5 4.4 2.7 6.5.3.6 1.1.8 1.7.5.7-.4 1.6-.6 2.4-.6 2.8 0 5 2.3 5 5 0 .8-.2 1.7-.6 2.4-.3.6-.1 1.3.5 1.7 2 1.2 4.2 2.1 6.5 2.7h.3c.5 0 1-.3 1.2-.9.7-2.1 2.6-3.4 4.8-3.4 2.2 0 4.1 1.4 4.8 3.4.2.6.9 1 1.5.8 2.3-.6 4.4-1.5 6.5-2.7.6-.3.8-1.1.5-1.7-.4-.7-.6-1.6-.6-2.4 0-2.8 2.3-5 5-5 .8 0 1.7.2 2.4.6.6.3 1.3.1 1.7-.5 1.2-2 2.1-4.2 2.7-6.5.2-.5-.1-1.2-.8-1.4zM50 57.6c-4.2 0-7.6-3.4-7.6-7.6 0-4.2 3.4-7.6 7.6-7.6 4.2 0 7.6 3.4 7.6 7.6 0 4.2-3.4 7.6-7.6 7.6z',\r\n ],\r\n '#999',\r\n ),\r\n 'image': new SvgIcon(\r\n [\r\n 'm 40.400002,35 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z',\r\n 'M78.9 47.3l-9.7-9.6L50 57l-9.6-9.7-19.3 19.3V73h57.8z',\r\n ],\r\n '#5b2d8d',\r\n ),\r\n 'doc': new SvgIcon(\r\n [\r\n 'M29.6 53l-5.9-18.2c-.2-.7-.4-1-.5-1-.1-.1-.2-.1-.4-.2l-2.1-.6-.1-2.6h11l.2 2.6-2.1.6v.2c0 .2.1.7.4 1.2l2.2 7 3.9-11.7 3-.1 3.6 11.7 2.5-7c.1-.5.4-1 .4-1.2v-.1l-1.8-.5-.1-2.7h8.6l.2 2.6-2.3.7c-.1 0-.2.1-.4.1 0 .1-.2.2-.4.9L43 52.8l-3.1.2-3.3-11.2-3.9 11-3.1.2z',\r\n 'M57.8 30.2h21.7v3.4H57.8zm0 9.2h21.7v3.4H57.8zm0 9.4h21.7v3.4H57.8zm-36.2 9.6h57.9v3.4H21.6zm0 9.4h57.9v3.4H21.6z',\r\n ],\r\n '#2372ba',\r\n ),\r\n 'executable': new SvgIcon(\r\n ['M33.1 29.8l-6.6 6.6L37.2 47 26.5 57.6l6.6 6.6L50.2 47zm18.8 31.1h22.6v9.2H51.9z'],\r\n '#333',\r\n ),\r\n 'ebook': new SvgIcon(\r\n [\r\n 'M75.8 45.7c-.3-.6-.7-1.2-1.3-1.6-.1.5-.3 1-.6 1.5L58.3 69.8c-.6.9-1.9 1.1-2.9.8l-25-7c-1.5-.4-3.3-1.3-3.4-3 0-.6 0-.9.4-1.1.3-.3.8-.2 1.1-.1L52 66c3.4 1 4.4.2 6.9-3.5l14.4-22.2c.7-1.2.9-2.5.5-3.6s-1.4-2-2.7-2.4l-20.6-5.7c-.5-.1-1-.1-1.5-.1v-.1c-3.2-1.9-4.4 1.7-6 3-.6.5-1.4.8-1.7 1.3-.2.5-.1 1-.3 1.4-.6 1.4-2.4 3.6-3.3 4.3-.6.4-1.2.5-1.6 1.1-.3.4-.2 1.1-.4 1.6-.5 1.2-2.1 3.3-3.2 4.4-.4.4-1 .6-1.3 1.1-.3.4-.2 1.1-.4 1.6-.7 1.3-2.2 3.2-3.4 4.3-.6.6-1.3.9-1.6 1.5-.1.3 0 .7-.2 1.1-.2.6-.5 1.1-.7 1.7-.7.9-1 2.1-.9 3.4.2 3.1 2.5 6 5.3 6.8l25 7c2.3.6 5.2-.5 6.6-2.5l14.4-22.2c.7-1.1.9-2.4.5-3.6zm-28.9-7.9l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1l-1.1 1.6c-.3.4-.9.7-1.4.5l-16.5-4.6c-.5-.2-.7-.6-.4-1zM42.7 44l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1L60.9 49c-.3.4-.9.7-1.4.5L43.1 45c-.5-.1-.7-.6-.4-1z',\r\n ],\r\n '#963',\r\n ),\r\n 'markup': new SvgIcon(\r\n [\r\n 'M21.5 48.3l16.2-14v7.1l-11 9.2v.1l11 9.2V67L21.5 53v-4.7zm30.6-17.6h4.3L48 71.3h-4.2l8.3-40.6zM62.3 60l11-9.2v-.1l-11-9.2v-7.1l16.2 14v4.9l-16.2 14V60z',\r\n ] /* no color? */,\r\n ),\r\n 'script': new SvgIcon(\r\n [\r\n 'M42.3 44.2h15.4V48H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zM69.2 25H38.5c-4.2 0-7.7 3.4-7.7 7.7v34.6h-7.7c0 4.2 3.4 7.7 7.7 7.7h30.8c4.2 0 7.7-3.4 7.7-7.7V36.5H77v-3.8c-.1-4.3-3.5-7.7-7.8-7.7zm-3.8 41.6c0 2.5-2 4.5-4.5 4.5H32.7c1.9-1.3 1.9-3.8 1.9-3.8V32.7c0-2.1 1.7-3.8 3.8-3.8s3.8 1.7 3.8 3.8v3.8h23.1v30.1zM46.2 32.7v-3.8h23.1c3.5 0 3.8 2.2 3.8 3.8H46.2z',\r\n ] /* no color? */,\r\n ),\r\n 'disc': new SvgIcon(\r\n [\r\n 'M46.9 50c0 .8.3 1.6.9 2.2 1.2 1.2 3.2 1.2 4.4 0 .6-.6.9-1.4.9-2.2 0-.8-.3-1.6-.9-2.2-.6-.6-1.4-.9-2.2-.9-.8 0-1.6.3-2.2.9-.6.6-.9 1.4-.9 2.2z',\r\n 'M32.3 32.3c-9.8 9.8-9.8 25.6 0 35.4 9.8 9.8 25.6 9.8 35.4 0 9.8-9.8 9.8-25.6 0-35.4-9.8-9.7-25.6-9.7-35.4 0zm37 28.2c-.9 1.7-2.1 3.2-3.5 4.6-1.4 1.4-3 2.6-4.6 3.5l-5.8-11.1s.5-.2 1.6-1.2c1.1-1.1 1.3-1.6 1.3-1.6l11 5.8zM54.4 45.6c1.2 1.2 1.8 2.8 1.8 4.4 0 1.6-.6 3.2-1.8 4.4-2.4 2.4-6.4 2.4-8.8 0-1.2-1.2-1.8-2.8-1.8-4.4 0-1.6.6-3.2 1.8-4.4a6.1 6.1 0 0 1 8.8 0zm-8.5-4.4s-1.2.7-2.2 1.8c-.9 1-1 1.2-1.3 1.7l-11-5.9c.9-1.7 2.1-3.2 3.5-4.6 1.4-1.4 3-2.6 4.6-3.5l6.4 10.5z',\r\n ],\r\n '#c96',\r\n ),\r\n 'text': new SvgIcon(\r\n ['M69.4 28.6v5.5H21.5v-5.5M30.6 41h47.9v5.6H30.6zm-9.1 12.4h47.9V59H21.5zm9.1 12.5h47.9v5.6H30.6z'],\r\n '#6b533b',\r\n ),\r\n 'database': new SvgIcon(\r\n [\r\n 'M48.1 75.5c-6.5-.3-12.3-2.3-15.4-5.4-.9-.9-1.8-2.1-2.2-2.9l-.3-.5v-6.1c0-6 0-6.1.1-5.6.3 1.3 1.1 2.7 2.3 3.7.8.7 2.5 1.8 3.8 2.5 2.4 1.2 5.2 2 8.4 2.5 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.3-2.5 1.4-.7 3-1.7 3.8-2.5 1.1-1 2-2.5 2.3-3.8.1-.5.1-.4.1 5.5v6l-.3.6c-1 1.9-2.6 3.6-4.7 4.8-4.3 2.7-10.5 4-16.8 3.7z',\r\n 'M48.1 60.4c-5.7-.3-11-1.9-14.3-4.4-.7-.6-1.8-1.6-2.3-2.2-.4-.6-.8-1.2-1.1-1.8l-.3-.5v-6c0-5.9 0-6 .1-5.5.2.9.7 2 1.5 2.9.4.5 1.1 1.2 1.5 1.4.1.1.5.3.7.5 2.7 1.9 6.5 3.3 10.8 3.9 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.4-2.5 1.4-.7 3-1.8 3.9-2.5 1.1-1 2-2.4 2.2-3.7.1-.5.1-.4.1 5.5v5.9l-.4.8c-.7 1.2-1.1 1.8-1.9 2.7-.8.8-1.6 1.5-2.7 2.1-4.3 2.4-10.5 3.7-16.8 3.4z',\r\n 'M47.7 45.4c-3.8-.3-6.8-.9-9.6-2-3.4-1.3-5.8-3.1-7.1-5.2-.3-.4-.5-1-.7-1.6-.2-.6-.3-2-.1-2.7.9-4.3 6.6-7.9 14.5-9 1.9-.3 2.6-.3 5.3-.3s3.4 0 5.3.3c3.1.5 6 1.3 8.4 2.5 3.5 1.7 5.6 4 6.1 6.5.1.7.1 2.1-.1 2.7-.4 1.3-1 2.2-2 3.2-2.8 2.9-7.9 4.9-14.1 5.6-.9-.1-5.1 0-5.9 0z',\r\n ],\r\n '#a03537',\r\n ),\r\n 'pdf': new SvgIcon(\r\n [\r\n 'M46.2 21.8c-3.5 0-6.3 2.9-6.3 6.3 0 4.3 2.4 9.6 4.9 14.7-2 6.1-4.1 12.7-7 18.2-5.8 2.3-11 4-14 6.6l-.2.2c-1.1 1.2-1.8 2.7-1.8 4.4 0 3.5 2.9 6.3 6.3 6.3 1.7 0 3.4-.6 4.4-1.8 0 0 .2 0 .2-.2 2.3-2.7 5-7.8 7.5-12.2 5.5-2.1 11.5-4.4 16.9-5.8 4.1 3.4 10.1 5.5 15 5.5 3.5 0 6.3-2.9 6.3-6.3 0-3.5-2.9-6.3-6.3-6.3-4 0-9.6 1.4-13.9 2.9-3.5-3.4-6.7-7.5-9.2-11.9C50.6 37 52.6 32 52.6 28c-.2-3.5-2.9-6.2-6.4-6.2zm0 3.6c1.4 0 2.4 1.1 2.4 2.4 0 1.8-1.1 5.3-2.1 9-1.5-3.7-2.9-7.2-2.9-9 .1-1.2 1.2-2.4 2.6-2.4zm1.1 21.5c1.8 3.1 4.1 5.8 6.6 8.2-3.7 1.1-7.3 2.3-11 3.7 1.8-3.8 3.1-7.9 4.4-11.9zM72 55c1.4 0 2.4 1.1 2.4 2.4 0 1.4-1.1 2.4-2.4 2.4-2.9 0-6.9-1.2-10.1-3.1C65.6 56 69.7 55 72 55zM34.6 66.2c-1.8 3.2-3.5 6.1-4.7 7.6-.5.5-.9.6-1.7.6-1.4 0-2.4-1.1-2.4-2.4 0-.6.3-1.4.6-1.7 1.3-1.2 4.5-2.6 8.2-4.1z',\r\n ],\r\n '#c11e07',\r\n ),\r\n 'sheet': new SvgIcon(\r\n [\r\n 'M62.1 30.9h14.1v9.4H62.1zm0 14.5h14.1v9.4H62.1zm0 14.3h14.1v9.4H62.1zm-19.2 0H57v9.4H42.9zm-19 0H38v9.4H23.9zm19.2-14.2h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9zm19.2-14.6h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9z',\r\n ],\r\n '#30723f',\r\n ),\r\n 'presentation': new SvgIcon(\r\n [\r\n 'M 73.319289,26.32707 H 26.61477 c -2.335226,0 -4.258353,1.917194 -4.258353,4.245215 v 29.853446 c 0,2.328021 1.923127,4.245215 4.258353,4.245215 h 19.506006 l -1.923128,7.257947 h -2.197859 c -0.961564,0 -1.648395,0.684712 -1.648395,1.643309 0,0.958597 0.686831,1.643309 1.648395,1.643309 h 15.797117 c 0.961563,0 1.648394,-0.684712 1.648394,-1.643309 0,-0.958597 -0.686831,-1.643309 -1.648394,-1.643309 H 55.46168 l -1.923128,-7.39489 h 19.780737 c 2.335226,0 4.258353,-1.917193 4.258353,-4.245214 V 30.572285 c 0,-2.328021 -1.923127,-4.245215 -4.258353,-4.245215 z m 0.412099,34.372546 H 26.202672 V 30.2984 h 47.39135 z',\r\n 'm 38.428266,48.511741 h 3.846255 v 7.668775 h -3.846255 z m 6.456214,-2.464963 h 3.846254 V 56.180516 H 44.88448 Z m 6.318846,-2.601906 h 3.846255 v 12.735644 h -3.846255 z m 6.318847,-2.464964 h 3.846255 v 15.200608 h -3.846255 z m -0.274732,-5.614639 -6.730946,3.697445 -4.945184,-1.643308 -8.379341,4.519099 1.236296,1.369424 7.417777,-3.834387 4.945185,1.643309 7.692509,-4.245215 1.236296,1.369424 2.88469,-4.792984 -6.593578,0.410827 z',\r\n ],\r\n '#c24f32',\r\n ),\r\n 'font': new SvgIcon(\r\n [\r\n 'M40.4 56.2H28.7l-1.4 3.1c-.5 1-.7 1.9-.7 2.6 0 .9.4 1.6 1.1 2 .4.3 1.5.4 3.2.6v.9H20v-.9c1.2-.2 2.2-.6 2.9-1.4.8-.8 1.7-2.4 2.8-4.8l11.8-25.6h.5l12 26.2c1.1 2.5 2.1 4.1 2.8 4.7.6.5 1.3.8 2.3.9v.9h-16v-.9h.7c1.3 0 2.2-.2 2.7-.5.4-.3.5-.6.5-1.1 0-.3 0-.6-.1-.9 0-.1-.3-.7-.7-1.8l-1.8-4zm-.8-1.8l-4.9-11-5.1 11h10z',\r\n 'M80 44.2l-4.7 15.7-.5 1.9c0 .2-.1.4-.1.5 0 .2.1.4.2.5.1.2.3.2.4.2.3 0 .8-.3 1.4-.8.2-.2.8-.9 1.8-2.2l.9.4c-1.2 2-2.4 3.5-3.7 4.5-1.3.9-2.7 1.4-4.2 1.4-.9 0-1.6-.2-2.1-.7-.5-.5-.7-1-.7-1.8 0-.6.3-1.8.8-3.4l.6-1.9c-1.9 3.1-3.7 5.4-5.4 6.7-1 .8-2.1 1.1-3.2 1.1-1.5 0-2.6-.6-3.2-1.8-.7-1.2-1-2.5-1-4 0-2.2.7-4.8 2.1-7.6 1.4-2.9 3.2-5.2 5.5-6.9 1.9-1.4 3.6-2.2 5.3-2.2.9 0 1.6.3 2.2.8.6.5 1 1.4 1.2 2.8l.9-2.9 5.5-.3zm-7.8 4.5c0-1.3-.2-2.2-.6-2.8-.3-.4-.7-.6-1.2-.6s-1 .2-1.6.7c-1.1 1-2.3 3-3.5 5.9-1.3 3-1.9 5.6-1.9 7.7 0 .8.1 1.4.4 1.8.3.4.6.6.9.6.7 0 1.5-.4 2.2-1.2 1.1-1.2 2-2.6 2.9-4.3 1.6-2.9 2.4-5.5 2.4-7.8z',\r\n ],\r\n '#7291a1',\r\n ),\r\n 'vue': new SvgIcon(\r\n [\r\n 'M 66.425365,28.281905 H 56.751974 L 49.707631,39.427061 43.669624,28.281905 H 21.530262 L 49.707631,76.54823 77.885006,28.281905 Z m -37.888497,4.025337 h 6.767604 L 49.707631,57.239179 64.098226,32.307242 h 6.767597 L 49.707631,68.560446 Z',\r\n ],\r\n '#41B883',\r\n ),\r\n 'other': new SvgIcon(\r\n [\r\n 'M71 36.3L57.8 23.1c-.4-.4-.9-.6-1.4-.6h-26c-1.1 0-2 .9-2 2v51.1c0 1.1.9 2 2 2h39.3c1.1 0 2-.9 2-2V37.7c-.1-.5-.3-1-.7-1.4zm-3.9 2.3H55.5V27l11.6 11.6zm.1 34.5H32.8V26.9h18.5v13.3c0 1.4 1.2 2.6 2.6 2.6h13.3v30.3z',\r\n ] /* no color? */,\r\n ),\r\n // system icons\r\n 'system-close': new SvgIcon(\r\n ['M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n 'system-file-preview-new': new SvgIcon(\r\n [\r\n 'M745,353c-5.6,0-11.3,0.2-17.2,0.7C687.4,237.3,577.8,157,451,157c-162.1,0-294,131.9-294,294c0,2.1,0,4.1,0,6.2C72.6,479,10,555.8,10,647c0,108.1,87.9,196,196,196h245V618.3l-63.4,63.4c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4c-19.2-19.2-19.2-50.1,0-69.3l147-147c4.6-4.6,9.9-8.1,16-10.6c12-4.9,25.5-4.9,37.4,0c6,2.5,11.4,6.1,16,10.6l147,147c19.2,19.2,19.2,50.1,0,69.3c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4L549,618.3V843h196c135.1,0,245-109.9,245-245S880.1,353,745,353z',\r\n ],\r\n undefined,\r\n '0 0 1000 1000',\r\n ),\r\n // system icons\r\n 'system-sortable-handle': new SvgIcon(['M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'], undefined, '0 0 24 24'),\r\n 'system-file-av-play': new SvgIcon(\r\n ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'],\r\n undefined,\r\n '0 0 48 48',\r\n ),\r\n // M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z\r\n 'system-file-name-edit': new SvgIcon(\r\n [\r\n 'M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z',\r\n ],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n};\r\n\r\nfor (const category in icons) {\r\n if (icons.hasOwnProperty(category)) {\r\n (icons as any)[category].category = category;\r\n }\r\n}\r\n\r\nexport default icons;\r\n\r\nexport const extensionsMap: any = {};\r\n\r\nfor (const cat in extensions) {\r\n if (extensions.hasOwnProperty(cat)) {\r\n for (const ext of (extensions as any)[cat]) {\r\n extensionsMap[ext] = cat;\r\n }\r\n }\r\n}\r\n\r\nexport function getIconByName(name: string): SvgIcon {\r\n const svgIcon = (icons as any)[name] || icons.other;\r\n return svgIcon;\r\n}\r\n\r\nexport function getIconFromExt(ext: string): SvgIcon {\r\n ext = ext.toLowerCase();\r\n const cat = extensionsMap[ext];\r\n return getIconByName(cat);\r\n}\r\n","\n\n\n\n\n\n\n\n\r\nimport { getIconFromExt, getIconByName, SvgIcon } from '../lib/icons';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['ext', 'name', 'viewBox'],\r\n computed: {\r\n viewBoxComputed(): string {\r\n if (!this.viewBox && this.icon && this.icon.viewBox) {\r\n return this.icon.viewBox;\r\n }\r\n return this.viewBox ? this.viewBox : '0 0 100 100';\r\n },\r\n icon(): SvgIcon {\r\n if (this.name) {\r\n return getIconByName(this.name);\r\n }\r\n const svgIcon = getIconFromExt(this.ext);\r\n return svgIcon;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./vue-file-icon.vue?vue&type=template&id=61d49b70&\"\nimport script from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'file-preview-wrapper-' + _vm.fileData.ext(),\n _vm.fileData.isImage() ? 'file-preview-wrapper-image' : 'file-preview-wrapper-other',\n 'file-category-' + _vm.fileData.icon().category,\n { 'file-is-playing-av': _vm.fileData.isPlayingAv },\n { 'is-deletable': _vm.deletable === true },\n { 'is-editable': _vm.editable === true },\n { 'is-edit-input-focused': _vm.isEditInputFocused },\n { 'has-error': _vm.fileData.error } ]},[(_vm.fileData.error)?_c('div',{staticClass:\"file-error-wrapper\",on:{\"click\":function($event){return _vm.dismissError()}}},[_c('div',{staticClass:\"file-error-message file-error-message-client\"},[_vm._v(\" \"+_vm._s(_vm.fileData.getErrorMessage(_vm.errorText))+\" \")])]):_vm._e(),(_vm.fileData.isPlayableAudio() || _vm.fileData.isPlayableVideo())?_c('div',{ref:\"wrapper\",staticClass:\"file-av-wrapper\"},[_c('div',{staticClass:\"file-av-action\",on:{\"click\":function($event){return _vm.playAv(_vm.fileData)}}},[_c('span',{staticClass:\"file-av-stop\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1),_c('span',{staticClass:\"file-av-play\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-av-play\"}})],1)])]):_vm._e(),_c('span',{staticClass:\"file-preview\",class:{\n 'image-preview': _vm.fileData.isImage(),\n 'other-preview': !_vm.fileData.isImage(),\n 'dark-content': _vm.fileData.isImage() && _vm.fileData.isDarkColor(),\n },style:({\n 'background-color': _vm.fileData.color(),\n })},[_c('span',{staticClass:\"file-preview-overlay\"}),(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('span',{staticClass:\"thumbnail\",staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"overflow\":\"hidden\"}},[(_vm.hasLinkableUrl)?_c('a',{attrs:{\"href\":_vm.fileData.url,\"target\":\"_blank\",\"title\":_vm.fileData.name()}},[_c('img',{staticClass:\"file-preview-img\",attrs:{\"src\":_vm.fileData.src()}})]):_c('img',{staticClass:\"file-preview-img\",attrs:{\"src\":_vm.fileData.src()}})]):_vm._e(),_c('span',{staticClass:\"file-ext\"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:\"file-size\"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:\"file-delete\",on:{\"click\":function($event){return _vm.removeFileData(_vm.fileData)},\"touchstart\":function($event){return _vm.filenameClearPressed()},\"mousedown\":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name\",on:{\"click\":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:\"input\",staticClass:\"file-name-input\",attrs:{\"disabled\":_vm.disabled === true,\"type\":\"text\"},domProps:{\"value\":_vm.fileData.name(true)},on:{\"focus\":function($event){return _vm.editInputFocused()},\"blur\":function($event){return _vm.editInputBlured()},\"change\":function($event){return _vm.filenameChanged()},\"input\":function($event){return _vm.filenameChanged()},\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:\"file-name-edit-icon\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-name-edit\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name-text\"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:\"image-dimension\"},[_c('span',{staticClass:\"image-dimension-width\"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:\"image-dimension-height\"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:\"file-progress\",class:{\n 'file-progress-full': _vm.fileData.progress() >= 99.9999,\n 'file-progress-done': _vm.fileData.progress() >= 100,\n 'has-file-progress': _vm.fileData.progress() > 0,\n }},[_c('span',{staticClass:\"file-progress-bar\",style:({ width: _vm.fileData.progress() + '%' })})]):_vm._e(),_c('span',{staticClass:\"file-icon\"},[(_vm.hasLinkableUrl)?_c('a',{attrs:{\"href\":_vm.fileData.url,\"target\":\"_blank\",\"title\":_vm.fileData.name()}},[_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1):_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function getFilesFromDroppedItems(dataTransfer: DataTransfer): Promise {\r\n return new Promise((resolve) => {\r\n if (!includesFolder(dataTransfer.files)) {\r\n return resolve(dataTransfer.files);\r\n }\r\n const files: File[] = [];\r\n const folderReadQueue = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < dataTransfer.items.length; i++) {\r\n const item = dataTransfer.items[i];\r\n if (item.kind !== 'file') {\r\n continue;\r\n }\r\n const fileSystemEntries = getEntries(item);\r\n if (fileSystemEntries) {\r\n folderReadQueue.push(fileSystemEntries);\r\n } else {\r\n const file = item.getAsFile();\r\n if (file) {\r\n files.push(file);\r\n }\r\n }\r\n }\r\n Promise.all(folderReadQueue).then((filesInFolders) => {\r\n resolve(files.concat(...filesInFolders));\r\n });\r\n });\r\n}\r\n\r\nfunction getEntries(entry: any): Promise | undefined {\r\n // convert DataTransferItem to FileSystemEntry first if necessary\r\n if (entry.getAsEntry) {\r\n return getEntries(entry.getAsEntry());\r\n }\r\n if (entry.webkitGetAsEntry) {\r\n return getEntries(entry.webkitGetAsEntry());\r\n }\r\n // return if item is from a browser that does not support webkitGetAsEntry\r\n if (entry.getAsFile) {\r\n return;\r\n }\r\n // Processing directories with more than 100 files:\r\n // https://github.com/lian-yue/vue-upload-component/commit/9c9d8aafbcef005a2cc598454383ec65205d61ee\r\n return new Promise((resolve) => {\r\n if (entry.isFile) {\r\n entry.file((file: File) => resolve([file]));\r\n return;\r\n }\r\n if (entry.isDirectory) {\r\n const files: File[] = [];\r\n const entryReader = entry.createReader();\r\n const readEntries = () => {\r\n entryReader.readEntries((entries: any[]) => {\r\n const iterateEntry = (i: number) => {\r\n if (!entries[i] && i === 0) {\r\n return resolve(files);\r\n }\r\n if (!entries[i]) {\r\n return readEntries();\r\n }\r\n (getEntries(entries[i]) as Promise).then((entryFiles: File[]) => {\r\n files.push(...entryFiles);\r\n iterateEntry(i + 1);\r\n });\r\n };\r\n iterateEntry(0);\r\n });\r\n };\r\n readEntries();\r\n }\r\n if (!entry.isFile && !entry.isDirectory) {\r\n resolve([]);\r\n }\r\n });\r\n}\r\n\r\nfunction includesFolder(files: FileList): boolean {\r\n if (!files.length) {\r\n return true; // if dropping only folders, no files will exist\r\n }\r\n // tslint:disable-next-line\r\n for (var i = 0; i < files.length; i++) {\r\n // A folder has no type and has a size that is a multiple of 4096\r\n if (!files[i].type && files[i].size % 4096 === 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n","import { getFilesFromDroppedItems } from './drop-handler';\r\n\r\nexport type RGBA = [number, number, number, number];\r\nexport interface VideoThumbnail {\r\n url: string;\r\n color?: RGBA;\r\n width: number;\r\n height: number;\r\n}\r\nexport interface ImageThumbnail {\r\n image: HTMLImageElement;\r\n url: string;\r\n color?: RGBA;\r\n}\r\n\r\nenum ImageOrientation {\r\n NORMAL = 1,\r\n UPSIDE_DOWN = 6,\r\n}\r\n\r\nclass Utils {\r\n public arrayMove(arr: any[], previousIndex: number, newIndex: number): any[] {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/utils.js\r\n const array = arr.slice(0);\r\n if (newIndex >= array.length) {\r\n let k = newIndex - array.length;\r\n while (k-- + 1) {\r\n array.push(undefined);\r\n }\r\n }\r\n array.splice(newIndex, 0, array.splice(previousIndex, 1)[0]);\r\n return array;\r\n }\r\n\r\n public getAverageColor(arr: Uint8ClampedArray): RGBA | undefined {\r\n const bytesPerPixel = 4;\r\n const arrLength = arr.length;\r\n if (arrLength < bytesPerPixel) {\r\n return;\r\n }\r\n const step = 5;\r\n const len = arrLength - (arrLength % bytesPerPixel);\r\n const preparedStep = (step || 1) * bytesPerPixel;\r\n\r\n let redTotal = 0;\r\n let greenTotal = 0;\r\n let blueTotal = 0;\r\n let alphaTotal = 0;\r\n let count = 0;\r\n\r\n for (let i = 0; i < len; i += preparedStep) {\r\n const alpha = arr[i + 3];\r\n const red = arr[i] * alpha;\r\n const green = arr[i + 1] * alpha;\r\n const blue = arr[i + 2] * alpha;\r\n\r\n redTotal += red;\r\n greenTotal += green;\r\n blueTotal += blue;\r\n alphaTotal += alpha;\r\n count++;\r\n }\r\n\r\n return alphaTotal\r\n ? [\r\n Math.round(redTotal / alphaTotal),\r\n Math.round(greenTotal / alphaTotal),\r\n Math.round(blueTotal / alphaTotal),\r\n Math.round(alphaTotal / count),\r\n ]\r\n : [0, 0, 0, 0];\r\n }\r\n\r\n public createVideoThumbnail(\r\n video: HTMLVideoElement,\r\n canvas: HTMLCanvasElement,\r\n thumbnailSize: number,\r\n ): Promise {\r\n video.setAttribute('crossOrigin', 'anonymous'); // fix cross origin issue\r\n return new Promise((resolve, reject) => {\r\n let loadedmetadata = false;\r\n let loadeddata = false;\r\n const tryGetThumbnail = () => {\r\n if (!(loadedmetadata && loadeddata)) {\r\n return;\r\n }\r\n const context = canvas.getContext('2d') as CanvasRenderingContext2D;\r\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height);\r\n const url = canvas.toDataURL();\r\n resolve({\r\n url,\r\n color: this.getAverageColor(imageData.data),\r\n width: video.videoWidth,\r\n height: video.videoHeight,\r\n });\r\n };\r\n // Load metadata of the video to get video duration and dimensions\r\n video.addEventListener('loadedmetadata', () => {\r\n // var video_duration = video.duration;\r\n canvas.width = thumbnailSize;\r\n canvas.height = (canvas.width / video.videoWidth) * video.videoHeight;\r\n video.currentTime = 1; // video time\r\n loadedmetadata = true;\r\n tryGetThumbnail();\r\n });\r\n\r\n video.addEventListener('loadeddata', () => {\r\n loadeddata = true;\r\n tryGetThumbnail();\r\n });\r\n });\r\n }\r\n\r\n public getDataURL(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve('');\r\n }\r\n resolve(event.target.result as string);\r\n };\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public getImageOrientationFromArrayBuffer(buffer: ArrayBuffer): number {\r\n // -2: not jpeg\r\n // -1: not defined\r\n const view = new DataView(buffer);\r\n if (view.getUint16(0, false) !== 0xffd8) {\r\n return -2;\r\n }\r\n const length = view.byteLength;\r\n let offset = 2;\r\n while (offset < length) {\r\n if (view.getUint16(offset + 2, false) <= 8) {\r\n return -1;\r\n }\r\n const marker = view.getUint16(offset, false);\r\n offset += 2;\r\n if (marker === 0xffe1) {\r\n if (view.getUint32((offset += 2), false) !== 0x45786966) {\r\n return -1;\r\n }\r\n const little = view.getUint16((offset += 6), false) === 0x4949;\r\n offset += view.getUint32(offset + 4, little);\r\n const tags = view.getUint16(offset, little);\r\n offset += 2;\r\n for (let i = 0; i < tags; i++) {\r\n if (view.getUint16(offset + i * 12, little) === 0x0112) {\r\n return view.getUint16(offset + i * 12 + 8, little);\r\n }\r\n }\r\n // tslint:disable-next-line\r\n } else if ((marker & 0xff00) !== 0xff00) {\r\n break;\r\n } else {\r\n offset += view.getUint16(offset, false);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n public getImageOrientation(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n if (!reader.readAsArrayBuffer) {\r\n return resolve(-3);\r\n }\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve(-3);\r\n }\r\n resolve(this.getImageOrientationFromArrayBuffer(event.target.result as ArrayBuffer));\r\n };\r\n // https://stackoverflow.com/questions/3248946/what-is-the-maximum-size-of-jpeg-metadata\r\n // https://twitter.com/jaffathecake/status/1085443592678752256\r\n // reader.readAsArrayBuffer(file);\r\n reader.readAsArrayBuffer(file.slice(0, 65536));\r\n });\r\n }\r\n\r\n public rotateCanvas(\r\n srcOrientation: number,\r\n canvas: HTMLCanvasElement,\r\n ctx: CanvasRenderingContext2D,\r\n width: number,\r\n height: number,\r\n ) {\r\n // set proper canvas dimensions before transform & export\r\n if (4 < srcOrientation && srcOrientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n } else {\r\n canvas.width = width;\r\n canvas.height = height;\r\n }\r\n\r\n // transform context before drawing image\r\n switch (srcOrientation) {\r\n case 2:\r\n ctx.transform(-1, 0, 0, 1, width, 0);\r\n break;\r\n case 3:\r\n ctx.transform(-1, 0, 0, -1, width, height);\r\n break;\r\n case 4:\r\n ctx.transform(1, 0, 0, -1, 0, height);\r\n break;\r\n case 5:\r\n ctx.transform(0, 1, 1, 0, 0, 0);\r\n break;\r\n case 6:\r\n ctx.transform(0, 1, -1, 0, height, 0);\r\n break;\r\n case 7:\r\n ctx.transform(0, -1, -1, 0, height, width);\r\n break;\r\n case 8:\r\n ctx.transform(0, -1, 1, 0, 0, width);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n public getImageResized(\r\n image: HTMLImageElement,\r\n widthLimit: number,\r\n heightLimit?: number,\r\n orientation?: number,\r\n ): ImageThumbnail | null {\r\n let width = image.width;\r\n let height = image.height;\r\n const thumbnailSize = widthLimit;\r\n if (widthLimit && heightLimit) {\r\n width = widthLimit;\r\n height = heightLimit;\r\n } else {\r\n if (width > height) {\r\n if (width > thumbnailSize) {\r\n height *= thumbnailSize / width;\r\n width = thumbnailSize;\r\n }\r\n } else {\r\n if (height > thumbnailSize) {\r\n width *= thumbnailSize / height;\r\n height = thumbnailSize;\r\n }\r\n }\r\n }\r\n\r\n width = Math.floor(width);\r\n height = Math.floor(height);\r\n\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n if (!context) {\r\n return null;\r\n }\r\n\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n if (orientation !== undefined) {\r\n this.rotateCanvas(orientation, canvas, context, width, height);\r\n }\r\n\r\n context.drawImage(image, 0, 0, width, height);\r\n let avgColor = null;\r\n try {\r\n const imageData = context.getImageData(0, 0, width, height);\r\n const rgba = this.getAverageColor(imageData.data);\r\n if (rgba) {\r\n avgColor = rgba;\r\n }\r\n } catch (e) {\r\n /* security error, img on diff domain */\r\n }\r\n return {\r\n image,\r\n url: canvas.toDataURL('image/png'),\r\n color: avgColor,\r\n } as ImageThumbnail;\r\n }\r\n\r\n public resizeImageUrl(image: HTMLImageElement, url: string, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n image.onload = () => {\r\n const resized = this.getImageResized(image, thumbnailSize);\r\n resolve(resized);\r\n };\r\n image.src = url;\r\n });\r\n }\r\n\r\n public resizeImageFile(image: HTMLImageElement, file: File, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (file.type.indexOf('image') === -1) {\r\n reject(new Error('Not an image'));\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n let shouldRevoke = false;\r\n const orientationPromise = this.getImageOrientation(file);\r\n image.onload = () => {\r\n orientationPromise.then((orientation) => {\r\n const resized = this.getImageResized(image, thumbnailSize, undefined, orientation);\r\n if (shouldRevoke) {\r\n revokeObjectURL(image.src);\r\n }\r\n resolve(resized);\r\n });\r\n };\r\n if (!(file instanceof File)) {\r\n return reject('Invalid file object. Use url or a valid instance of File class');\r\n }\r\n if (createObjectURL && revokeObjectURL) {\r\n shouldRevoke = true;\r\n image.src = createObjectURL(file);\r\n return;\r\n }\r\n this.getDataURL(file).then((dataUrl) => {\r\n image.src = dataUrl;\r\n });\r\n });\r\n }\r\n\r\n public resizeImage(thumbnailSize: number, file?: File, url?: string): Promise {\r\n const image = new Image();\r\n image.setAttribute('crossOrigin', 'anonymous');\r\n return url\r\n ? this.resizeImageUrl(image, url, thumbnailSize)\r\n : this.resizeImageFile(image, file as File, thumbnailSize);\r\n }\r\n\r\n public getSizeFormatted(bytes: number) {\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes === 0) {\r\n return '0 B';\r\n }\r\n let i = Math.floor(Math.log(bytes) / Math.log(1024));\r\n i = parseInt('' + i, 10);\r\n return Math.round(bytes / Math.pow(1024, i)) + ' ' + sizes[i];\r\n }\r\n\r\n public getSizeParsed(size: string): number {\r\n size = ('' + size).toUpperCase();\r\n const matches = size.match(/([\\d|.]+?)\\s*?([A-Z]+)/);\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (!matches) {\r\n return parseFloat(size);\r\n }\r\n const i = sizes.indexOf(matches[2]);\r\n if (i === -1) {\r\n return parseFloat(size);\r\n }\r\n return parseFloat(matches[1]) * Math.pow(1024, i);\r\n }\r\n\r\n public getColorForText(text: string): string {\r\n const getHashCode = (value: string) => {\r\n let hash = 0;\r\n if (value.length === 0) {\r\n return hash;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n // tslint:disable-next-line\r\n hash = value.charCodeAt(i) + ((hash << 5) - hash);\r\n // tslint:disable-next-line\r\n hash = hash & hash; // Convert to 32bit integer\r\n }\r\n return hash;\r\n };\r\n const intToHSL = (value: number) => {\r\n const h = value % 360;\r\n const s = value % 100;\r\n const l = 50;\r\n return 'hsl(' + h + ',' + s + '%,' + l + '%, 0.75)';\r\n };\r\n return intToHSL(getHashCode(text.toLowerCase()));\r\n }\r\n\r\n public validateType(file: File, accept?: string): boolean {\r\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept\r\n // https://gitlab.com/meno/dropzone/blob/master/src/dropzone.js#L2511\r\n if (!accept) {\r\n return true;\r\n } // If there are no accepted mime types, it's OK\r\n const acceptedFiles = accept.split(',');\r\n\r\n const mimeType = file.type;\r\n const baseMimeType = mimeType.replace(/\\/.*$/, '');\r\n\r\n for (let validType of acceptedFiles) {\r\n validType = validType.trim();\r\n if (validType.charAt(0) === '.') {\r\n // extension\r\n if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\r\n return true;\r\n }\r\n } else if (/\\/\\*$/.test(validType)) {\r\n // This is something like a image/* mime type\r\n if (baseMimeType === validType.replace(/\\/.*$/, '')) {\r\n return true;\r\n }\r\n } else {\r\n if (mimeType === validType) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public validateSize(file: File, maxSize?: string): boolean {\r\n if (!maxSize) {\r\n return true;\r\n }\r\n const bytes = this.getSizeParsed(maxSize);\r\n return file.size <= bytes;\r\n }\r\n\r\n public getFilesFromDroppedItems(dataTransfer: DataTransfer) {\r\n return getFilesFromDroppedItems(dataTransfer);\r\n }\r\n}\r\n\r\nexport default new Utils();\r\n","import { getIconFromExt, SvgIcon } from './icons';\r\nimport utils from './utils';\r\nimport { RGBA, ImageThumbnail, VideoThumbnail } from './utils';\r\n\r\ninterface Dimensions {\r\n height: number;\r\n width: number;\r\n}\r\n\r\ninterface Options {\r\n accept?: string;\r\n maxSize?: string;\r\n read: boolean;\r\n thumbnailSize?: number;\r\n}\r\n\r\ninterface ErrorText {\r\n common?: string;\r\n type?: string;\r\n size?: string;\r\n upload?: string;\r\n}\r\n\r\ninterface ErrorFlags {\r\n common?: boolean;\r\n type?: boolean;\r\n size?: boolean;\r\n upload?: false | string;\r\n}\r\n\r\ninterface RawFileData {\r\n url: string | null;\r\n urlResized: string | null;\r\n src: () => any;\r\n name: any;\r\n lastModified: number;\r\n sizeText: string;\r\n size: number;\r\n type: string;\r\n ext: string;\r\n color: string;\r\n file: File;\r\n progress: number | ((progress?: number) => number | void);\r\n error?: false | ErrorFlags;\r\n dimensions: Dimensions;\r\n videoThumbnail: string;\r\n imageColor: RGBA;\r\n customName: string;\r\n}\r\n\r\ninterface DummyFile {\r\n name: string;\r\n size: number;\r\n type: string;\r\n lastModified: number;\r\n lastModifiedDate: Date;\r\n}\r\n\r\nexport { Dimensions, Options, RawFileData };\r\n\r\nclass FileData {\r\n public static getFromRaw(fileDataRaw: RawFileData, options: Options, isSync = false): FileData | Promise {\r\n const fileData = new FileData(fileDataRaw, options);\r\n const promise = fileData.setUrl(fileDataRaw.url);\r\n fileDataRaw.progress = fileData.progress.bind(fileData); // convert it as a function\r\n fileDataRaw.src = fileData.src.bind(fileData);\r\n fileDataRaw.name = fileData.name.bind(fileData); // convert it as a function\r\n if (isSync) {\r\n return fileData;\r\n }\r\n return promise;\r\n }\r\n\r\n public static fromRaw(fileDataRaw: RawFileData, options: Options): Promise {\r\n return FileData.getFromRaw(fileDataRaw, options, false) as Promise;\r\n }\r\n\r\n public static fromRawSync(fileDataRaw: RawFileData, options: Options): FileData {\r\n return FileData.getFromRaw(fileDataRaw, options, true) as FileData;\r\n }\r\n\r\n public static fromRawArray(filesDataRaw: RawFileData[], options: Options): Promise {\r\n const promises: Array> = [];\r\n for (const fileDataRaw of filesDataRaw) {\r\n promises.push(FileData.fromRaw(fileDataRaw, options));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public static toRawArray(filesData: FileData[]): RawFileData[] {\r\n const filesDataRaw: RawFileData[] = [];\r\n for (const fileData of filesData) {\r\n filesDataRaw.push(fileData.toRaw());\r\n }\r\n return filesDataRaw;\r\n }\r\n\r\n public static readFile(fileData: FileData): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!fileData.read) {\r\n fileData.setUrl(null);\r\n resolve(fileData);\r\n return;\r\n }\r\n utils.getDataURL(fileData.file).then((dataUrl) => {\r\n fileData.setUrl(dataUrl).then(() => {\r\n resolve(fileData);\r\n }, reject);\r\n }, reject);\r\n });\r\n }\r\n\r\n public static readFiles(filesData: FileData[]): Promise {\r\n const promises: Array> = [];\r\n for (const fileData of filesData) {\r\n promises.push(FileData.readFile(fileData));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public url: null | string = null;\r\n public urlResized: null | string = null;\r\n public image: HTMLImageElement | {} = {};\r\n public isPlayingAv: boolean = false;\r\n\r\n public oldFileName: string | null = null;\r\n public oldCustomName: string | null = null;\r\n public upload: any = null;\r\n\r\n public raw: RawFileData;\r\n public progressInternal: number;\r\n public accept?: string;\r\n public dimensions: Dimensions;\r\n public error: false | ErrorFlags;\r\n public file: File;\r\n public height: undefined | number | string;\r\n public width: undefined | number | string;\r\n public id: string;\r\n public imageColor?: RGBA;\r\n public lastKnownSrc: null | string;\r\n public maxSize?: string;\r\n public options: Options;\r\n public read: boolean;\r\n public thumbnailSize: number;\r\n public videoThumbnail: any;\r\n public customName: any;\r\n public xhr?: XMLHttpRequest;\r\n public xhrQueue?: () => any;\r\n public stopAv?: (() => any) | null;\r\n public tusUpload?: any;\r\n\r\n public constructor(data: RawFileData, options: Options) {\r\n this.url = null;\r\n this.urlResized = null;\r\n this.lastKnownSrc = null;\r\n this.image = {};\r\n this.isPlayingAv = false;\r\n this.oldFileName = null;\r\n this.oldCustomName = null;\r\n this.upload = null;\r\n\r\n this.raw = data;\r\n this.file = data.file instanceof File ? data.file : (this.createDummyFile(data) as any);\r\n this.progressInternal = !isNaN(data.progress as number) ? (data.progress as number) : 0;\r\n // this.width = FileData.defaultWidth;\r\n // this.height = FileData.defaultHeight;\r\n this.thumbnailSize = options.thumbnailSize || 360;\r\n this.read = !!options.read;\r\n this.dimensions = data.dimensions || {};\r\n this.dimensions.width = this.dimensions.width || 0;\r\n this.dimensions.height = this.dimensions.height || 0;\r\n this.error = data.error || false;\r\n this.options = options;\r\n this.maxSize = options.maxSize;\r\n this.accept = options.accept;\r\n this.id = Math.random() + ':' + new Date().getTime();\r\n this.videoThumbnail = data.videoThumbnail;\r\n this.imageColor = data.imageColor;\r\n this.customName = data.customName;\r\n\r\n this.validate();\r\n }\r\n\r\n // populate(data, options = {}) {}\r\n\r\n public createDummyFile(data: RawFileData): DummyFile {\r\n const file: DummyFile = {} as DummyFile;\r\n file.lastModified = data.lastModified;\r\n const d = new Date();\r\n if (file.lastModified) {\r\n d.setTime(file.lastModified);\r\n }\r\n file.lastModifiedDate = d;\r\n file.name = typeof data.name === 'function' ? data.name() : data.name;\r\n file.size = data.size;\r\n file.type = data.type;\r\n return file;\r\n }\r\n\r\n public hasProgress(): boolean {\r\n return !isNaN(this.progressInternal); // && this._progress <= 100;\r\n }\r\n\r\n public progress(value?: number): number | void {\r\n if (value !== undefined) {\r\n this.progressInternal = value;\r\n return;\r\n }\r\n return this.progressInternal || 0;\r\n }\r\n\r\n public src(): string {\r\n if (this.isImage()) {\r\n return this.urlResized || this.url || (this.file as any).url;\r\n }\r\n if (this.isPlayableVideo()) {\r\n return this.videoThumbnail || '';\r\n }\r\n return '';\r\n }\r\n\r\n public size(): string {\r\n if (!this.file) {\r\n return '';\r\n }\r\n return utils.getSizeFormatted(this.file.size);\r\n }\r\n\r\n public ext(): string {\r\n if (this.file && this.file.name.indexOf('.') !== -1) {\r\n return (this.file.name as any).split('.').pop();\r\n }\r\n return '?';\r\n // return this.file.type.split('/').shift();\r\n }\r\n\r\n public name(withoutExt?: boolean): string {\r\n const ext = this.ext();\r\n if (this.customName) {\r\n return this.customName + (withoutExt ? '' : ext !== '?' ? '.' + ext : '');\r\n }\r\n const name = this.file && this.file.name;\r\n if (withoutExt) {\r\n if (ext !== '?') {\r\n return name.substr(0, name.length - (ext.length + 1));\r\n }\r\n }\r\n return name;\r\n }\r\n\r\n public isDarkColor(): boolean {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n const darkPoint = 20;\r\n return rgb[0] <= darkPoint && rgb[1] <= darkPoint && rgb[2] <= darkPoint;\r\n }\r\n return false;\r\n }\r\n\r\n public color(): string {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n return 'rgb(' + rgb[0] + ', ' + rgb[1] + ', ' + rgb[2] + ')';\r\n }\r\n if (this.isImage()) {\r\n return 'transparent';\r\n }\r\n const ext = this.ext();\r\n const svgIcon = this.icon();\r\n // var svgIcon = getIconFromExt(ext);\r\n if (svgIcon.color) {\r\n return svgIcon.color;\r\n }\r\n return utils.getColorForText(ext);\r\n }\r\n\r\n public isImage(): boolean {\r\n return this.file && this.file.type.indexOf('image') !== -1;\r\n }\r\n\r\n public isVideo(): boolean {\r\n return this.file && this.file.type.indexOf('video') !== -1;\r\n }\r\n\r\n public isPlayableVideo(): boolean {\r\n return this.icon().category === 'video-playable';\r\n }\r\n\r\n public isAudio(): boolean {\r\n return this.file && this.file.type.indexOf('audio') !== -1;\r\n }\r\n\r\n public isPlayableAudio(): boolean {\r\n return this.icon().category === 'audio-playable';\r\n }\r\n\r\n public isText(): boolean {\r\n return this.file && this.file.type.indexOf('text') !== -1;\r\n }\r\n\r\n public setUrl(url: string | null): Promise {\r\n this.url = url;\r\n return new Promise((resolve, reject) => {\r\n if (this.isImage()) {\r\n this.resizeImage().then(() => {\r\n resolve(this);\r\n }, reject);\r\n return;\r\n }\r\n resolve(this);\r\n });\r\n }\r\n\r\n public imageResized(resized: ImageThumbnail | null) {\r\n if (!resized) {\r\n return;\r\n }\r\n this.urlResized = resized.url;\r\n this.image = resized.image;\r\n if (resized.image && resized.image.width && resized.image.height) {\r\n this.dimensions.width = resized.image.width;\r\n this.dimensions.height = resized.image.height;\r\n }\r\n this.lastKnownSrc = this.urlResized;\r\n this.imageColor = resized.color;\r\n }\r\n\r\n public resizeImage(): Promise {\r\n return new Promise((resolve, reject) => {\r\n utils\r\n .resizeImage(this.thumbnailSize, this.file, this.url as string)\r\n .then((resized) => {\r\n this.imageResized(resized);\r\n resolve(this);\r\n })\r\n .catch(reject);\r\n });\r\n }\r\n\r\n public icon(): SvgIcon {\r\n const ext = this.ext();\r\n const svgIcon = getIconFromExt(ext);\r\n return svgIcon;\r\n }\r\n\r\n public getErrorMessage(errorText?: ErrorText): string {\r\n const error = this.error;\r\n if (!error) {\r\n return '';\r\n }\r\n errorText = errorText || {};\r\n errorText = {\r\n common: errorText.common || 'Invalid file.',\r\n type: errorText.type || 'Invalid file type.',\r\n size: errorText.size || 'Files should not exceed ' + this.maxSize + ' in size',\r\n };\r\n if (error.type) {\r\n return errorText.type as string;\r\n } else if (error.size) {\r\n return errorText.size as string;\r\n } else if (error.upload) {\r\n return this.upload && this.upload.error ? this.upload.error : error.upload;\r\n }\r\n return errorText.common as string;\r\n }\r\n\r\n public toRaw(): RawFileData {\r\n const raw = this.raw || {};\r\n raw.url = this.url;\r\n raw.urlResized = this.urlResized;\r\n raw.src = this.src.bind(this);\r\n raw.name = this.name.bind(this);\r\n raw.lastModified = this.file.lastModified;\r\n raw.sizeText = this.size();\r\n raw.size = this.file.size;\r\n raw.type = this.file.type;\r\n raw.ext = this.ext();\r\n raw.color = this.color();\r\n raw.file = this.file;\r\n raw.progress = this.progress.bind(this); // pass it as a function\r\n if (!('error' in raw)) {\r\n Object.defineProperty(raw, 'error', {\r\n get: () => {\r\n return this.error;\r\n },\r\n });\r\n }\r\n raw.dimensions = this.dimensions;\r\n return raw;\r\n }\r\n\r\n public validate(): void {\r\n const validType = utils.validateType(this.file, this.accept);\r\n const validSize = utils.validateSize(this.file, this.maxSize as string);\r\n if (!validType || !validSize) {\r\n this.error = {\r\n type: !validType,\r\n size: !validSize,\r\n };\r\n } else {\r\n this.error = false;\r\n }\r\n }\r\n}\r\n\r\nexport default FileData;\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport FileData, { RawFileData, Options } from '../lib/file-data';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'deletable', 'editable', 'linkable', 'errorText', 'disabled', 'thumbnailSize'],\r\n components: {\r\n VueFileIcon,\r\n },\r\n data() {\r\n return {\r\n isEditInputFocused: false,\r\n isEditCancelable: true,\r\n fileData: {} as FileData,\r\n };\r\n },\r\n computed: {\r\n hasLinkableUrl(): boolean {\r\n if (!this.linkable) {\r\n return false;\r\n }\r\n return !!this.fileData.url && !this.fileData.isPlayableVideo() && !this.fileData.isPlayableAudio();\r\n },\r\n },\r\n methods: {\r\n updateFileData() {\r\n if (this.value instanceof FileData) {\r\n this.fileData = this.value;\r\n return;\r\n }\r\n FileData.fromRaw(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options).then((fileData) => {\r\n this.fileData = fileData;\r\n });\r\n this.fileData = FileData.fromRawSync(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options);\r\n },\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement) {\r\n if (fileData.videoThumbnail) {\r\n video.poster = fileData.src();\r\n return;\r\n }\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, this.fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n video.poster = fileData.src();\r\n });\r\n },\r\n\r\n playAv(fileData: FileData) {\r\n if (fileData.stopAv) {\r\n fileData.stopAv();\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n\r\n const wrapper = this.$refs.wrapper as HTMLElement;\r\n const player = document.createElement(fileData.isAudio() ? 'audio' : 'video');\r\n if (player instanceof HTMLVideoElement && fileData.isPlayableVideo()) {\r\n this.createThumbnail(fileData, player);\r\n }\r\n player.controls = true;\r\n // player.style.width = this.prvWidth + 'px';\r\n wrapper.appendChild(player);\r\n const url = fileData.url || createObjectURL(fileData.file);\r\n player.src = url;\r\n player.play();\r\n fileData.isPlayingAv = true;\r\n fileData.stopAv = () => {\r\n // player.src = null;\r\n player.src = '';\r\n wrapper.removeChild(player);\r\n revokeObjectURL(url);\r\n fileData.isPlayingAv = false;\r\n fileData.stopAv = null;\r\n };\r\n },\r\n\r\n removeFileData(fileData: FileData) {\r\n if (this.clearFilename()) {\r\n return;\r\n }\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n this.$emit('remove', fileData);\r\n },\r\n\r\n editFileName() {\r\n if (this.editable !== true) {\r\n return;\r\n }\r\n if (!this.$refs.input) {\r\n return;\r\n }\r\n (this.$refs.input as HTMLInputElement).focus();\r\n },\r\n\r\n editInputFocused() {\r\n this.isEditInputFocused = true;\r\n this.isEditCancelable = true;\r\n },\r\n\r\n editInputBlured() {\r\n this.fileData.oldFileName = this.fileData.name();\r\n const oldValue = this.fileData.name(true);\r\n const value = (this.$refs.input as HTMLInputElement).value;\r\n this.fileData.customName = value;\r\n const newValue = this.fileData.name(true);\r\n if (newValue !== oldValue) {\r\n this.fileData.oldCustomName = oldValue;\r\n this.$emit('rename', this.fileData);\r\n }\r\n const timeout = 100;\r\n setTimeout(() => {\r\n this.$nextTick(() => {\r\n if (!this.isEditCancelable) {\r\n return;\r\n }\r\n this.isEditInputFocused = false;\r\n });\r\n }, timeout);\r\n },\r\n\r\n filenameChanged(completed?: boolean) {\r\n if (completed) {\r\n (this.$refs.input as HTMLInputElement).blur(); // @see editInputBlured method\r\n }\r\n if (completed === false) {\r\n this.clearFilename();\r\n }\r\n },\r\n\r\n filenameClearPressed() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return;\r\n }\r\n this.isEditCancelable = false;\r\n },\r\n\r\n clearFilename() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return false;\r\n }\r\n (this.$refs.input as HTMLInputElement).value = '';\r\n this.isEditCancelable = true;\r\n this.editInputBlured();\r\n return true;\r\n },\r\n\r\n dismissError() {\r\n this.fileData.error = false;\r\n },\r\n },\r\n created() {\r\n this.updateFileData();\r\n },\r\n watch: {\r\n value() {\r\n this.updateFileData();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-preview-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-preview.vue?vue&type=template&id=1f00ad11&\"\nimport script from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'axis', 'appendTo'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list.vue?vue&type=template&id=5ef04e06&\"\nimport script from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['index'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list-item.vue?vue&type=template&id=00f7ef53&\"\nimport script from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'is-sortable-' + (_vm.isSortable ? 'enabled' : 'disabled'),\n { 'is-sortable-hold': _vm.sortable === 'hold' },\n { 'is-sortable-hold': _vm.sortable === 'handle' },\n { 'is-sortable-immediately': _vm.sortable === true },\n {\n 'is-sorting': _vm.isSorting,\n 'is-sorting-active': _vm.isSortingActive,\n 'is-drag-over': _vm.isDragging,\n 'is-disabled': _vm.disabled === true,\n },\n 'theme-' + _vm.theme ],attrs:{\"id\":'vfa-' + _vm.uniqueId},on:{\"dragover\":_vm.dragOver,\"dragenter\":_vm.dragEnter,\"dragleave\":_vm.dragLeave,\"drop\":_vm.drop}},[_vm._t(\"before-outer\"),_c('div',{staticClass:\"grid-block-wrapper vue-file-agent file-input-wrapper\",class:{\n 'is-compact': !!_vm.compact,\n 'is-single': !_vm.hasMultiple,\n 'has-multiple': _vm.hasMultiple,\n 'no-meta': _vm.meta === false,\n }},[_vm._t(\"before-inner\"),_c('canvas',{ref:\"thumbnailCanvas\",staticStyle:{\"position\":\"fixed\",\"visibility\":\"hidden\",\"z-index\":\"-3\"}}),(_vm.overallProgress)?_c('div',{staticClass:\"overall-progress\",class:{ 'overall-progress-full': _vm.overallProgress >= 100 }},[_c('div',{staticClass:\"overall-progress-bar\",style:({ width: _vm.overallProgress + '%' })}),_c('div',{staticClass:\"overall-progress-left\",style:({ width: 100 - _vm.overallProgress + '%' })})]):_vm._e(),_c(_vm.isSortable ? 'vfa-sortable-list' : 'VueFileList',{tag:\"component\",attrs:{\"axis\":_vm.theme == 'list' ? 'y' : 'xy',\"appendTo\":'#vfa-' + _vm.uniqueId + ' .vue-file-agent',\"transitionDuration\":_vm.transitionDuration,\"pressDelay\":_vm.sortable === 'hold' ? 200 : 0,\"useDragHandle\":_vm.sortable === 'handle',\"helperClass\":'active-sorting-item'},on:{\"sort-start\":function($event){return _vm.sortStart()},\"sort-end\":function($event){return _vm.sortEnd($event)}},model:{value:(_vm.filesData),callback:function ($$v) {_vm.filesData=$$v},expression:\"filesData\"}},[_c('transition-group',{attrs:{\"name\":\"grid-box\",\"tag\":\"div\"}},[_vm._l((_vm.filesData),function(fileData,index){return _c(_vm.isSortable ? 'vfa-sortable-item' : 'VueFileListItem',{key:fileData.id,tag:\"component\",staticClass:\"file-preview-wrapper grid-box-item grid-block\",attrs:{\"index\":index}},[(_vm.sortable === 'handle')?_c('span',{directives:[{name:\"vfa-sortable-handle\",rawName:\"v-vfa-sortable-handle\"}],staticClass:\"file-sortable-handle\"},[_vm._t(\"sortable-handle\",[_c('VueFileIcon',{attrs:{\"name\":\"system-sortable-handle\"}})])],2):_vm._e(),_vm._t(\"file-preview\",[_c('VueFilePreview',{attrs:{\"value\":fileData,\"deletable\":_vm.isDeletable,\"editable\":_vm.editable === true,\"linkable\":_vm.linkable === true,\"errorText\":_vm.errorText,\"disabled\":_vm.disabled,\"thumbnailSize\":_vm.thumbnailSize},on:{\"remove\":function($event){return _vm.removeFileData($event)},\"rename\":function($event){return _vm.filenameChanged($event)}}})],{\"fileData\":fileData,\"index\":index})],2)}),(_vm.canAddMore)?[_vm._t(\"file-preview-new\",[_c('div',{key:\"new\",staticClass:\"file-preview-wrapper grid-box-item grid-block file-preview-new\"},[_c('span',{staticClass:\"file-preview\"},[_c('span',{staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\"}},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-preview-new\"}}),_c('span',{staticClass:\"help-text\"},[_vm._v(_vm._s(_vm.helpTextComputed))])],1)])])])]:_vm._e()],2)],1),_c('input',{ref:\"fileInput\",staticClass:\"file-input\",attrs:{\"title\":\"\",\"disabled\":_vm.disabled === true || (_vm.hasMultiple && !_vm.canAddMore),\"type\":\"file\",\"multiple\":_vm.hasMultiple,\"accept\":_vm.accept || '*'},on:{\"change\":_vm.filesChanged}}),_vm._t(\"after-inner\")],2),_vm._t(\"after-outer\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","export type ConfigureFn = (request: XMLHttpRequest) => any;\r\nexport interface AjaxResponse {\r\n data: any;\r\n status: number;\r\n statusText: string;\r\n headers: string;\r\n request: XMLHttpRequest;\r\n}\r\nexport type AjaxRequestData = FormData | any;\r\nexport interface AjaxError extends Error {\r\n code: string;\r\n request: XMLHttpRequest;\r\n response?: AjaxResponse;\r\n}\r\n\r\n/* inspired by axios */\r\nclass AjaxRequest {\r\n public createError(\r\n message: string,\r\n code: string | null,\r\n request: XMLHttpRequest,\r\n response?: AjaxResponse,\r\n ): AjaxError {\r\n const error: AjaxError = new Error(message) as AjaxError;\r\n if (code) {\r\n error.code = code;\r\n }\r\n error.request = request;\r\n error.response = response;\r\n return error;\r\n }\r\n\r\n public settle(resolve: any, reject: any, response: AjaxResponse) {\r\n const validateStatus = (status: number) => {\r\n return status >= 200 && status < 300;\r\n };\r\n // Note: status is not exposed by XDomainRequest\r\n if (!response.status || !validateStatus || validateStatus(response.status)) {\r\n resolve(response);\r\n } else {\r\n reject(this.createError('Request failed with status code ' + response.status, null, response.request, response));\r\n }\r\n }\r\n\r\n public request(\r\n method: string,\r\n url: string,\r\n formData: AjaxRequestData | null = null,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n // tslint:disable-next-line\r\n let request = new XMLHttpRequest();\r\n const loadEvent = 'onreadystatechange';\r\n\r\n request.open(method, url, true);\r\n\r\n // Listen for ready state\r\n request[loadEvent] = () => {\r\n if (!request || request.readyState !== 4) {\r\n return;\r\n }\r\n\r\n // The request errored out and we didn't get a response, this will be\r\n // handled by onerror instead\r\n // With one exception: request that using file: protocol, most browsers\r\n // will return status as 0 even though it's a successful request\r\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\r\n return;\r\n }\r\n\r\n // Prepare the response\r\n const responseHeaders = request.getAllResponseHeaders();\r\n let responseData: any = request.responseText;\r\n const contentType = request.getResponseHeader('Content-Type');\r\n if (contentType && contentType.indexOf('application/json') !== -1) {\r\n responseData = JSON.parse(responseData);\r\n }\r\n const response: AjaxResponse = {\r\n data: responseData,\r\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\r\n status: request.status === 1223 ? 204 : request.status,\r\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\r\n headers: responseHeaders,\r\n request,\r\n };\r\n\r\n this.settle(resolve, reject, response);\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle browser request cancellation (as opposed to a manual cancellation)\r\n request.onabort = () => {\r\n if (!request) {\r\n return;\r\n }\r\n\r\n reject(this.createError('Request aborted', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle low level network errors\r\n request.onerror = () => {\r\n // Real errors are hidden from us by the browser\r\n // onerror should only fire if it's a network error\r\n reject(this.createError('Network Error', null, request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle timeout\r\n request.ontimeout = () => {\r\n reject(this.createError('timeout exceeded', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // // Handle progress if needed\r\n // if (typeof config.onDownloadProgress === 'function') {\r\n // request.addEventListener('progress', config.onDownloadProgress);\r\n // }\r\n\r\n // Not all browsers support upload events\r\n // if (typeof progressCallback === 'function' && request.upload) {\r\n // request.upload.addEventListener('progress', progressCallback);\r\n // }\r\n\r\n if (typeof configureFn === 'function') {\r\n configureFn(request);\r\n }\r\n\r\n request.send(formData);\r\n });\r\n }\r\n\r\n public post(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('POST', url, formData, configureFn);\r\n }\r\n\r\n public delete(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('DELETE', url, formData, configureFn);\r\n }\r\n\r\n public put(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('PUT', url, formData, configureFn);\r\n }\r\n}\r\n\r\nexport default new AjaxRequest();\r\n","import ajax from './ajax-request';\r\nimport { ConfigureFn, AjaxResponse, AjaxError } from './ajax-request';\r\nimport FileData from './file-data';\r\n\r\ntype ProgressFn = (event: ProgressEvent) => void;\r\ntype CreateFormDataFn = (fileData: FileData) => FormData;\r\n\r\nclass UploadHelper {\r\n // useAxios(axios){\r\n // this.axios = axios;\r\n // }\r\n\r\n public addHeaders(xhr: XMLHttpRequest, headers: object): XMLHttpRequest {\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n if (headers) {\r\n for (const key in headers) {\r\n if (headers.hasOwnProperty(key)) {\r\n xhr.setRequestHeader(key, (headers as any)[key]);\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n\r\n public doUpload(\r\n url: string,\r\n headers: object,\r\n formData: FormData,\r\n progressCallback: ProgressFn,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return ajax.post(url, formData, (xhr) => {\r\n this.addHeaders(xhr, headers);\r\n xhr.upload.addEventListener('progress', progressCallback, false);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doDeleteUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.delete(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doUpdateUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.put(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n // doUploadAxios(axios, formData, progressCallback){\r\n // return axios.post('/upload', formData, {\r\n // onUploadProgress: progressCallback,\r\n // });\r\n // }\r\n\r\n // doDeleteUploadAxios(axios, data, configureFn){\r\n // return axios.delete('/upload', data, {\r\n // });\r\n // }\r\n\r\n public prepareUploadError(fileData: FileData, err: AjaxError, timeout?: number) {\r\n let errorText = err.message;\r\n if (err.response && err.response.data) {\r\n try {\r\n const errorMsg = err.response.data.error || JSON.parse(err.response.data).error;\r\n errorText = errorMsg;\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = errorText;\r\n if (timeout) {\r\n setTimeout(() => {\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = false;\r\n if (!fileData.error.size && !fileData.error.type) {\r\n fileData.error = false;\r\n }\r\n }, timeout);\r\n }\r\n }\r\n\r\n public upload(\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n createFormData?: CreateFormDataFn,\r\n progressFn?: (progress: number) => void,\r\n configureFn?: ConfigureFn,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n let formData;\r\n if (typeof createFormData === 'function') {\r\n formData = createFormData(fileData);\r\n } else {\r\n formData = new FormData();\r\n formData.append('file', fileData.file as File);\r\n formData.append('filename', fileData.name());\r\n }\r\n // ((fileData) => {\r\n const promise = this.doUpload(\r\n url,\r\n headers,\r\n formData,\r\n (progressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n },\r\n (xhr) => {\r\n fileData.xhr = xhr;\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n },\r\n );\r\n promise.then(\r\n (response) => {\r\n delete fileData.xhr;\r\n fileData.upload = response.data;\r\n fileData.progress(100);\r\n if (fileData.xhrQueue) {\r\n fileData.xhrQueue();\r\n delete fileData.xhrQueue;\r\n }\r\n } /* */,\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n } /* */,\r\n );\r\n promises.push(promise);\r\n // })(fileData);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public deleteUpload(url: string, headers: object, fileData: FileData, uploadData?: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n fileData.xhr.abort();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload;\r\n }\r\n if (uploadData) {\r\n this.doDeleteUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (result) => {\r\n resolve(result);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public updateUpload(url: string, headers: object, fileData: FileData, uploadData: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n // probably updated while being uploaded.\r\n fileData.xhrQueue = () => {\r\n this.updateUpload(url, headers, fileData, uploadData);\r\n };\r\n return resolve();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload || {};\r\n uploadData.old_filename = fileData.oldFileName;\r\n uploadData.filename = fileData.name();\r\n }\r\n if (uploadData) {\r\n this.doUpdateUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (response) => {\r\n fileData.upload = response.data;\r\n resolve(response);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public doTusUpload(tus: any, url: string, fileData: FileData, headers: object, progressCallback: ProgressFn) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject(new Error('tus required. Please install tus-js-client'));\r\n }\r\n // https://github.com/tus/tus-js-client\r\n // Create a new tus upload\r\n const file = fileData.file;\r\n const upload = new tus.Upload(file, {\r\n endpoint: url,\r\n headers,\r\n retryDelays: [0, 3000, 5000, 10000, 20000],\r\n metadata: {\r\n filename: file.name,\r\n filetype: file.type,\r\n },\r\n onError(error: any) {\r\n reject(error);\r\n // console.log(\"Failed because: \" + error)\r\n },\r\n onProgress(bytesUploaded: number, bytesTotal: number) {\r\n const event = { loaded: bytesUploaded, total: bytesTotal } as ProgressEvent;\r\n progressCallback(event);\r\n },\r\n onSuccess() {\r\n resolve(upload);\r\n },\r\n });\r\n fileData.tusUpload = upload;\r\n // Start the upload\r\n upload.start();\r\n });\r\n }\r\n\r\n public tusUpload(\r\n tus: any,\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n progressFn?: (progress: number) => void,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n const promise = this.doTusUpload(tus, url, fileData, headers, (progressEvent: ProgressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n });\r\n promise.then(\r\n (response) => {\r\n // delete fileData.tusUpload;\r\n fileData.progress(100);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n },\r\n );\r\n promises.push(promise);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public tusDeleteUpload(tus: any, url: string, headers: object, fileData: FileData) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject('tus required');\r\n }\r\n if (!fileData.tusUpload) {\r\n return resolve();\r\n }\r\n // const shouldTerminate = true;\r\n const abort = (shouldTerminate: boolean) => {\r\n return new Promise((res, rej) => {\r\n fileData.tusUpload.abort(shouldTerminate, (err: any) => {\r\n if (err) {\r\n this.prepareUploadError(fileData, err);\r\n rej(err);\r\n return;\r\n }\r\n res();\r\n });\r\n });\r\n };\r\n abort(false).then(() => {\r\n setTimeout(() => {\r\n abort(true).then(resolve, reject);\r\n }, 1000);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport default new UploadHelper();\r\n","export default {\r\n tus: null as any,\r\n};\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport VueFilePreview from './vue-file-preview.vue';\r\nimport VueFileList from './vue-file-list.vue';\r\nimport VueFileListItem from './vue-file-list-item.vue';\r\nimport FileData from '../lib/file-data';\r\nimport { RawFileData } from '../lib/file-data';\r\nimport uploader from '../lib/upload-helper';\r\nimport Vue from 'vue';\r\nimport plugins from '../lib/plugins';\r\n\r\n// tslint:disable-next-line\r\nvar dragCounter = 0;\r\n\r\nexport default Vue.extend({\r\n props: [\r\n 'accept',\r\n 'compact',\r\n 'deletable',\r\n 'disabled',\r\n 'editable',\r\n 'errorText',\r\n 'helpText',\r\n 'linkable',\r\n 'maxFiles',\r\n 'maxSize',\r\n 'meta',\r\n 'multiple',\r\n 'progress',\r\n 'read',\r\n 'resumable',\r\n 'sortable',\r\n 'theme',\r\n 'thumbnailSize',\r\n 'uploadHeaders',\r\n 'uploadUrl',\r\n 'value',\r\n ],\r\n components: {\r\n VueFileIcon,\r\n VueFilePreview,\r\n VueFileList,\r\n VueFileListItem,\r\n },\r\n directives: {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/HandleDirective.js\r\n vfaSortableHandle: {\r\n bind(el: HTMLElement) {\r\n (el as any).sortableHandle = true;\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n filesData: [] as FileData[],\r\n filesDataRaw: [] as RawFileData[],\r\n isDragging: false,\r\n isSorting: false,\r\n isSortingActive: false,\r\n transitionDuration: 300,\r\n overallProgress: 0,\r\n uniqueId: '',\r\n sortTimeout: 0,\r\n };\r\n },\r\n computed: {\r\n canAddMore(): boolean {\r\n if (!this.hasMultiple) {\r\n return this.filesData.length === 0;\r\n }\r\n if (!this.maxFiles) {\r\n return true;\r\n }\r\n return this.filesData.length < this.maxFiles;\r\n },\r\n helpTextComputed(): string {\r\n if (this.helpText) {\r\n return this.helpText;\r\n }\r\n return 'Choose ' + (this.hasMultiple ? 'files' : 'file') + ' or drag & drop here';\r\n },\r\n isDeletable(): boolean {\r\n if (typeof this.deletable === 'string') {\r\n return this.deletable !== 'false';\r\n }\r\n return !!this.deletable;\r\n },\r\n isSortable(): boolean {\r\n return !!this.sortable;\r\n },\r\n hasMultiple(): boolean {\r\n if (typeof this.multiple === 'string') {\r\n return this.multiple !== 'false';\r\n }\r\n if (this.multiple === undefined) {\r\n return Array.isArray(this.value);\r\n }\r\n return !!this.multiple;\r\n },\r\n shouldRead(): boolean {\r\n if (typeof this.read === 'string') {\r\n return this.read === 'true';\r\n }\r\n return !!this.read;\r\n },\r\n },\r\n methods: {\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement): Promise {\r\n return new Promise((resolve, reject) => {\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n resolve();\r\n }, reject);\r\n });\r\n },\r\n initVideo(fileData: FileData): void {\r\n if (!fileData.isPlayableVideo()) {\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n const video = document.createElement('video');\r\n video.src = createObjectURL(fileData.file);\r\n this.createThumbnail(fileData, video).then(() => {\r\n revokeObjectURL(video.src);\r\n });\r\n video.load();\r\n },\r\n getFileDataInstance(fileDataOrRaw: FileData | RawFileData): FileData {\r\n let i;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n if (i === -1) {\r\n return fileDataOrRaw as FileData;\r\n }\r\n return this.filesData[i];\r\n },\r\n upload(\r\n url: string,\r\n headers: object,\r\n filesDataOrRaw: FileData[] | RawFileData[],\r\n createFormData?: (fileData: FileData) => FormData,\r\n ): Promise {\r\n const validFilesData = [];\r\n for (const fileDataOrRaw of filesDataOrRaw) {\r\n const fileData = this.getFileDataInstance(fileDataOrRaw);\r\n if (!fileData.error) {\r\n validFilesData.push(fileData);\r\n }\r\n }\r\n if (this.resumable) {\r\n return uploader.tusUpload(plugins.tus, url, headers, validFilesData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n }\r\n return uploader.upload(url, headers, validFilesData, createFormData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n },\r\n deleteUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n if (this.filesData.length < 1) {\r\n this.overallProgress = 0;\r\n }\r\n fileData = this.getFileDataInstance(fileData);\r\n if (this.resumable) {\r\n return uploader.tusDeleteUpload(plugins.tus, url, headers, fileData);\r\n }\r\n return uploader.deleteUpload(url, headers, fileData, uploadData);\r\n },\r\n updateUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n fileData = this.getFileDataInstance(fileData);\r\n return uploader.updateUpload(url, headers, fileData, uploadData);\r\n },\r\n autoUpload(filesData: FileData[] | RawFileData[]): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.upload(this.uploadUrl, this.uploadHeaders, filesData);\r\n },\r\n autoDeleteUpload(fileData: FileData | RawFileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.deleteUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n autoUpdateUpload(fileData: FileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.updateUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n equalFiles(file1: File, file2: File): boolean {\r\n return (\r\n true &&\r\n file1.name === file2.name &&\r\n file1.size === file2.size &&\r\n file1.type === file2.type &&\r\n // file1.lastModifiedDate.getTime() === file2.lastModifiedDate.getTime() &&\r\n file1.lastModified === file2.lastModified\r\n );\r\n },\r\n isFileAddedAlready(file: File): boolean {\r\n for (const fileData of this.filesData) {\r\n if (this.equalFiles(file, fileData.file as File)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n handleFiles(files: File[] | FileList): void {\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n if (this.hasMultiple && !this.canAddMore) {\r\n return;\r\n }\r\n const filesData: FileData[] = [];\r\n const filesFiltered: File[] = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < files.length; i++) {\r\n if (this.hasMultiple && this.isFileAddedAlready(files[i])) {\r\n continue;\r\n }\r\n filesFiltered.push(files[i]);\r\n }\r\n files = filesFiltered;\r\n if (this.maxFiles && files.length > this.maxFiles - this.filesData.length) {\r\n files = files.slice(0, this.maxFiles - this.filesData.length);\r\n }\r\n for (const file of files) {\r\n filesData.push(\r\n new FileData(\r\n {\r\n file,\r\n } as RawFileData,\r\n {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n },\r\n ),\r\n );\r\n }\r\n\r\n for (const fileData of filesData) {\r\n if (fileData.file.size <= 20 * 1024 * 1024) {\r\n // <= 20MB\r\n this.initVideo(fileData);\r\n }\r\n }\r\n if (this.hasMultiple) {\r\n // splice: for list transitions to work properly\r\n this.filesData.splice(this.filesData.length, 0, ...filesData);\r\n } else {\r\n this.filesData = filesData;\r\n }\r\n\r\n FileData.readFiles(filesData).then((filesDataNew: FileData[]) => {\r\n const allFilesDataRaw = FileData.toRawArray(this.filesData);\r\n this.filesDataRaw = allFilesDataRaw;\r\n this.$emit('input', Array.isArray(this.value) ? allFilesDataRaw : allFilesDataRaw[0]);\r\n this.$emit('select', FileData.toRawArray(filesDataNew));\r\n });\r\n this.autoUpload(filesData);\r\n },\r\n filesChanged(event: InputEvent): void {\r\n const files: FileList = (event.target as HTMLInputElement).files as FileList;\r\n this.$emit('change', event);\r\n if (!files[0]) {\r\n return;\r\n }\r\n this.handleFiles(files);\r\n if (this.$refs.fileInput) {\r\n (this.$refs.fileInput as any).value = null; // do not use ''\r\n // because chrome won't fire change event for same file\r\n }\r\n },\r\n drop(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter = 0;\r\n this.isDragging = false;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n utils.getFilesFromDroppedItems(event.dataTransfer).then((files) => {\r\n this.$emit('drop', event);\r\n if (!files || !files[0]) {\r\n return;\r\n }\r\n if (!this.hasMultiple) {\r\n files = [files[0]];\r\n }\r\n this.handleFiles(files);\r\n });\r\n },\r\n dragEnter(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n dragCounter++;\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragOver(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragLeave(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter--;\r\n if (dragCounter === 0) {\r\n this.isDragging = false;\r\n }\r\n },\r\n removeFileData(fileDataOrRaw: FileData | RawFileData): void {\r\n let i: number;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n const fileData: FileData = this.filesData.splice(i, 1)[0];\r\n const fileDataRaw = this.filesDataRaw.splice(i, 1)[0];\r\n this.$emit('input', this.filesDataRaw);\r\n // this.$emit('delete', fileData);\r\n this.$emit('delete', fileDataRaw);\r\n this.autoDeleteUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n this.filesData.splice(i, 1, fileData);\r\n this.filesDataRaw.splice(i, 1, fileDataRaw);\r\n },\r\n );\r\n },\r\n filenameChanged(fileData: FileData): void {\r\n this.$emit('rename', FileData.toRawArray([fileData])[0]);\r\n this.autoUpdateUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n fileData.customName = fileData.oldCustomName;\r\n },\r\n );\r\n },\r\n checkValue(): void {\r\n let filesDataRaw: RawFileData[] = this.value || [];\r\n filesDataRaw = Array.isArray(filesDataRaw) ? filesDataRaw : [filesDataRaw];\r\n\r\n const fdPromises: Array> = [];\r\n const filesDataRawNew: RawFileData[] = [];\r\n\r\n for (let i = 0; i < filesDataRaw.length; i++) {\r\n const existingIndex = this.filesDataRaw.indexOf(filesDataRaw[i]);\r\n if (existingIndex !== -1) {\r\n fdPromises.push(Promise.resolve(this.filesData[existingIndex]));\r\n filesDataRawNew[i] = this.filesDataRaw[existingIndex];\r\n } else {\r\n fdPromises.push(\r\n FileData.fromRaw(filesDataRaw[i], {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n }),\r\n );\r\n filesDataRawNew.push(filesDataRaw[i]);\r\n }\r\n }\r\n\r\n this.filesDataRaw = filesDataRawNew;\r\n Promise.all(fdPromises).then((filesData) => {\r\n this.filesData = filesData;\r\n });\r\n },\r\n sortStart(): void {\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.isSorting = true;\r\n this.isSortingActive = true;\r\n },\r\n sortEnd(sortData: { event: Event; newIndex: number; oldIndex: number; collection: any }): void {\r\n this.isSortingActive = false;\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.sortTimeout = setTimeout(() => {\r\n this.isSorting = false;\r\n }, this.transitionDuration + 100);\r\n if (sortData.oldIndex !== sortData.newIndex) {\r\n this.filesDataRaw = utils.arrayMove(this.filesDataRaw, sortData.oldIndex, sortData.newIndex);\r\n this.$nextTick(() => {\r\n this.$emit('input', this.filesDataRaw);\r\n this.$emit('sort', {\r\n oldIndex: sortData.oldIndex,\r\n newIndex: sortData.newIndex,\r\n });\r\n });\r\n }\r\n },\r\n },\r\n created() {\r\n this.uniqueId =\r\n new Date().getTime().toString(36) +\r\n Math.random()\r\n .toString(36)\r\n .slice(2);\r\n this.checkValue();\r\n },\r\n watch: {\r\n value() {\r\n this.checkValue();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-agent-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-agent.vue?vue&type=template&id=1410c648&\"\nimport script from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import VueFileIcon from './components/vue-file-icon.vue';\r\nimport VueFilePreview from './components/vue-file-preview.vue';\r\nimport VueFileList from './components/vue-file-list.vue';\r\nimport VueFileListItem from './components/vue-file-list-item.vue';\r\nimport VueFileAgent from './components/vue-file-agent.vue';\r\nimport VueFileAgentMixin from './components/vue-file-agent-mixin';\r\nimport VueFilePreviewMixin from './components/vue-file-preview-mixin';\r\nimport utils from './lib/utils';\r\nimport plugins from './lib/plugins';\r\nimport FileData from './lib/file-data';\r\n\r\nimport _Vue, { PluginFunction } from 'vue';\r\n\r\nexport default class VueFileAgentPlugin {\r\n public static VueFileIcon = VueFileIcon;\r\n public static VueFilePreview = VueFilePreview;\r\n public static VueFileAgent = VueFileAgent;\r\n public static component = VueFileAgent;\r\n public static mixin = VueFileAgentMixin;\r\n public static plugins = plugins;\r\n\r\n public static VueFileAgentMixin = VueFileAgentMixin;\r\n public static VueFilePreviewMixin = VueFilePreviewMixin;\r\n\r\n public static install(Vue: typeof _Vue, options: any) {\r\n Vue.component('VueFileIcon', VueFileIcon);\r\n Vue.component('VueFilePreview', VueFilePreview);\r\n Vue.component('VueFileList', VueFileList);\r\n Vue.component('VueFileListItem', VueFileListItem);\r\n Vue.component('VueFileAgent', VueFileAgent);\r\n Vue.prototype.$vueFileAgent = {\r\n mixin: VueFileAgentMixin,\r\n };\r\n }\r\n}\r\n\r\n// auto install\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n VueFileAgentPlugin.install(window.Vue, {});\r\n (window as any).VueFileAgent = VueFileAgentPlugin;\r\n}\r\n\r\nexport const mixin = VueFileAgentMixin;\r\n\r\nexport { VueFileAgentMixin, VueFilePreviewMixin };\r\n\r\nexport { utils, FileData, plugins };\r\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-file-agent.umd.min.js b/dist/vue-file-agent.umd.min.js index f99b39b..187a96d 100644 --- a/dist/vue-file-agent.umd.min.js +++ b/dist/vue-file-agent.umd.min.js @@ -1,2 +1,2 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["vue-file-agent"]=t(require("vue")):e["vue-file-agent"]=t(e["Vue"])})("undefined"!==typeof self?self:this,(function(e){return function(e){var t={};function i(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s="fb15")}({6816:function(e,t,i){"use strict";var r=i("eb77"),n=i.n(r);n.a},"8bbf":function(t,i){t.exports=e},eb77:function(e,t,i){},f6fd:function(e,t){(function(e){var t="currentScript",i=e.getElementsByTagName("script");t in e||Object.defineProperty(e,t,{get:function(){try{throw new Error}catch(r){var e,t=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(e in i)if(i[e].src==t||"interactive"==i[e].readyState)return i[e];return null}}})})(document)},fb15:function(e,t,i){"use strict";var r;(i.r(t),"undefined"!==typeof window)&&(i("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(i.p=r[1]));var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{attrs:{viewBox:e.viewBoxComputed}},[e._l(e.icon.paths,(function(t,r){return[t?i("path",{key:r,attrs:{d:t}}):e._e()]}))],2)},a=[],s={audio:["aif","cda","mid","midi","mpa","wma","wpl"],"audio-playable":["mp3","ogg","wav"],archive:["7z","arj","deb","pkg","rar","rpm","tar.gz","z","zip"],disc:["dmg","iso","toast","vcd"],database:["csv","dat","db","dbf","log","mdb","sav","sql","tar"],executable:["apk","bat","bin","cgi","pl","com","exe","gadget","jar","py","wsf","ipa"],font:["fnt","fon","otf","ttf"],image:["ai","bmp","gif","ico","jpeg","jpg","png","ps","psd","svg","tif","tiff"],markup:["asp","aspx","cer","cfm","cgi","pl","css","scss","htm","html","jsp","part","php","py","rss","xml","xhtml"],presentation:["key","odp","pps","ppt","pptx"],script:["c","class","cpp","cs","h","java","js","json","sh","swift","vb"],sheet:["ods","xlr","xls","xlsx"],system:["bak","cab","cfg","cpl","cur","dll","dmp","drv","icns","ini","lnk","msi","sys","tmp"],video:["3g2","3gp","avi","flv","h264","mkv","mpg","mpeg","rm","swf","vob","wmv"],"video-playable":["mp4","webm","mov"],vue:["vue"],doc:["doc","docx","odt","rtf","tex","wks","wps","wpd"],text:["txt"],ebook:["epub"],pdf:["pdf"],folder:["folder"],play:["play"]},o=function(){function e(e,t,i){this.paths=e,this.color=t,this.viewBox=i,this.category=""}return e}(),l=["M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z"],u={folder:new o(["M96.5 93.7h-93c-2 0-3.5-1.5-3.5-3.5V35.4h100v54.8c0 2-1.5 3.5-3.5 3.5z","M44.9 20V9.7c0-2-1.5-3.5-3.5-3.5h-38C1.5 6.3 0 7.8 0 9.7v25.7h100V23.5c0-2-1.5-3.5-3.5-3.5H44.9z"],"#efce4a"),audio:new o(["M32.5 37.5h-9v25h9L53.6 77V23L32.5 37.5M71.9 50c0 6.8-3.7 12.7-9.1 15.8l2.8 4.9c7.1-4.1 11.9-11.8 11.9-20.7 0-8.8-4.8-16.6-11.9-20.7l-2.8 4.9c5.4 3.1 9.1 9 9.1 15.8z","M62.1 50c0 3.2-1.7 5.9-4.3 7.4l2.7 4.7c4.2-2.4 7-6.9 7-12.1 0-5.2-2.8-9.7-7-12.1l-2.7 4.7c2.6 1.5 4.3 4.2 4.3 7.4z"],"#039"),video:new o(["M21 26.4v47.1h58V26.4H21zm10.9 43.5h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2zm10.9 25.4V37.3L60.9 50 42.8 62.7zm32.6 7.2h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2z"],"#ef6f2e"),"audio-playable":new o(l,"#039","0 0 48 48"),"video-playable":new o(l,"#ef6f2e","0 0 48 48"),archive:new o(["M72.4 38.5h-7.9v-7.9l7.9 7.9zm-21.3-7.9v28.8h21.4v-19h-9.9v-9.9H51.1zm3.3-7.6H30.8v5.6h9.3l-5.9 4.5v4.8l8.6-6.6v-2.7h30.1v-2.3L54.4 23zM42.9 35.1l-8.6 6.6v4.8l8.6-6.6v-4.8zm-8.7 20l8.6-6.6v-4.8l-8.6 6.6v4.8zm8.7 2v-4.8l-8.6 6.6v2.6h-3.4v5.6h5.3v3.8H33c-.6-1-1.6-1.6-2.8-1.6-1.8 0-3.2 1.4-3.2 3.2s1.4 3.2 3.2 3.2c1.2 0 2.2-.6 2.8-1.6h3.1V77h4.8v-2.9H44c.6 1 1.6 1.6 2.8 1.6 1.8 0 3.2-1.4 3.2-3.2s-1.4-3.2-3.2-3.2c-1.2 0-2.2.6-2.8 1.6h-3.1v-3.8h13.5l18.5-3.3v-2.3H37.1l5.8-4.4z"],"#ba8322"),system:new o(["M73.6 54.8c-2.1-.7-3.4-2.6-3.4-4.8s1.4-4.1 3.4-4.8c.6-.2 1-.9.8-1.5-.6-2.3-1.5-4.4-2.7-6.5-.3-.6-1.1-.8-1.7-.5-.7.4-1.6.6-2.4.6-2.8 0-5-2.3-5-5 0-.8.2-1.7.6-2.4.3-.6.1-1.3-.5-1.7-2-1.2-4.2-2.1-6.5-2.7-.6-.2-1.3.2-1.5.8-.7 2.1-2.6 3.4-4.8 3.4-2.2 0-4.1-1.4-4.8-3.4-.2-.6-.9-1-1.5-.8-2.3.6-4.4 1.5-6.5 2.7-.6.3-.8 1.1-.5 1.7.4.7.6 1.6.6 2.4 0 2.8-2.3 5-5 5-.8 0-1.7-.2-2.4-.6-.6-.3-1.3-.1-1.7.5-1.2 2-2.1 4.2-2.7 6.5-.2.6.2 1.3.8 1.5 2.1.7 3.4 2.6 3.4 4.8s-1.4 4.1-3.4 4.8c-.6.2-1 .9-.8 1.5.6 2.3 1.5 4.4 2.7 6.5.3.6 1.1.8 1.7.5.7-.4 1.6-.6 2.4-.6 2.8 0 5 2.3 5 5 0 .8-.2 1.7-.6 2.4-.3.6-.1 1.3.5 1.7 2 1.2 4.2 2.1 6.5 2.7h.3c.5 0 1-.3 1.2-.9.7-2.1 2.6-3.4 4.8-3.4 2.2 0 4.1 1.4 4.8 3.4.2.6.9 1 1.5.8 2.3-.6 4.4-1.5 6.5-2.7.6-.3.8-1.1.5-1.7-.4-.7-.6-1.6-.6-2.4 0-2.8 2.3-5 5-5 .8 0 1.7.2 2.4.6.6.3 1.3.1 1.7-.5 1.2-2 2.1-4.2 2.7-6.5.2-.5-.1-1.2-.8-1.4zM50 57.6c-4.2 0-7.6-3.4-7.6-7.6 0-4.2 3.4-7.6 7.6-7.6 4.2 0 7.6 3.4 7.6 7.6 0 4.2-3.4 7.6-7.6 7.6z"],"#999"),image:new o(["m 40.400002,35 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z","M78.9 47.3l-9.7-9.6L50 57l-9.6-9.7-19.3 19.3V73h57.8z"],"#5b2d8d"),doc:new o(["M29.6 53l-5.9-18.2c-.2-.7-.4-1-.5-1-.1-.1-.2-.1-.4-.2l-2.1-.6-.1-2.6h11l.2 2.6-2.1.6v.2c0 .2.1.7.4 1.2l2.2 7 3.9-11.7 3-.1 3.6 11.7 2.5-7c.1-.5.4-1 .4-1.2v-.1l-1.8-.5-.1-2.7h8.6l.2 2.6-2.3.7c-.1 0-.2.1-.4.1 0 .1-.2.2-.4.9L43 52.8l-3.1.2-3.3-11.2-3.9 11-3.1.2z","M57.8 30.2h21.7v3.4H57.8zm0 9.2h21.7v3.4H57.8zm0 9.4h21.7v3.4H57.8zm-36.2 9.6h57.9v3.4H21.6zm0 9.4h57.9v3.4H21.6z"],"#2372ba"),executable:new o(["M33.1 29.8l-6.6 6.6L37.2 47 26.5 57.6l6.6 6.6L50.2 47zm18.8 31.1h22.6v9.2H51.9z"],"#333"),ebook:new o(["M75.8 45.7c-.3-.6-.7-1.2-1.3-1.6-.1.5-.3 1-.6 1.5L58.3 69.8c-.6.9-1.9 1.1-2.9.8l-25-7c-1.5-.4-3.3-1.3-3.4-3 0-.6 0-.9.4-1.1.3-.3.8-.2 1.1-.1L52 66c3.4 1 4.4.2 6.9-3.5l14.4-22.2c.7-1.2.9-2.5.5-3.6s-1.4-2-2.7-2.4l-20.6-5.7c-.5-.1-1-.1-1.5-.1v-.1c-3.2-1.9-4.4 1.7-6 3-.6.5-1.4.8-1.7 1.3-.2.5-.1 1-.3 1.4-.6 1.4-2.4 3.6-3.3 4.3-.6.4-1.2.5-1.6 1.1-.3.4-.2 1.1-.4 1.6-.5 1.2-2.1 3.3-3.2 4.4-.4.4-1 .6-1.3 1.1-.3.4-.2 1.1-.4 1.6-.7 1.3-2.2 3.2-3.4 4.3-.6.6-1.3.9-1.6 1.5-.1.3 0 .7-.2 1.1-.2.6-.5 1.1-.7 1.7-.7.9-1 2.1-.9 3.4.2 3.1 2.5 6 5.3 6.8l25 7c2.3.6 5.2-.5 6.6-2.5l14.4-22.2c.7-1.1.9-2.4.5-3.6zm-28.9-7.9l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1l-1.1 1.6c-.3.4-.9.7-1.4.5l-16.5-4.6c-.5-.2-.7-.6-.4-1zM42.7 44l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1L60.9 49c-.3.4-.9.7-1.4.5L43.1 45c-.5-.1-.7-.6-.4-1z"],"#963"),markup:new o(["M21.5 48.3l16.2-14v7.1l-11 9.2v.1l11 9.2V67L21.5 53v-4.7zm30.6-17.6h4.3L48 71.3h-4.2l8.3-40.6zM62.3 60l11-9.2v-.1l-11-9.2v-7.1l16.2 14v4.9l-16.2 14V60z"]),script:new o(["M42.3 44.2h15.4V48H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zM69.2 25H38.5c-4.2 0-7.7 3.4-7.7 7.7v34.6h-7.7c0 4.2 3.4 7.7 7.7 7.7h30.8c4.2 0 7.7-3.4 7.7-7.7V36.5H77v-3.8c-.1-4.3-3.5-7.7-7.8-7.7zm-3.8 41.6c0 2.5-2 4.5-4.5 4.5H32.7c1.9-1.3 1.9-3.8 1.9-3.8V32.7c0-2.1 1.7-3.8 3.8-3.8s3.8 1.7 3.8 3.8v3.8h23.1v30.1zM46.2 32.7v-3.8h23.1c3.5 0 3.8 2.2 3.8 3.8H46.2z"]),disc:new o(["M46.9 50c0 .8.3 1.6.9 2.2 1.2 1.2 3.2 1.2 4.4 0 .6-.6.9-1.4.9-2.2 0-.8-.3-1.6-.9-2.2-.6-.6-1.4-.9-2.2-.9-.8 0-1.6.3-2.2.9-.6.6-.9 1.4-.9 2.2z","M32.3 32.3c-9.8 9.8-9.8 25.6 0 35.4 9.8 9.8 25.6 9.8 35.4 0 9.8-9.8 9.8-25.6 0-35.4-9.8-9.7-25.6-9.7-35.4 0zm37 28.2c-.9 1.7-2.1 3.2-3.5 4.6-1.4 1.4-3 2.6-4.6 3.5l-5.8-11.1s.5-.2 1.6-1.2c1.1-1.1 1.3-1.6 1.3-1.6l11 5.8zM54.4 45.6c1.2 1.2 1.8 2.8 1.8 4.4 0 1.6-.6 3.2-1.8 4.4-2.4 2.4-6.4 2.4-8.8 0-1.2-1.2-1.8-2.8-1.8-4.4 0-1.6.6-3.2 1.8-4.4a6.1 6.1 0 0 1 8.8 0zm-8.5-4.4s-1.2.7-2.2 1.8c-.9 1-1 1.2-1.3 1.7l-11-5.9c.9-1.7 2.1-3.2 3.5-4.6 1.4-1.4 3-2.6 4.6-3.5l6.4 10.5z"],"#c96"),text:new o(["M69.4 28.6v5.5H21.5v-5.5M30.6 41h47.9v5.6H30.6zm-9.1 12.4h47.9V59H21.5zm9.1 12.5h47.9v5.6H30.6z"],"#6b533b"),database:new o(["M48.1 75.5c-6.5-.3-12.3-2.3-15.4-5.4-.9-.9-1.8-2.1-2.2-2.9l-.3-.5v-6.1c0-6 0-6.1.1-5.6.3 1.3 1.1 2.7 2.3 3.7.8.7 2.5 1.8 3.8 2.5 2.4 1.2 5.2 2 8.4 2.5 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.3-2.5 1.4-.7 3-1.7 3.8-2.5 1.1-1 2-2.5 2.3-3.8.1-.5.1-.4.1 5.5v6l-.3.6c-1 1.9-2.6 3.6-4.7 4.8-4.3 2.7-10.5 4-16.8 3.7z","M48.1 60.4c-5.7-.3-11-1.9-14.3-4.4-.7-.6-1.8-1.6-2.3-2.2-.4-.6-.8-1.2-1.1-1.8l-.3-.5v-6c0-5.9 0-6 .1-5.5.2.9.7 2 1.5 2.9.4.5 1.1 1.2 1.5 1.4.1.1.5.3.7.5 2.7 1.9 6.5 3.3 10.8 3.9 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.4-2.5 1.4-.7 3-1.8 3.9-2.5 1.1-1 2-2.4 2.2-3.7.1-.5.1-.4.1 5.5v5.9l-.4.8c-.7 1.2-1.1 1.8-1.9 2.7-.8.8-1.6 1.5-2.7 2.1-4.3 2.4-10.5 3.7-16.8 3.4z","M47.7 45.4c-3.8-.3-6.8-.9-9.6-2-3.4-1.3-5.8-3.1-7.1-5.2-.3-.4-.5-1-.7-1.6-.2-.6-.3-2-.1-2.7.9-4.3 6.6-7.9 14.5-9 1.9-.3 2.6-.3 5.3-.3s3.4 0 5.3.3c3.1.5 6 1.3 8.4 2.5 3.5 1.7 5.6 4 6.1 6.5.1.7.1 2.1-.1 2.7-.4 1.3-1 2.2-2 3.2-2.8 2.9-7.9 4.9-14.1 5.6-.9-.1-5.1 0-5.9 0z"],"#a03537"),pdf:new o(["M46.2 21.8c-3.5 0-6.3 2.9-6.3 6.3 0 4.3 2.4 9.6 4.9 14.7-2 6.1-4.1 12.7-7 18.2-5.8 2.3-11 4-14 6.6l-.2.2c-1.1 1.2-1.8 2.7-1.8 4.4 0 3.5 2.9 6.3 6.3 6.3 1.7 0 3.4-.6 4.4-1.8 0 0 .2 0 .2-.2 2.3-2.7 5-7.8 7.5-12.2 5.5-2.1 11.5-4.4 16.9-5.8 4.1 3.4 10.1 5.5 15 5.5 3.5 0 6.3-2.9 6.3-6.3 0-3.5-2.9-6.3-6.3-6.3-4 0-9.6 1.4-13.9 2.9-3.5-3.4-6.7-7.5-9.2-11.9C50.6 37 52.6 32 52.6 28c-.2-3.5-2.9-6.2-6.4-6.2zm0 3.6c1.4 0 2.4 1.1 2.4 2.4 0 1.8-1.1 5.3-2.1 9-1.5-3.7-2.9-7.2-2.9-9 .1-1.2 1.2-2.4 2.6-2.4zm1.1 21.5c1.8 3.1 4.1 5.8 6.6 8.2-3.7 1.1-7.3 2.3-11 3.7 1.8-3.8 3.1-7.9 4.4-11.9zM72 55c1.4 0 2.4 1.1 2.4 2.4 0 1.4-1.1 2.4-2.4 2.4-2.9 0-6.9-1.2-10.1-3.1C65.6 56 69.7 55 72 55zM34.6 66.2c-1.8 3.2-3.5 6.1-4.7 7.6-.5.5-.9.6-1.7.6-1.4 0-2.4-1.1-2.4-2.4 0-.6.3-1.4.6-1.7 1.3-1.2 4.5-2.6 8.2-4.1z"],"#c11e07"),sheet:new o(["M62.1 30.9h14.1v9.4H62.1zm0 14.5h14.1v9.4H62.1zm0 14.3h14.1v9.4H62.1zm-19.2 0H57v9.4H42.9zm-19 0H38v9.4H23.9zm19.2-14.2h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9zm19.2-14.6h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9z"],"#30723f"),presentation:new o(["M 73.319289,26.32707 H 26.61477 c -2.335226,0 -4.258353,1.917194 -4.258353,4.245215 v 29.853446 c 0,2.328021 1.923127,4.245215 4.258353,4.245215 h 19.506006 l -1.923128,7.257947 h -2.197859 c -0.961564,0 -1.648395,0.684712 -1.648395,1.643309 0,0.958597 0.686831,1.643309 1.648395,1.643309 h 15.797117 c 0.961563,0 1.648394,-0.684712 1.648394,-1.643309 0,-0.958597 -0.686831,-1.643309 -1.648394,-1.643309 H 55.46168 l -1.923128,-7.39489 h 19.780737 c 2.335226,0 4.258353,-1.917193 4.258353,-4.245214 V 30.572285 c 0,-2.328021 -1.923127,-4.245215 -4.258353,-4.245215 z m 0.412099,34.372546 H 26.202672 V 30.2984 h 47.39135 z","m 38.428266,48.511741 h 3.846255 v 7.668775 h -3.846255 z m 6.456214,-2.464963 h 3.846254 V 56.180516 H 44.88448 Z m 6.318846,-2.601906 h 3.846255 v 12.735644 h -3.846255 z m 6.318847,-2.464964 h 3.846255 v 15.200608 h -3.846255 z m -0.274732,-5.614639 -6.730946,3.697445 -4.945184,-1.643308 -8.379341,4.519099 1.236296,1.369424 7.417777,-3.834387 4.945185,1.643309 7.692509,-4.245215 1.236296,1.369424 2.88469,-4.792984 -6.593578,0.410827 z"],"#c24f32"),font:new o(["M40.4 56.2H28.7l-1.4 3.1c-.5 1-.7 1.9-.7 2.6 0 .9.4 1.6 1.1 2 .4.3 1.5.4 3.2.6v.9H20v-.9c1.2-.2 2.2-.6 2.9-1.4.8-.8 1.7-2.4 2.8-4.8l11.8-25.6h.5l12 26.2c1.1 2.5 2.1 4.1 2.8 4.7.6.5 1.3.8 2.3.9v.9h-16v-.9h.7c1.3 0 2.2-.2 2.7-.5.4-.3.5-.6.5-1.1 0-.3 0-.6-.1-.9 0-.1-.3-.7-.7-1.8l-1.8-4zm-.8-1.8l-4.9-11-5.1 11h10z","M80 44.2l-4.7 15.7-.5 1.9c0 .2-.1.4-.1.5 0 .2.1.4.2.5.1.2.3.2.4.2.3 0 .8-.3 1.4-.8.2-.2.8-.9 1.8-2.2l.9.4c-1.2 2-2.4 3.5-3.7 4.5-1.3.9-2.7 1.4-4.2 1.4-.9 0-1.6-.2-2.1-.7-.5-.5-.7-1-.7-1.8 0-.6.3-1.8.8-3.4l.6-1.9c-1.9 3.1-3.7 5.4-5.4 6.7-1 .8-2.1 1.1-3.2 1.1-1.5 0-2.6-.6-3.2-1.8-.7-1.2-1-2.5-1-4 0-2.2.7-4.8 2.1-7.6 1.4-2.9 3.2-5.2 5.5-6.9 1.9-1.4 3.6-2.2 5.3-2.2.9 0 1.6.3 2.2.8.6.5 1 1.4 1.2 2.8l.9-2.9 5.5-.3zm-7.8 4.5c0-1.3-.2-2.2-.6-2.8-.3-.4-.7-.6-1.2-.6s-1 .2-1.6.7c-1.1 1-2.3 3-3.5 5.9-1.3 3-1.9 5.6-1.9 7.7 0 .8.1 1.4.4 1.8.3.4.6.6.9.6.7 0 1.5-.4 2.2-1.2 1.1-1.2 2-2.6 2.9-4.3 1.6-2.9 2.4-5.5 2.4-7.8z"],"#7291a1"),vue:new o(["M 66.425365,28.281905 H 56.751974 L 49.707631,39.427061 43.669624,28.281905 H 21.530262 L 49.707631,76.54823 77.885006,28.281905 Z m -37.888497,4.025337 h 6.767604 L 49.707631,57.239179 64.098226,32.307242 h 6.767597 L 49.707631,68.560446 Z"],"#41B883"),other:new o(["M71 36.3L57.8 23.1c-.4-.4-.9-.6-1.4-.6h-26c-1.1 0-2 .9-2 2v51.1c0 1.1.9 2 2 2h39.3c1.1 0 2-.9 2-2V37.7c-.1-.5-.3-1-.7-1.4zm-3.9 2.3H55.5V27l11.6 11.6zm.1 34.5H32.8V26.9h18.5v13.3c0 1.4 1.2 2.6 2.6 2.6h13.3v30.3z"]),"system-close":new o(["M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"],void 0,"0 0 24 24"),"system-file-preview-new":new o(["M745,353c-5.6,0-11.3,0.2-17.2,0.7C687.4,237.3,577.8,157,451,157c-162.1,0-294,131.9-294,294c0,2.1,0,4.1,0,6.2C72.6,479,10,555.8,10,647c0,108.1,87.9,196,196,196h245V618.3l-63.4,63.4c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4c-19.2-19.2-19.2-50.1,0-69.3l147-147c4.6-4.6,9.9-8.1,16-10.6c12-4.9,25.5-4.9,37.4,0c6,2.5,11.4,6.1,16,10.6l147,147c19.2,19.2,19.2,50.1,0,69.3c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4L549,618.3V843h196c135.1,0,245-109.9,245-245S880.1,353,745,353z"],void 0,"0 0 1000 1000"),"system-sortable-handle":new o(["M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"],void 0,"0 0 24 24"),"system-file-av-play":new o(["M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z"],void 0,"0 0 48 48"),"system-file-name-edit":new o(["M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"],void 0,"0 0 24 24")};for(var c in u)u.hasOwnProperty(c)&&(u[c].category=c);var f={};for(var d in s)if(s.hasOwnProperty(d))for(var h=0,p=s[d];h=99.9999,"file-progress-done":e.fileData.progress()>=100,"has-file-progress":e.fileData.progress()>0}},[i("span",{staticClass:"file-progress-bar",style:{width:e.fileData.progress()+"%"}})]):e._e(),i("span",{staticClass:"file-icon"},[e.hasLinkableUrl?i("a",{attrs:{href:e.fileData.url,target:"_blank",title:e.fileData.name()}},[i("VueFileIcon",{attrs:{ext:e.fileData.ext()}})],1):i("VueFileIcon",{attrs:{ext:e.fileData.ext()}})],1)])])},U=[];function R(e){return new Promise((function(t){if(!P(e.files))return t(e.files);for(var i=[],r=[],n=0;n=r.length){var n=i-r.length;while(1+n--)r.push(void 0)}return r.splice(i,0,r.splice(t,1)[0]),r},e.prototype.getAverageColor=function(e){var t=4,i=e.length;if(!(ia?n>s&&(a*=s/n,n=s):a>s&&(n*=s/a,a=s),n=Math.floor(n),a=Math.floor(a);var o=document.createElement("canvas"),l=o.getContext("2d");if(!l)return null;o.width=n,o.height=a,void 0!==r&&this.rotateCanvas(r,o,l,n,a),l.drawImage(e,0,0,n,a);var u=null;try{var c=l.getImageData(0,0,n,a),f=this.getAverageColor(c.data);f&&(u=f)}catch(d){}return{image:e,url:o.toDataURL("image/png"),color:u}},e.prototype.resizeImageUrl=function(e,t,i){var r=this;return new Promise((function(n,a){e.onload=function(){var t=r.getImageResized(e,i);n(t)},e.src=t}))},e.prototype.resizeImageFile=function(e,t,i){var r=this;return new Promise((function(n,a){if(-1!==t.type.indexOf("image")){var s=(window.URL||window.webkitURL||{}).createObjectURL,o=(window.URL||window.webkitURL||{}).revokeObjectURL,l=!1,u=r.getImageOrientation(t);return e.onload=function(){u.then((function(t){var a=r.getImageResized(e,i,void 0,t);l&&o(e.src),n(a)}))},t instanceof File?s&&o?(l=!0,void(e.src=s(t))):void r.getDataURL(t).then((function(t){e.src=t})):a("Invalid file object. Use url or a valid instance of File class")}a(new Error("Not an image"))}))},e.prototype.resizeImage=function(e,t,i){var r=new Image;return r.setAttribute("crossOrigin","anonymous"),i?this.resizeImageUrl(r,i,e):this.resizeImageFile(r,t,e)},e.prototype.getSizeFormatted=function(e){var t=["B","KB","MB","GB","TB"];if(0===e)return"0 B";var i=Math.floor(Math.log(e)/Math.log(1024));return i=parseInt(""+i,10),Math.round(e/Math.pow(1024,i))+" "+t[i]},e.prototype.getSizeParsed=function(e){e=(""+e).toUpperCase();var t=e.match(/([\d|.]+?)\s*?([A-Z]+)/),i=["B","KB","MB","GB","TB"];if(!t)return parseFloat(e);var r=i.indexOf(t[2]);return-1===r?parseFloat(e):parseFloat(t[1])*Math.pow(1024,r)},e.prototype.getColorForText=function(e){var t=function(e){var t=0;if(0===e.length)return t;for(var i=0;i=100}},[i("div",{staticClass:"overall-progress-bar",style:{width:e.overallProgress+"%"}}),i("div",{staticClass:"overall-progress-left",style:{width:100-e.overallProgress+"%"}})]):e._e(),i(e.isSortable?"vfa-sortable-list":"VueFileList",{tag:"component",attrs:{axis:"list"==e.theme?"y":"xy",appendTo:"#vfa-"+e.uniqueId+" .vue-file-agent",transitionDuration:e.transitionDuration,pressDelay:"hold"===e.sortable?200:0,useDragHandle:"handle"===e.sortable,helperClass:"active-sorting-item"},on:{"sort-start":function(t){return e.sortStart()},"sort-end":function(t){return e.sortEnd(t)}},model:{value:e.filesData,callback:function(t){e.filesData=t},expression:"filesData"}},[i("transition-group",{attrs:{name:"grid-box",tag:"div"}},[e._l(e.filesData,(function(t,r){return i(e.isSortable?"vfa-sortable-item":"VueFileListItem",{key:t.id,tag:"component",staticClass:"file-preview-wrapper grid-box-item grid-block",attrs:{index:r}},["handle"===e.sortable?i("span",{directives:[{name:"vfa-sortable-handle",rawName:"v-vfa-sortable-handle"}],staticClass:"file-sortable-handle"},[e._t("sortable-handle",[i("VueFileIcon",{attrs:{name:"system-sortable-handle"}})])],2):e._e(),e._t("file-preview",[i("VueFilePreview",{attrs:{value:t,deletable:e.isDeletable,editable:!0===e.editable,linkable:!0===e.linkable,errorText:e.errorText,disabled:e.disabled,thumbnailSize:e.thumbnailSize},on:{remove:function(t){return e.removeFileData(t)},rename:function(t){return e.filenameChanged(t)}}})],{fileData:t,index:r})],2)})),e.canAddMore?[e._t("file-preview-new",[i("div",{key:"new",staticClass:"file-preview-wrapper grid-box-item grid-block file-preview-new"},[i("span",{staticClass:"file-preview"},[i("span",{staticStyle:{position:"absolute",top:"0",right:"0",bottom:"0",left:"0"}},[i("VueFileIcon",{attrs:{name:"system-file-preview-new"}}),i("span",{staticClass:"help-text"},[e._v(e._s(e.helpTextComputed))])],1)])])])]:e._e()],2)],1),i("input",{ref:"fileInput",staticClass:"file-input",attrs:{title:"",disabled:!0===e.disabled||e.hasMultiple&&!e.canAddMore,type:"file",multiple:e.hasMultiple,accept:e.accept||"*"},on:{change:e.filesChanged}}),e._t("after-inner")],2),e._t("after-outer")],2)},Y=[];function ee(){for(var e=0,t=0,i=arguments.length;t=200&&e<300};i.status&&r&&!r(i.status)?t(this.createError("Request failed with status code "+i.status,null,i.request,i)):e(i)},e.prototype.request=function(e,t,i,r){var n=this;return void 0===i&&(i=null),new Promise((function(a,s){var o=new XMLHttpRequest,l="onreadystatechange";o.open(e,t,!0),o[l]=function(){if(o&&4===o.readyState&&(0!==o.status||o.responseURL&&0===o.responseURL.indexOf("file:"))){var e=o.getAllResponseHeaders(),t=o.responseText,i=o.getResponseHeader("Content-Type");i&&-1!==i.indexOf("application/json")&&(t=JSON.parse(t));var r={data:t,status:1223===o.status?204:o.status,statusText:1223===o.status?"No Content":o.statusText,headers:e,request:o};n.settle(a,s,r),o=null}},o.onabort=function(){o&&(s(n.createError("Request aborted","ECONNABORTED",o)),o=null)},o.onerror=function(){s(n.createError("Network Error",null,o)),o=null},o.ontimeout=function(){s(n.createError("timeout exceeded","ECONNABORTED",o)),o=null},"function"===typeof r&&r(o),o.send(i)}))},e.prototype.post=function(e,t,i){return this.request("POST",e,t,i)},e.prototype.delete=function(e,t,i){return this.request("DELETE",e,t,i)},e.prototype.put=function(e,t,i){return this.request("PUT",e,t,i)},e}(),ie=new te,re=function(){function e(){}return e.prototype.addHeaders=function(e,t){if(e.setRequestHeader("Accept","application/json"),t)for(var i in t)t.hasOwnProperty(i)&&e.setRequestHeader(i,t[i]);return e},e.prototype.doUpload=function(e,t,i,r,n){var a=this;return ie.post(e,i,(function(e){a.addHeaders(e,t),e.upload.addEventListener("progress",r,!1),"function"===typeof n&&n(e)}))},e.prototype.doDeleteUpload=function(e,t,i,r){var n=this;return"string"!==typeof i&&(i=JSON.stringify(i)),ie.delete(e,i,(function(e){e.setRequestHeader("Content-Type","application/json"),n.addHeaders(e,t),"function"===typeof r&&r(e)}))},e.prototype.doUpdateUpload=function(e,t,i,r){var n=this;return"string"!==typeof i&&(i=JSON.stringify(i)),ie.put(e,i,(function(e){e.setRequestHeader("Content-Type","application/json"),n.addHeaders(e,t),"function"===typeof r&&r(e)}))},e.prototype.prepareUploadError=function(e,t,i){var r=t.message;if(t.response&&t.response.data)try{var n=t.response.data.error||JSON.parse(t.response.data).error;r=n}catch(a){}e.error||(e.error={}),e.error.upload=r,i&&setTimeout((function(){e.error||(e.error={}),e.error.upload=!1,e.error.size||e.error.type||(e.error=!1)}),i)},e.prototype.upload=function(e,t,i,r,n,a){var s=this,o=function(){};n&&(o=function(){for(var e=0,t=0,r=i;t=100?99.9999:t),o()}),(function(e){i.xhr=e,"function"===typeof a&&a(e)}));u.then((function(e){delete i.xhr,i.upload=e.data,i.progress(100),i.xhrQueue&&(i.xhrQueue(),delete i.xhrQueue)}),(function(e){s.prepareUploadError(i,e)})),l.push(u)},c=this,f=0,d=i;f=100?99.9999:t),s()}));n.then((function(e){r.progress(100)}),(function(e){a.prepareUploadError(r,e)})),o.push(n)},u=this,c=0,f=r;cthis.maxFiles-this.filesData.length&&(e=e.slice(0,this.maxFiles-this.filesData.length));for(var s=0,o=e;s=99.9999,"file-progress-done":e.fileData.progress()>=100,"has-file-progress":e.fileData.progress()>0}},[i("span",{staticClass:"file-progress-bar",style:{width:e.fileData.progress()+"%"}})]):e._e(),i("span",{staticClass:"file-icon"},[e.hasLinkableUrl?i("a",{attrs:{href:e.fileData.url,target:"_blank",title:e.fileData.name()}},[i("VueFileIcon",{attrs:{ext:e.fileData.ext()}})],1):i("VueFileIcon",{attrs:{ext:e.fileData.ext()}})],1)])])},U=[];function R(e){return new Promise((function(t){if(!P(e.files))return t(e.files);for(var i=[],r=[],n=0;n=r.length){var n=i-r.length;while(1+n--)r.push(void 0)}return r.splice(i,0,r.splice(t,1)[0]),r},e.prototype.getAverageColor=function(e){var t=4,i=e.length;if(!(ia?n>s&&(a*=s/n,n=s):a>s&&(n*=s/a,a=s),n=Math.floor(n),a=Math.floor(a);var o=document.createElement("canvas"),l=o.getContext("2d");if(!l)return null;o.width=n,o.height=a,void 0!==r&&this.rotateCanvas(r,o,l,n,a),l.drawImage(e,0,0,n,a);var u=null;try{var c=l.getImageData(0,0,n,a),f=this.getAverageColor(c.data);f&&(u=f)}catch(d){}return{image:e,url:o.toDataURL("image/png"),color:u}},e.prototype.resizeImageUrl=function(e,t,i){var r=this;return new Promise((function(n,a){e.onload=function(){var t=r.getImageResized(e,i);n(t)},e.src=t}))},e.prototype.resizeImageFile=function(e,t,i){var r=this;return new Promise((function(n,a){if(-1!==t.type.indexOf("image")){var s=(window.URL||window.webkitURL||{}).createObjectURL,o=(window.URL||window.webkitURL||{}).revokeObjectURL,l=!1,u=r.getImageOrientation(t);return e.onload=function(){u.then((function(t){var a=r.getImageResized(e,i,void 0,t);l&&o(e.src),n(a)}))},t instanceof File?s&&o?(l=!0,void(e.src=s(t))):void r.getDataURL(t).then((function(t){e.src=t})):a("Invalid file object. Use url or a valid instance of File class")}a(new Error("Not an image"))}))},e.prototype.resizeImage=function(e,t,i){var r=new Image;return r.setAttribute("crossOrigin","anonymous"),i?this.resizeImageUrl(r,i,e):this.resizeImageFile(r,t,e)},e.prototype.getSizeFormatted=function(e){var t=["B","KB","MB","GB","TB"];if(0===e)return"0 B";var i=Math.floor(Math.log(e)/Math.log(1024));return i=parseInt(""+i,10),Math.round(e/Math.pow(1024,i))+" "+t[i]},e.prototype.getSizeParsed=function(e){e=(""+e).toUpperCase();var t=e.match(/([\d|.]+?)\s*?([A-Z]+)/),i=["B","KB","MB","GB","TB"];if(!t)return parseFloat(e);var r=i.indexOf(t[2]);return-1===r?parseFloat(e):parseFloat(t[1])*Math.pow(1024,r)},e.prototype.getColorForText=function(e){var t=function(e){var t=0;if(0===e.length)return t;for(var i=0;i=100}},[i("div",{staticClass:"overall-progress-bar",style:{width:e.overallProgress+"%"}}),i("div",{staticClass:"overall-progress-left",style:{width:100-e.overallProgress+"%"}})]):e._e(),i(e.isSortable?"vfa-sortable-list":"VueFileList",{tag:"component",attrs:{axis:"list"==e.theme?"y":"xy",appendTo:"#vfa-"+e.uniqueId+" .vue-file-agent",transitionDuration:e.transitionDuration,pressDelay:"hold"===e.sortable?200:0,useDragHandle:"handle"===e.sortable,helperClass:"active-sorting-item"},on:{"sort-start":function(t){return e.sortStart()},"sort-end":function(t){return e.sortEnd(t)}},model:{value:e.filesData,callback:function(t){e.filesData=t},expression:"filesData"}},[i("transition-group",{attrs:{name:"grid-box",tag:"div"}},[e._l(e.filesData,(function(t,r){return i(e.isSortable?"vfa-sortable-item":"VueFileListItem",{key:t.id,tag:"component",staticClass:"file-preview-wrapper grid-box-item grid-block",attrs:{index:r}},["handle"===e.sortable?i("span",{directives:[{name:"vfa-sortable-handle",rawName:"v-vfa-sortable-handle"}],staticClass:"file-sortable-handle"},[e._t("sortable-handle",[i("VueFileIcon",{attrs:{name:"system-sortable-handle"}})])],2):e._e(),e._t("file-preview",[i("VueFilePreview",{attrs:{value:t,deletable:e.isDeletable,editable:!0===e.editable,linkable:!0===e.linkable,errorText:e.errorText,disabled:e.disabled,thumbnailSize:e.thumbnailSize},on:{remove:function(t){return e.removeFileData(t)},rename:function(t){return e.filenameChanged(t)}}})],{fileData:t,index:r})],2)})),e.canAddMore?[e._t("file-preview-new",[i("div",{key:"new",staticClass:"file-preview-wrapper grid-box-item grid-block file-preview-new"},[i("span",{staticClass:"file-preview"},[i("span",{staticStyle:{position:"absolute",top:"0",right:"0",bottom:"0",left:"0"}},[i("VueFileIcon",{attrs:{name:"system-file-preview-new"}}),i("span",{staticClass:"help-text"},[e._v(e._s(e.helpTextComputed))])],1)])])])]:e._e()],2)],1),i("input",{ref:"fileInput",staticClass:"file-input",attrs:{title:"",disabled:!0===e.disabled||e.hasMultiple&&!e.canAddMore,type:"file",multiple:e.hasMultiple,accept:e.accept||"*"},on:{change:e.filesChanged}}),e._t("after-inner")],2),e._t("after-outer")],2)},Y=[];function ee(){for(var e=0,t=0,i=arguments.length;t=200&&e<300};i.status&&r&&!r(i.status)?t(this.createError("Request failed with status code "+i.status,null,i.request,i)):e(i)},e.prototype.request=function(e,t,i,r){var n=this;return void 0===i&&(i=null),new Promise((function(a,s){var o=new XMLHttpRequest,l="onreadystatechange";o.open(e,t,!0),o[l]=function(){if(o&&4===o.readyState&&(0!==o.status||o.responseURL&&0===o.responseURL.indexOf("file:"))){var e=o.getAllResponseHeaders(),t=o.responseText,i=o.getResponseHeader("Content-Type");i&&-1!==i.indexOf("application/json")&&(t=JSON.parse(t));var r={data:t,status:1223===o.status?204:o.status,statusText:1223===o.status?"No Content":o.statusText,headers:e,request:o};n.settle(a,s,r),o=null}},o.onabort=function(){o&&(s(n.createError("Request aborted","ECONNABORTED",o)),o=null)},o.onerror=function(){s(n.createError("Network Error",null,o)),o=null},o.ontimeout=function(){s(n.createError("timeout exceeded","ECONNABORTED",o)),o=null},"function"===typeof r&&r(o),o.send(i)}))},e.prototype.post=function(e,t,i){return this.request("POST",e,t,i)},e.prototype.delete=function(e,t,i){return this.request("DELETE",e,t,i)},e.prototype.put=function(e,t,i){return this.request("PUT",e,t,i)},e}(),ie=new te,re=function(){function e(){}return e.prototype.addHeaders=function(e,t){if(e.setRequestHeader("Accept","application/json"),t)for(var i in t)t.hasOwnProperty(i)&&e.setRequestHeader(i,t[i]);return e},e.prototype.doUpload=function(e,t,i,r,n){var a=this;return ie.post(e,i,(function(e){a.addHeaders(e,t),e.upload.addEventListener("progress",r,!1),"function"===typeof n&&n(e)}))},e.prototype.doDeleteUpload=function(e,t,i,r){var n=this;return"string"!==typeof i&&(i=JSON.stringify(i)),ie.delete(e,i,(function(e){e.setRequestHeader("Content-Type","application/json"),n.addHeaders(e,t),"function"===typeof r&&r(e)}))},e.prototype.doUpdateUpload=function(e,t,i,r){var n=this;return"string"!==typeof i&&(i=JSON.stringify(i)),ie.put(e,i,(function(e){e.setRequestHeader("Content-Type","application/json"),n.addHeaders(e,t),"function"===typeof r&&r(e)}))},e.prototype.prepareUploadError=function(e,t,i){var r=t.message;if(t.response&&t.response.data)try{var n=t.response.data.error||JSON.parse(t.response.data).error;r=n}catch(a){}e.error||(e.error={}),e.error.upload=r,i&&setTimeout((function(){e.error||(e.error={}),e.error.upload=!1,e.error.size||e.error.type||(e.error=!1)}),i)},e.prototype.upload=function(e,t,i,r,n,a){var s=this,o=function(){};n&&(o=function(){for(var e=0,t=0,r=i;t=100?99.9999:t),o()}),(function(e){i.xhr=e,"function"===typeof a&&a(e)}));u.then((function(e){delete i.xhr,i.upload=e.data,i.progress(100),i.xhrQueue&&(i.xhrQueue(),delete i.xhrQueue)}),(function(e){s.prepareUploadError(i,e)})),l.push(u)},c=this,f=0,d=i;f=100?99.9999:t),s()}));n.then((function(e){r.progress(100)}),(function(e){a.prepareUploadError(r,e)})),o.push(n)},u=this,c=0,f=r;cthis.maxFiles-this.filesData.length&&(e=e.slice(0,this.maxFiles-this.filesData.length));for(var s=0,o=e;s= array.length) {\r\n let k = newIndex - array.length;\r\n while (k-- + 1) {\r\n array.push(undefined);\r\n }\r\n }\r\n array.splice(newIndex, 0, array.splice(previousIndex, 1)[0]);\r\n return array;\r\n }\r\n\r\n public getAverageColor(arr: Uint8ClampedArray): RGBA | undefined {\r\n const bytesPerPixel = 4;\r\n const arrLength = arr.length;\r\n if (arrLength < bytesPerPixel) {\r\n return;\r\n }\r\n const step = 5;\r\n const len = arrLength - (arrLength % bytesPerPixel);\r\n const preparedStep = (step || 1) * bytesPerPixel;\r\n\r\n let redTotal = 0;\r\n let greenTotal = 0;\r\n let blueTotal = 0;\r\n let alphaTotal = 0;\r\n let count = 0;\r\n\r\n for (let i = 0; i < len; i += preparedStep) {\r\n const alpha = arr[i + 3];\r\n const red = arr[i] * alpha;\r\n const green = arr[i + 1] * alpha;\r\n const blue = arr[i + 2] * alpha;\r\n\r\n redTotal += red;\r\n greenTotal += green;\r\n blueTotal += blue;\r\n alphaTotal += alpha;\r\n count++;\r\n }\r\n\r\n return alphaTotal\r\n ? [\r\n Math.round(redTotal / alphaTotal),\r\n Math.round(greenTotal / alphaTotal),\r\n Math.round(blueTotal / alphaTotal),\r\n Math.round(alphaTotal / count),\r\n ]\r\n : [0, 0, 0, 0];\r\n }\r\n\r\n public createVideoThumbnail(\r\n video: HTMLVideoElement,\r\n canvas: HTMLCanvasElement,\r\n thumbnailSize: number,\r\n ): Promise {\r\n video.setAttribute('crossOrigin', 'anonymous'); // fix cross origin issue\r\n return new Promise((resolve, reject) => {\r\n let loadedmetadata = false;\r\n let loadeddata = false;\r\n const tryGetThumbnail = () => {\r\n if (!(loadedmetadata && loadeddata)) {\r\n return;\r\n }\r\n const context = canvas.getContext('2d') as CanvasRenderingContext2D;\r\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height);\r\n const url = canvas.toDataURL();\r\n resolve({\r\n url,\r\n color: this.getAverageColor(imageData.data),\r\n width: video.videoWidth,\r\n height: video.videoHeight,\r\n });\r\n };\r\n // Load metadata of the video to get video duration and dimensions\r\n video.addEventListener('loadedmetadata', () => {\r\n // var video_duration = video.duration;\r\n canvas.width = thumbnailSize;\r\n canvas.height = (canvas.width / video.videoWidth) * video.videoHeight;\r\n video.currentTime = 1; // video time\r\n loadedmetadata = true;\r\n tryGetThumbnail();\r\n });\r\n\r\n video.addEventListener('loadeddata', () => {\r\n loadeddata = true;\r\n tryGetThumbnail();\r\n });\r\n });\r\n }\r\n\r\n public getDataURL(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve('');\r\n }\r\n resolve(event.target.result as string);\r\n };\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public getImageOrientationFromArrayBuffer(buffer: ArrayBuffer): number {\r\n // -2: not jpeg\r\n // -1: not defined\r\n const view = new DataView(buffer);\r\n if (view.getUint16(0, false) !== 0xffd8) {\r\n return -2;\r\n }\r\n const length = view.byteLength;\r\n let offset = 2;\r\n while (offset < length) {\r\n if (view.getUint16(offset + 2, false) <= 8) {\r\n return -1;\r\n }\r\n const marker = view.getUint16(offset, false);\r\n offset += 2;\r\n if (marker === 0xffe1) {\r\n if (view.getUint32((offset += 2), false) !== 0x45786966) {\r\n return -1;\r\n }\r\n const little = view.getUint16((offset += 6), false) === 0x4949;\r\n offset += view.getUint32(offset + 4, little);\r\n const tags = view.getUint16(offset, little);\r\n offset += 2;\r\n for (let i = 0; i < tags; i++) {\r\n if (view.getUint16(offset + i * 12, little) === 0x0112) {\r\n return view.getUint16(offset + i * 12 + 8, little);\r\n }\r\n }\r\n // tslint:disable-next-line\r\n } else if ((marker & 0xff00) !== 0xff00) {\r\n break;\r\n } else {\r\n offset += view.getUint16(offset, false);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n public getImageOrientation(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n if (!reader.readAsArrayBuffer) {\r\n return resolve(-3);\r\n }\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve(-3);\r\n }\r\n resolve(this.getImageOrientationFromArrayBuffer(event.target.result as ArrayBuffer));\r\n };\r\n // https://stackoverflow.com/questions/3248946/what-is-the-maximum-size-of-jpeg-metadata\r\n // https://twitter.com/jaffathecake/status/1085443592678752256\r\n // reader.readAsArrayBuffer(file);\r\n reader.readAsArrayBuffer(file.slice(0, 65536));\r\n });\r\n }\r\n\r\n public rotateCanvas(\r\n srcOrientation: number,\r\n canvas: HTMLCanvasElement,\r\n ctx: CanvasRenderingContext2D,\r\n width: number,\r\n height: number,\r\n ) {\r\n // set proper canvas dimensions before transform & export\r\n if (4 < srcOrientation && srcOrientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n } else {\r\n canvas.width = width;\r\n canvas.height = height;\r\n }\r\n\r\n // transform context before drawing image\r\n switch (srcOrientation) {\r\n case 2:\r\n ctx.transform(-1, 0, 0, 1, width, 0);\r\n break;\r\n case 3:\r\n ctx.transform(-1, 0, 0, -1, width, height);\r\n break;\r\n case 4:\r\n ctx.transform(1, 0, 0, -1, 0, height);\r\n break;\r\n case 5:\r\n ctx.transform(0, 1, 1, 0, 0, 0);\r\n break;\r\n case 6:\r\n ctx.transform(0, 1, -1, 0, height, 0);\r\n break;\r\n case 7:\r\n ctx.transform(0, -1, -1, 0, height, width);\r\n break;\r\n case 8:\r\n ctx.transform(0, -1, 1, 0, 0, width);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n public getImageResized(\r\n image: HTMLImageElement,\r\n widthLimit: number,\r\n heightLimit?: number,\r\n orientation?: number,\r\n ): ImageThumbnail | null {\r\n let width = image.width;\r\n let height = image.height;\r\n const thumbnailSize = widthLimit;\r\n if (widthLimit && heightLimit) {\r\n width = widthLimit;\r\n height = heightLimit;\r\n } else {\r\n if (width > height) {\r\n if (width > thumbnailSize) {\r\n height *= thumbnailSize / width;\r\n width = thumbnailSize;\r\n }\r\n } else {\r\n if (height > thumbnailSize) {\r\n width *= thumbnailSize / height;\r\n height = thumbnailSize;\r\n }\r\n }\r\n }\r\n\r\n width = Math.floor(width);\r\n height = Math.floor(height);\r\n\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n if (!context) {\r\n return null;\r\n }\r\n\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n if (orientation !== undefined) {\r\n this.rotateCanvas(orientation, canvas, context, width, height);\r\n }\r\n\r\n context.drawImage(image, 0, 0, width, height);\r\n let avgColor = null;\r\n try {\r\n const imageData = context.getImageData(0, 0, width, height);\r\n const rgba = this.getAverageColor(imageData.data);\r\n if (rgba) {\r\n avgColor = rgba;\r\n }\r\n } catch (e) {\r\n /* security error, img on diff domain */\r\n }\r\n return {\r\n image,\r\n url: canvas.toDataURL('image/png'),\r\n color: avgColor,\r\n } as ImageThumbnail;\r\n }\r\n\r\n public resizeImageUrl(image: HTMLImageElement, url: string, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n image.onload = () => {\r\n const resized = this.getImageResized(image, thumbnailSize);\r\n resolve(resized);\r\n };\r\n image.src = url;\r\n });\r\n }\r\n\r\n public resizeImageFile(image: HTMLImageElement, file: File, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (file.type.indexOf('image') === -1) {\r\n reject(new Error('Not an image'));\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n let shouldRevoke = false;\r\n const orientationPromise = this.getImageOrientation(file);\r\n image.onload = () => {\r\n orientationPromise.then((orientation) => {\r\n const resized = this.getImageResized(image, thumbnailSize, undefined, orientation);\r\n if (shouldRevoke) {\r\n revokeObjectURL(image.src);\r\n }\r\n resolve(resized);\r\n });\r\n };\r\n if (!(file instanceof File)) {\r\n return reject('Invalid file object. Use url or a valid instance of File class');\r\n }\r\n if (createObjectURL && revokeObjectURL) {\r\n shouldRevoke = true;\r\n image.src = createObjectURL(file);\r\n return;\r\n }\r\n this.getDataURL(file).then((dataUrl) => {\r\n image.src = dataUrl;\r\n });\r\n });\r\n }\r\n\r\n public resizeImage(thumbnailSize: number, file?: File, url?: string): Promise {\r\n const image = new Image();\r\n image.setAttribute('crossOrigin', 'anonymous');\r\n return url\r\n ? this.resizeImageUrl(image, url, thumbnailSize)\r\n : this.resizeImageFile(image, file as File, thumbnailSize);\r\n }\r\n\r\n public getSizeFormatted(bytes: number) {\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes === 0) {\r\n return '0 B';\r\n }\r\n let i = Math.floor(Math.log(bytes) / Math.log(1024));\r\n i = parseInt('' + i, 10);\r\n return Math.round(bytes / Math.pow(1024, i)) + ' ' + sizes[i];\r\n }\r\n\r\n public getSizeParsed(size: string): number {\r\n size = ('' + size).toUpperCase();\r\n const matches = size.match(/([\\d|.]+?)\\s*?([A-Z]+)/);\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (!matches) {\r\n return parseFloat(size);\r\n }\r\n const i = sizes.indexOf(matches[2]);\r\n if (i === -1) {\r\n return parseFloat(size);\r\n }\r\n return parseFloat(matches[1]) * Math.pow(1024, i);\r\n }\r\n\r\n public getColorForText(text: string): string {\r\n const getHashCode = (value: string) => {\r\n let hash = 0;\r\n if (value.length === 0) {\r\n return hash;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n // tslint:disable-next-line\r\n hash = value.charCodeAt(i) + ((hash << 5) - hash);\r\n // tslint:disable-next-line\r\n hash = hash & hash; // Convert to 32bit integer\r\n }\r\n return hash;\r\n };\r\n const intToHSL = (value: number) => {\r\n const h = value % 360;\r\n const s = value % 100;\r\n const l = 50;\r\n return 'hsl(' + h + ',' + s + '%,' + l + '%, 0.75)';\r\n };\r\n return intToHSL(getHashCode(text.toLowerCase()));\r\n }\r\n\r\n public validateType(file: File, accept?: string): boolean {\r\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept\r\n // https://gitlab.com/meno/dropzone/blob/master/src/dropzone.js#L2511\r\n if (!accept) {\r\n return true;\r\n } // If there are no accepted mime types, it's OK\r\n const acceptedFiles = accept.split(',');\r\n\r\n const mimeType = file.type;\r\n const baseMimeType = mimeType.replace(/\\/.*$/, '');\r\n\r\n for (let validType of acceptedFiles) {\r\n validType = validType.trim();\r\n if (validType.charAt(0) === '.') {\r\n // extension\r\n if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\r\n return true;\r\n }\r\n } else if (/\\/\\*$/.test(validType)) {\r\n // This is something like a image/* mime type\r\n if (baseMimeType === validType.replace(/\\/.*$/, '')) {\r\n return true;\r\n }\r\n } else {\r\n if (mimeType === validType) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public validateSize(file: File, maxSize?: string): boolean {\r\n if (!maxSize) {\r\n return true;\r\n }\r\n const bytes = this.getSizeParsed(maxSize);\r\n return file.size <= bytes;\r\n }\r\n\r\n public getFilesFromDroppedItems(dataTransfer: DataTransfer) {\r\n return getFilesFromDroppedItems(dataTransfer);\r\n }\r\n}\r\n\r\nexport default new Utils();\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'file-preview-wrapper-' + _vm.fileData.ext(),\n _vm.fileData.isImage() ? 'file-preview-wrapper-image' : 'file-preview-wrapper-other',\n 'file-category-' + _vm.fileData.icon().category,\n { 'file-is-playing-av': _vm.fileData.isPlayingAv },\n { 'is-deletable': _vm.deletable === true },\n { 'is-editable': _vm.editable === true },\n { 'is-edit-input-focused': _vm.isEditInputFocused },\n { 'has-error': _vm.fileData.error } ]},[(_vm.fileData.error)?_c('div',{staticClass:\"file-error-wrapper\",on:{\"click\":function($event){return _vm.dismissError()}}},[_c('div',{staticClass:\"file-error-message file-error-message-client\"},[_vm._v(\" \"+_vm._s(_vm.fileData.getErrorMessage(_vm.errorText))+\" \")])]):_vm._e(),(_vm.fileData.isPlayableAudio() || _vm.fileData.isPlayableVideo())?_c('div',{ref:\"wrapper\",staticClass:\"file-av-wrapper\"},[_c('div',{staticClass:\"file-av-action\",on:{\"click\":function($event){return _vm.playAv(_vm.fileData)}}},[_c('span',{staticClass:\"file-av-stop\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1),_c('span',{staticClass:\"file-av-play\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-av-play\"}})],1)])]):_vm._e(),_c('span',{staticClass:\"file-preview\",class:{\n 'image-preview': _vm.fileData.isImage(),\n 'other-preview': !_vm.fileData.isImage(),\n 'dark-content': _vm.fileData.isImage() && _vm.fileData.isDarkColor(),\n },style:({\n 'background-color': _vm.fileData.color(),\n })},[_c('span',{staticClass:\"file-preview-overlay\"}),_c('span',{staticClass:\"thumbnail\",staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"overflow\":\"hidden\"}},[(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('img',{staticClass:\"file-preview-img\",attrs:{\"src\":_vm.fileData.src()}}):_vm._e()]),_c('span',{staticClass:\"file-ext\"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:\"file-size\"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:\"file-delete\",on:{\"click\":function($event){return _vm.removeFileData(_vm.fileData)},\"touchstart\":function($event){return _vm.filenameClearPressed()},\"mousedown\":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name\",on:{\"click\":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:\"input\",staticClass:\"file-name-input\",attrs:{\"disabled\":_vm.disabled === true,\"type\":\"text\"},domProps:{\"value\":_vm.fileData.name(true)},on:{\"focus\":function($event){return _vm.editInputFocused()},\"blur\":function($event){return _vm.editInputBlured()},\"change\":function($event){return _vm.filenameChanged()},\"input\":function($event){return _vm.filenameChanged()},\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:\"file-name-edit-icon\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-name-edit\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name-text\"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:\"image-dimension\"},[_c('span',{staticClass:\"image-dimension-width\"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:\"image-dimension-height\"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:\"file-progress\",class:{\n 'file-progress-full': _vm.fileData.progress() >= 99.9999,\n 'file-progress-done': _vm.fileData.progress() >= 100,\n 'has-file-progress': _vm.fileData.progress() > 0,\n }},[_c('span',{staticClass:\"file-progress-bar\",style:({ width: _vm.fileData.progress() + '%' })})]):_vm._e(),_c('span',{staticClass:\"file-icon\"},[(_vm.hasLinkableUrl)?_c('a',{attrs:{\"href\":_vm.fileData.url,\"target\":\"_blank\",\"title\":_vm.fileData.name()}},[_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1):_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function getFilesFromDroppedItems(dataTransfer: DataTransfer): Promise {\r\n return new Promise((resolve) => {\r\n if (!includesFolder(dataTransfer.files)) {\r\n return resolve(dataTransfer.files);\r\n }\r\n const files: File[] = [];\r\n const folderReadQueue = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < dataTransfer.items.length; i++) {\r\n const item = dataTransfer.items[i];\r\n if (item.kind !== 'file') {\r\n continue;\r\n }\r\n const fileSystemEntries = getEntries(item);\r\n if (fileSystemEntries) {\r\n folderReadQueue.push(fileSystemEntries);\r\n } else {\r\n const file = item.getAsFile();\r\n if (file) {\r\n files.push(file);\r\n }\r\n }\r\n }\r\n Promise.all(folderReadQueue).then((filesInFolders) => {\r\n resolve(files.concat(...filesInFolders));\r\n });\r\n });\r\n}\r\n\r\nfunction getEntries(entry: any): Promise | undefined {\r\n // convert DataTransferItem to FileSystemEntry first if necessary\r\n if (entry.getAsEntry) {\r\n return getEntries(entry.getAsEntry());\r\n }\r\n if (entry.webkitGetAsEntry) {\r\n return getEntries(entry.webkitGetAsEntry());\r\n }\r\n // return if item is from a browser that does not support webkitGetAsEntry\r\n if (entry.getAsFile) {\r\n return;\r\n }\r\n // Processing directories with more than 100 files:\r\n // https://github.com/lian-yue/vue-upload-component/commit/9c9d8aafbcef005a2cc598454383ec65205d61ee\r\n return new Promise((resolve) => {\r\n if (entry.isFile) {\r\n entry.file((file: File) => resolve([file]));\r\n return;\r\n }\r\n if (entry.isDirectory) {\r\n const files: File[] = [];\r\n const entryReader = entry.createReader();\r\n const readEntries = () => {\r\n entryReader.readEntries((entries: any[]) => {\r\n const iterateEntry = (i: number) => {\r\n if (!entries[i] && i === 0) {\r\n return resolve(files);\r\n }\r\n if (!entries[i]) {\r\n return readEntries();\r\n }\r\n (getEntries(entries[i]) as Promise).then((entryFiles: File[]) => {\r\n files.push(...entryFiles);\r\n iterateEntry(i + 1);\r\n });\r\n };\r\n iterateEntry(0);\r\n });\r\n };\r\n readEntries();\r\n }\r\n if (!entry.isFile && !entry.isDirectory) {\r\n resolve([]);\r\n }\r\n });\r\n}\r\n\r\nfunction includesFolder(files: FileList): boolean {\r\n if (!files.length) {\r\n return true; // if dropping only folders, no files will exist\r\n }\r\n // tslint:disable-next-line\r\n for (var i = 0; i < files.length; i++) {\r\n // A folder has no type and has a size that is a multiple of 4096\r\n if (!files[i].type && files[i].size % 4096 === 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n","import { getIconFromExt, SvgIcon } from './icons';\r\nimport utils from './utils';\r\nimport { RGBA, ImageThumbnail, VideoThumbnail } from './utils';\r\n\r\ninterface Dimensions {\r\n height: number;\r\n width: number;\r\n}\r\n\r\ninterface Options {\r\n accept?: string;\r\n maxSize?: string;\r\n read: boolean;\r\n thumbnailSize?: number;\r\n}\r\n\r\ninterface ErrorText {\r\n common?: string;\r\n type?: string;\r\n size?: string;\r\n upload?: string;\r\n}\r\n\r\ninterface ErrorFlags {\r\n common?: boolean;\r\n type?: boolean;\r\n size?: boolean;\r\n upload?: false | string;\r\n}\r\n\r\ninterface RawFileData {\r\n url: string | null;\r\n urlResized: string | null;\r\n src: () => any;\r\n name: any;\r\n lastModified: number;\r\n sizeText: string;\r\n size: number;\r\n type: string;\r\n ext: string;\r\n color: string;\r\n file: File;\r\n progress: number | ((progress?: number) => number | void);\r\n error?: false | ErrorFlags;\r\n dimensions: Dimensions;\r\n videoThumbnail: string;\r\n imageColor: RGBA;\r\n customName: string;\r\n}\r\n\r\ninterface DummyFile {\r\n name: string;\r\n size: number;\r\n type: string;\r\n lastModified: number;\r\n lastModifiedDate: Date;\r\n}\r\n\r\nexport { Dimensions, Options, RawFileData };\r\n\r\nclass FileData {\r\n public static getFromRaw(fileDataRaw: RawFileData, options: Options, isSync = false): FileData | Promise {\r\n const fileData = new FileData(fileDataRaw, options);\r\n const promise = fileData.setUrl(fileDataRaw.url);\r\n fileDataRaw.progress = fileData.progress.bind(fileData); // convert it as a function\r\n fileDataRaw.src = fileData.src.bind(fileData);\r\n fileDataRaw.name = fileData.name.bind(fileData); // convert it as a function\r\n if (isSync) {\r\n return fileData;\r\n }\r\n return promise;\r\n }\r\n\r\n public static fromRaw(fileDataRaw: RawFileData, options: Options): Promise {\r\n return FileData.getFromRaw(fileDataRaw, options, false) as Promise;\r\n }\r\n\r\n public static fromRawSync(fileDataRaw: RawFileData, options: Options): FileData {\r\n return FileData.getFromRaw(fileDataRaw, options, true) as FileData;\r\n }\r\n\r\n public static fromRawArray(filesDataRaw: RawFileData[], options: Options): Promise {\r\n const promises: Array> = [];\r\n for (const fileDataRaw of filesDataRaw) {\r\n promises.push(FileData.fromRaw(fileDataRaw, options));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public static toRawArray(filesData: FileData[]): RawFileData[] {\r\n const filesDataRaw: RawFileData[] = [];\r\n for (const fileData of filesData) {\r\n filesDataRaw.push(fileData.toRaw());\r\n }\r\n return filesDataRaw;\r\n }\r\n\r\n public static readFile(fileData: FileData): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!fileData.read) {\r\n fileData.setUrl(null);\r\n resolve(fileData);\r\n return;\r\n }\r\n utils.getDataURL(fileData.file).then((dataUrl) => {\r\n fileData.setUrl(dataUrl).then(() => {\r\n resolve(fileData);\r\n }, reject);\r\n }, reject);\r\n });\r\n }\r\n\r\n public static readFiles(filesData: FileData[]): Promise {\r\n const promises: Array> = [];\r\n for (const fileData of filesData) {\r\n promises.push(FileData.readFile(fileData));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public url: null | string = null;\r\n public urlResized: null | string = null;\r\n public image: HTMLImageElement | {} = {};\r\n public isPlayingAv: boolean = false;\r\n\r\n public oldFileName: string | null = null;\r\n public oldCustomName: string | null = null;\r\n public upload: any = null;\r\n\r\n public raw: RawFileData;\r\n public progressInternal: number;\r\n public accept?: string;\r\n public dimensions: Dimensions;\r\n public error: false | ErrorFlags;\r\n public file: File;\r\n public height: undefined | number | string;\r\n public width: undefined | number | string;\r\n public id: string;\r\n public imageColor?: RGBA;\r\n public lastKnownSrc: null | string;\r\n public maxSize?: string;\r\n public options: Options;\r\n public read: boolean;\r\n public thumbnailSize: number;\r\n public videoThumbnail: any;\r\n public customName: any;\r\n public xhr?: XMLHttpRequest;\r\n public xhrQueue?: () => any;\r\n public stopAv?: (() => any) | null;\r\n public tusUpload?: any;\r\n\r\n public constructor(data: RawFileData, options: Options) {\r\n this.url = null;\r\n this.urlResized = null;\r\n this.lastKnownSrc = null;\r\n this.image = {};\r\n this.isPlayingAv = false;\r\n this.oldFileName = null;\r\n this.oldCustomName = null;\r\n this.upload = null;\r\n\r\n this.raw = data;\r\n this.file = data.file instanceof File ? data.file : (this.createDummyFile(data) as any);\r\n this.progressInternal = !isNaN(data.progress as number) ? (data.progress as number) : 0;\r\n // this.width = FileData.defaultWidth;\r\n // this.height = FileData.defaultHeight;\r\n this.thumbnailSize = options.thumbnailSize || 360;\r\n this.read = !!options.read;\r\n this.dimensions = data.dimensions || {};\r\n this.dimensions.width = this.dimensions.width || 0;\r\n this.dimensions.height = this.dimensions.height || 0;\r\n this.error = data.error || false;\r\n this.options = options;\r\n this.maxSize = options.maxSize;\r\n this.accept = options.accept;\r\n this.id = Math.random() + ':' + new Date().getTime();\r\n this.videoThumbnail = data.videoThumbnail;\r\n this.imageColor = data.imageColor;\r\n this.customName = data.customName;\r\n\r\n this.validate();\r\n }\r\n\r\n // populate(data, options = {}) {}\r\n\r\n public createDummyFile(data: RawFileData): DummyFile {\r\n const file: DummyFile = {} as DummyFile;\r\n file.lastModified = data.lastModified;\r\n const d = new Date();\r\n if (file.lastModified) {\r\n d.setTime(file.lastModified);\r\n }\r\n file.lastModifiedDate = d;\r\n file.name = typeof data.name === 'function' ? data.name() : data.name;\r\n file.size = data.size;\r\n file.type = data.type;\r\n return file;\r\n }\r\n\r\n public hasProgress(): boolean {\r\n return !isNaN(this.progressInternal); // && this._progress <= 100;\r\n }\r\n\r\n public progress(value?: number): number | void {\r\n if (value !== undefined) {\r\n this.progressInternal = value;\r\n return;\r\n }\r\n return this.progressInternal || 0;\r\n }\r\n\r\n public src(): string {\r\n if (this.isImage()) {\r\n return this.urlResized || this.url || (this.file as any).url;\r\n }\r\n if (this.isPlayableVideo()) {\r\n return this.videoThumbnail || '';\r\n }\r\n return '';\r\n }\r\n\r\n public size(): string {\r\n if (!this.file) {\r\n return '';\r\n }\r\n return utils.getSizeFormatted(this.file.size);\r\n }\r\n\r\n public ext(): string {\r\n if (this.file && this.file.name.indexOf('.') !== -1) {\r\n return (this.file.name as any).split('.').pop();\r\n }\r\n return '?';\r\n // return this.file.type.split('/').shift();\r\n }\r\n\r\n public name(withoutExt?: boolean): string {\r\n const ext = this.ext();\r\n if (this.customName) {\r\n return this.customName + (withoutExt ? '' : ext !== '?' ? '.' + ext : '');\r\n }\r\n const name = this.file && this.file.name;\r\n if (withoutExt) {\r\n if (ext !== '?') {\r\n return name.substr(0, name.length - (ext.length + 1));\r\n }\r\n }\r\n return name;\r\n }\r\n\r\n public isDarkColor(): boolean {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n const darkPoint = 20;\r\n return rgb[0] <= darkPoint && rgb[1] <= darkPoint && rgb[2] <= darkPoint;\r\n }\r\n return false;\r\n }\r\n\r\n public color(): string {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n return 'rgb(' + rgb[0] + ', ' + rgb[1] + ', ' + rgb[2] + ')';\r\n }\r\n if (this.isImage()) {\r\n return 'transparent';\r\n }\r\n const ext = this.ext();\r\n const svgIcon = this.icon();\r\n // var svgIcon = getIconFromExt(ext);\r\n if (svgIcon.color) {\r\n return svgIcon.color;\r\n }\r\n return utils.getColorForText(ext);\r\n }\r\n\r\n public isImage(): boolean {\r\n return this.file && this.file.type.indexOf('image') !== -1;\r\n }\r\n\r\n public isVideo(): boolean {\r\n return this.file && this.file.type.indexOf('video') !== -1;\r\n }\r\n\r\n public isPlayableVideo(): boolean {\r\n return this.icon().category === 'video-playable';\r\n }\r\n\r\n public isAudio(): boolean {\r\n return this.file && this.file.type.indexOf('audio') !== -1;\r\n }\r\n\r\n public isPlayableAudio(): boolean {\r\n return this.icon().category === 'audio-playable';\r\n }\r\n\r\n public isText(): boolean {\r\n return this.file && this.file.type.indexOf('text') !== -1;\r\n }\r\n\r\n public setUrl(url: string | null): Promise {\r\n this.url = url;\r\n return new Promise((resolve, reject) => {\r\n if (this.isImage()) {\r\n this.resizeImage().then(() => {\r\n resolve(this);\r\n }, reject);\r\n return;\r\n }\r\n resolve(this);\r\n });\r\n }\r\n\r\n public imageResized(resized: ImageThumbnail | null) {\r\n if (!resized) {\r\n return;\r\n }\r\n this.urlResized = resized.url;\r\n this.image = resized.image;\r\n if (resized.image && resized.image.width && resized.image.height) {\r\n this.dimensions.width = resized.image.width;\r\n this.dimensions.height = resized.image.height;\r\n }\r\n this.lastKnownSrc = this.urlResized;\r\n this.imageColor = resized.color;\r\n }\r\n\r\n public resizeImage(): Promise {\r\n return new Promise((resolve, reject) => {\r\n utils\r\n .resizeImage(this.thumbnailSize, this.file, this.url as string)\r\n .then((resized) => {\r\n this.imageResized(resized);\r\n resolve(this);\r\n })\r\n .catch(reject);\r\n });\r\n }\r\n\r\n public icon(): SvgIcon {\r\n const ext = this.ext();\r\n const svgIcon = getIconFromExt(ext);\r\n return svgIcon;\r\n }\r\n\r\n public getErrorMessage(errorText?: ErrorText): string {\r\n const error = this.error;\r\n if (!error) {\r\n return '';\r\n }\r\n errorText = errorText || {};\r\n errorText = {\r\n common: errorText.common || 'Invalid file.',\r\n type: errorText.type || 'Invalid file type.',\r\n size: errorText.size || 'Files should not exceed ' + this.maxSize + ' in size',\r\n };\r\n if (error.type) {\r\n return errorText.type as string;\r\n } else if (error.size) {\r\n return errorText.size as string;\r\n } else if (error.upload) {\r\n return this.upload && this.upload.error ? this.upload.error : error.upload;\r\n }\r\n return errorText.common as string;\r\n }\r\n\r\n public toRaw(): RawFileData {\r\n const raw = this.raw || {};\r\n raw.url = this.url;\r\n raw.urlResized = this.urlResized;\r\n raw.src = this.src.bind(this);\r\n raw.name = this.name.bind(this);\r\n raw.lastModified = this.file.lastModified;\r\n raw.sizeText = this.size();\r\n raw.size = this.file.size;\r\n raw.type = this.file.type;\r\n raw.ext = this.ext();\r\n raw.color = this.color();\r\n raw.file = this.file;\r\n raw.progress = this.progress.bind(this); // pass it as a function\r\n if (!('error' in raw)) {\r\n Object.defineProperty(raw, 'error', {\r\n get: () => {\r\n return this.error;\r\n },\r\n });\r\n }\r\n raw.dimensions = this.dimensions;\r\n return raw;\r\n }\r\n\r\n public validate(): void {\r\n const validType = utils.validateType(this.file, this.accept);\r\n const validSize = utils.validateSize(this.file, this.maxSize as string);\r\n if (!validType || !validSize) {\r\n this.error = {\r\n type: !validType,\r\n size: !validSize,\r\n };\r\n } else {\r\n this.error = false;\r\n }\r\n }\r\n}\r\n\r\nexport default FileData;\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport FileData, { RawFileData, Options } from '../lib/file-data';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'deletable', 'editable', 'linkable', 'errorText', 'disabled', 'thumbnailSize'],\r\n components: {\r\n VueFileIcon,\r\n },\r\n data() {\r\n return {\r\n isEditInputFocused: false,\r\n isEditCancelable: true,\r\n fileData: {} as FileData,\r\n };\r\n },\r\n computed: {\r\n hasLinkableUrl(): boolean {\r\n if (!this.linkable) {\r\n return false;\r\n }\r\n return (\r\n !!this.fileData.url &&\r\n !this.fileData.isImage() &&\r\n !this.fileData.isPlayableVideo() &&\r\n !this.fileData.isPlayableAudio()\r\n );\r\n },\r\n },\r\n methods: {\r\n updateFileData() {\r\n if (this.value instanceof FileData) {\r\n this.fileData = this.value;\r\n return;\r\n }\r\n FileData.fromRaw(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options).then((fileData) => {\r\n this.fileData = fileData;\r\n });\r\n this.fileData = FileData.fromRawSync(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options);\r\n },\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement) {\r\n if (fileData.videoThumbnail) {\r\n video.poster = fileData.src();\r\n return;\r\n }\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, this.fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n video.poster = fileData.src();\r\n });\r\n },\r\n\r\n playAv(fileData: FileData) {\r\n if (fileData.stopAv) {\r\n fileData.stopAv();\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n\r\n const wrapper = this.$refs.wrapper as HTMLElement;\r\n const player = document.createElement(fileData.isAudio() ? 'audio' : 'video');\r\n if (player instanceof HTMLVideoElement && fileData.isPlayableVideo()) {\r\n this.createThumbnail(fileData, player);\r\n }\r\n player.controls = true;\r\n // player.style.width = this.prvWidth + 'px';\r\n wrapper.appendChild(player);\r\n const url = fileData.url || createObjectURL(fileData.file);\r\n player.src = url;\r\n player.play();\r\n fileData.isPlayingAv = true;\r\n fileData.stopAv = () => {\r\n // player.src = null;\r\n player.src = '';\r\n wrapper.removeChild(player);\r\n revokeObjectURL(url);\r\n fileData.isPlayingAv = false;\r\n fileData.stopAv = null;\r\n };\r\n },\r\n\r\n removeFileData(fileData: FileData) {\r\n if (this.clearFilename()) {\r\n return;\r\n }\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n this.$emit('remove', fileData);\r\n },\r\n\r\n editFileName() {\r\n if (this.editable !== true) {\r\n return;\r\n }\r\n if (!this.$refs.input) {\r\n return;\r\n }\r\n (this.$refs.input as HTMLInputElement).focus();\r\n },\r\n\r\n editInputFocused() {\r\n this.isEditInputFocused = true;\r\n this.isEditCancelable = true;\r\n },\r\n\r\n editInputBlured() {\r\n this.fileData.oldFileName = this.fileData.name();\r\n const oldValue = this.fileData.name(true);\r\n const value = (this.$refs.input as HTMLInputElement).value;\r\n this.fileData.customName = value;\r\n const newValue = this.fileData.name(true);\r\n if (newValue !== oldValue) {\r\n this.fileData.oldCustomName = oldValue;\r\n this.$emit('rename', this.fileData);\r\n }\r\n const timeout = 100;\r\n setTimeout(() => {\r\n this.$nextTick(() => {\r\n if (!this.isEditCancelable) {\r\n return;\r\n }\r\n this.isEditInputFocused = false;\r\n });\r\n }, timeout);\r\n },\r\n\r\n filenameChanged(completed?: boolean) {\r\n if (completed) {\r\n (this.$refs.input as HTMLInputElement).blur(); // @see editInputBlured method\r\n }\r\n if (completed === false) {\r\n this.clearFilename();\r\n }\r\n },\r\n\r\n filenameClearPressed() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return;\r\n }\r\n this.isEditCancelable = false;\r\n },\r\n\r\n clearFilename() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return false;\r\n }\r\n (this.$refs.input as HTMLInputElement).value = '';\r\n this.isEditCancelable = true;\r\n this.editInputBlured();\r\n return true;\r\n },\r\n\r\n dismissError() {\r\n this.fileData.error = false;\r\n },\r\n },\r\n created() {\r\n this.updateFileData();\r\n },\r\n watch: {\r\n value() {\r\n this.updateFileData();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-preview-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-preview.vue?vue&type=template&id=6265c58c&\"\nimport script from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'axis', 'appendTo'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list.vue?vue&type=template&id=5ef04e06&\"\nimport script from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['index'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list-item.vue?vue&type=template&id=00f7ef53&\"\nimport script from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'is-sortable-' + (_vm.isSortable ? 'enabled' : 'disabled'),\n { 'is-sortable-hold': _vm.sortable === 'hold' },\n { 'is-sortable-hold': _vm.sortable === 'handle' },\n { 'is-sortable-immediately': _vm.sortable === true },\n {\n 'is-sorting': _vm.isSorting,\n 'is-sorting-active': _vm.isSortingActive,\n 'is-drag-over': _vm.isDragging,\n 'is-disabled': _vm.disabled === true,\n },\n 'theme-' + _vm.theme ],attrs:{\"id\":'vfa-' + _vm.uniqueId},on:{\"dragover\":_vm.dragOver,\"dragenter\":_vm.dragEnter,\"dragleave\":_vm.dragLeave,\"drop\":_vm.drop}},[_vm._t(\"before-outer\"),_c('div',{staticClass:\"grid-block-wrapper vue-file-agent file-input-wrapper\",class:{\n 'is-compact': !!_vm.compact,\n 'is-single': !_vm.hasMultiple,\n 'has-multiple': _vm.hasMultiple,\n 'no-meta': _vm.meta === false,\n }},[_vm._t(\"before-inner\"),_c('canvas',{ref:\"thumbnailCanvas\",staticStyle:{\"position\":\"fixed\",\"visibility\":\"hidden\",\"z-index\":\"-3\"}}),(_vm.overallProgress)?_c('div',{staticClass:\"overall-progress\",class:{ 'overall-progress-full': _vm.overallProgress >= 100 }},[_c('div',{staticClass:\"overall-progress-bar\",style:({ width: _vm.overallProgress + '%' })}),_c('div',{staticClass:\"overall-progress-left\",style:({ width: 100 - _vm.overallProgress + '%' })})]):_vm._e(),_c(_vm.isSortable ? 'vfa-sortable-list' : 'VueFileList',{tag:\"component\",attrs:{\"axis\":_vm.theme == 'list' ? 'y' : 'xy',\"appendTo\":'#vfa-' + _vm.uniqueId + ' .vue-file-agent',\"transitionDuration\":_vm.transitionDuration,\"pressDelay\":_vm.sortable === 'hold' ? 200 : 0,\"useDragHandle\":_vm.sortable === 'handle',\"helperClass\":'active-sorting-item'},on:{\"sort-start\":function($event){return _vm.sortStart()},\"sort-end\":function($event){return _vm.sortEnd($event)}},model:{value:(_vm.filesData),callback:function ($$v) {_vm.filesData=$$v},expression:\"filesData\"}},[_c('transition-group',{attrs:{\"name\":\"grid-box\",\"tag\":\"div\"}},[_vm._l((_vm.filesData),function(fileData,index){return _c(_vm.isSortable ? 'vfa-sortable-item' : 'VueFileListItem',{key:fileData.id,tag:\"component\",staticClass:\"file-preview-wrapper grid-box-item grid-block\",attrs:{\"index\":index}},[(_vm.sortable === 'handle')?_c('span',{directives:[{name:\"vfa-sortable-handle\",rawName:\"v-vfa-sortable-handle\"}],staticClass:\"file-sortable-handle\"},[_vm._t(\"sortable-handle\",[_c('VueFileIcon',{attrs:{\"name\":\"system-sortable-handle\"}})])],2):_vm._e(),_vm._t(\"file-preview\",[_c('VueFilePreview',{attrs:{\"value\":fileData,\"deletable\":_vm.isDeletable,\"editable\":_vm.editable === true,\"linkable\":_vm.linkable === true,\"errorText\":_vm.errorText,\"disabled\":_vm.disabled,\"thumbnailSize\":_vm.thumbnailSize},on:{\"remove\":function($event){return _vm.removeFileData($event)},\"rename\":function($event){return _vm.filenameChanged($event)}}})],{\"fileData\":fileData,\"index\":index})],2)}),(_vm.canAddMore)?[_vm._t(\"file-preview-new\",[_c('div',{key:\"new\",staticClass:\"file-preview-wrapper grid-box-item grid-block file-preview-new\"},[_c('span',{staticClass:\"file-preview\"},[_c('span',{staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\"}},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-preview-new\"}}),_c('span',{staticClass:\"help-text\"},[_vm._v(_vm._s(_vm.helpTextComputed))])],1)])])])]:_vm._e()],2)],1),_c('input',{ref:\"fileInput\",staticClass:\"file-input\",attrs:{\"title\":\"\",\"disabled\":_vm.disabled === true || (_vm.hasMultiple && !_vm.canAddMore),\"type\":\"file\",\"multiple\":_vm.hasMultiple,\"accept\":_vm.accept || '*'},on:{\"change\":_vm.filesChanged}}),_vm._t(\"after-inner\")],2),_vm._t(\"after-outer\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","export type ConfigureFn = (request: XMLHttpRequest) => any;\r\nexport interface AjaxResponse {\r\n data: any;\r\n status: number;\r\n statusText: string;\r\n headers: string;\r\n request: XMLHttpRequest;\r\n}\r\nexport type AjaxRequestData = FormData | any;\r\nexport interface AjaxError extends Error {\r\n code: string;\r\n request: XMLHttpRequest;\r\n response?: AjaxResponse;\r\n}\r\n\r\n/* inspired by axios */\r\nclass AjaxRequest {\r\n public createError(\r\n message: string,\r\n code: string | null,\r\n request: XMLHttpRequest,\r\n response?: AjaxResponse,\r\n ): AjaxError {\r\n const error: AjaxError = new Error(message) as AjaxError;\r\n if (code) {\r\n error.code = code;\r\n }\r\n error.request = request;\r\n error.response = response;\r\n return error;\r\n }\r\n\r\n public settle(resolve: any, reject: any, response: AjaxResponse) {\r\n const validateStatus = (status: number) => {\r\n return status >= 200 && status < 300;\r\n };\r\n // Note: status is not exposed by XDomainRequest\r\n if (!response.status || !validateStatus || validateStatus(response.status)) {\r\n resolve(response);\r\n } else {\r\n reject(this.createError('Request failed with status code ' + response.status, null, response.request, response));\r\n }\r\n }\r\n\r\n public request(\r\n method: string,\r\n url: string,\r\n formData: AjaxRequestData | null = null,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n // tslint:disable-next-line\r\n let request = new XMLHttpRequest();\r\n const loadEvent = 'onreadystatechange';\r\n\r\n request.open(method, url, true);\r\n\r\n // Listen for ready state\r\n request[loadEvent] = () => {\r\n if (!request || request.readyState !== 4) {\r\n return;\r\n }\r\n\r\n // The request errored out and we didn't get a response, this will be\r\n // handled by onerror instead\r\n // With one exception: request that using file: protocol, most browsers\r\n // will return status as 0 even though it's a successful request\r\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\r\n return;\r\n }\r\n\r\n // Prepare the response\r\n const responseHeaders = request.getAllResponseHeaders();\r\n let responseData: any = request.responseText;\r\n const contentType = request.getResponseHeader('Content-Type');\r\n if (contentType && contentType.indexOf('application/json') !== -1) {\r\n responseData = JSON.parse(responseData);\r\n }\r\n const response: AjaxResponse = {\r\n data: responseData,\r\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\r\n status: request.status === 1223 ? 204 : request.status,\r\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\r\n headers: responseHeaders,\r\n request,\r\n };\r\n\r\n this.settle(resolve, reject, response);\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle browser request cancellation (as opposed to a manual cancellation)\r\n request.onabort = () => {\r\n if (!request) {\r\n return;\r\n }\r\n\r\n reject(this.createError('Request aborted', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle low level network errors\r\n request.onerror = () => {\r\n // Real errors are hidden from us by the browser\r\n // onerror should only fire if it's a network error\r\n reject(this.createError('Network Error', null, request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle timeout\r\n request.ontimeout = () => {\r\n reject(this.createError('timeout exceeded', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // // Handle progress if needed\r\n // if (typeof config.onDownloadProgress === 'function') {\r\n // request.addEventListener('progress', config.onDownloadProgress);\r\n // }\r\n\r\n // Not all browsers support upload events\r\n // if (typeof progressCallback === 'function' && request.upload) {\r\n // request.upload.addEventListener('progress', progressCallback);\r\n // }\r\n\r\n if (typeof configureFn === 'function') {\r\n configureFn(request);\r\n }\r\n\r\n request.send(formData);\r\n });\r\n }\r\n\r\n public post(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('POST', url, formData, configureFn);\r\n }\r\n\r\n public delete(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('DELETE', url, formData, configureFn);\r\n }\r\n\r\n public put(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('PUT', url, formData, configureFn);\r\n }\r\n}\r\n\r\nexport default new AjaxRequest();\r\n","import ajax from './ajax-request';\r\nimport { ConfigureFn, AjaxResponse, AjaxError } from './ajax-request';\r\nimport FileData from './file-data';\r\n\r\ntype ProgressFn = (event: ProgressEvent) => void;\r\ntype CreateFormDataFn = (fileData: FileData) => FormData;\r\n\r\nclass UploadHelper {\r\n // useAxios(axios){\r\n // this.axios = axios;\r\n // }\r\n\r\n public addHeaders(xhr: XMLHttpRequest, headers: object): XMLHttpRequest {\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n if (headers) {\r\n for (const key in headers) {\r\n if (headers.hasOwnProperty(key)) {\r\n xhr.setRequestHeader(key, (headers as any)[key]);\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n\r\n public doUpload(\r\n url: string,\r\n headers: object,\r\n formData: FormData,\r\n progressCallback: ProgressFn,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return ajax.post(url, formData, (xhr) => {\r\n this.addHeaders(xhr, headers);\r\n xhr.upload.addEventListener('progress', progressCallback, false);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doDeleteUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.delete(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doUpdateUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.put(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n // doUploadAxios(axios, formData, progressCallback){\r\n // return axios.post('/upload', formData, {\r\n // onUploadProgress: progressCallback,\r\n // });\r\n // }\r\n\r\n // doDeleteUploadAxios(axios, data, configureFn){\r\n // return axios.delete('/upload', data, {\r\n // });\r\n // }\r\n\r\n public prepareUploadError(fileData: FileData, err: AjaxError, timeout?: number) {\r\n let errorText = err.message;\r\n if (err.response && err.response.data) {\r\n try {\r\n const errorMsg = err.response.data.error || JSON.parse(err.response.data).error;\r\n errorText = errorMsg;\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = errorText;\r\n if (timeout) {\r\n setTimeout(() => {\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = false;\r\n if (!fileData.error.size && !fileData.error.type) {\r\n fileData.error = false;\r\n }\r\n }, timeout);\r\n }\r\n }\r\n\r\n public upload(\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n createFormData?: CreateFormDataFn,\r\n progressFn?: (progress: number) => void,\r\n configureFn?: ConfigureFn,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n let formData;\r\n if (typeof createFormData === 'function') {\r\n formData = createFormData(fileData);\r\n } else {\r\n formData = new FormData();\r\n formData.append('file', fileData.file as File);\r\n formData.append('filename', fileData.name());\r\n }\r\n // ((fileData) => {\r\n const promise = this.doUpload(\r\n url,\r\n headers,\r\n formData,\r\n (progressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n },\r\n (xhr) => {\r\n fileData.xhr = xhr;\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n },\r\n );\r\n promise.then(\r\n (response) => {\r\n delete fileData.xhr;\r\n fileData.upload = response.data;\r\n fileData.progress(100);\r\n if (fileData.xhrQueue) {\r\n fileData.xhrQueue();\r\n delete fileData.xhrQueue;\r\n }\r\n } /* */,\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n } /* */,\r\n );\r\n promises.push(promise);\r\n // })(fileData);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public deleteUpload(url: string, headers: object, fileData: FileData, uploadData?: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n fileData.xhr.abort();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload;\r\n }\r\n if (uploadData) {\r\n this.doDeleteUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (result) => {\r\n resolve(result);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public updateUpload(url: string, headers: object, fileData: FileData, uploadData: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n // probably updated while being uploaded.\r\n fileData.xhrQueue = () => {\r\n this.updateUpload(url, headers, fileData, uploadData);\r\n };\r\n return resolve();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload || {};\r\n uploadData.old_filename = fileData.oldFileName;\r\n uploadData.filename = fileData.name();\r\n }\r\n if (uploadData) {\r\n this.doUpdateUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (response) => {\r\n fileData.upload = response.data;\r\n resolve(response);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public doTusUpload(tus: any, url: string, fileData: FileData, headers: object, progressCallback: ProgressFn) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject(new Error('tus required. Please install tus-js-client'));\r\n }\r\n // https://github.com/tus/tus-js-client\r\n // Create a new tus upload\r\n const file = fileData.file;\r\n const upload = new tus.Upload(file, {\r\n endpoint: url,\r\n headers,\r\n retryDelays: [0, 3000, 5000, 10000, 20000],\r\n metadata: {\r\n filename: file.name,\r\n filetype: file.type,\r\n },\r\n onError(error: any) {\r\n reject(error);\r\n // console.log(\"Failed because: \" + error)\r\n },\r\n onProgress(bytesUploaded: number, bytesTotal: number) {\r\n const event = { loaded: bytesUploaded, total: bytesTotal } as ProgressEvent;\r\n progressCallback(event);\r\n },\r\n onSuccess() {\r\n resolve(upload);\r\n },\r\n });\r\n fileData.tusUpload = upload;\r\n // Start the upload\r\n upload.start();\r\n });\r\n }\r\n\r\n public tusUpload(\r\n tus: any,\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n progressFn?: (progress: number) => void,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n const promise = this.doTusUpload(tus, url, fileData, headers, (progressEvent: ProgressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n });\r\n promise.then(\r\n (response) => {\r\n // delete fileData.tusUpload;\r\n fileData.progress(100);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n },\r\n );\r\n promises.push(promise);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public tusDeleteUpload(tus: any, url: string, headers: object, fileData: FileData) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject('tus required');\r\n }\r\n if (!fileData.tusUpload) {\r\n return resolve();\r\n }\r\n // const shouldTerminate = true;\r\n const abort = (shouldTerminate: boolean) => {\r\n return new Promise((res, rej) => {\r\n fileData.tusUpload.abort(shouldTerminate, (err: any) => {\r\n if (err) {\r\n this.prepareUploadError(fileData, err);\r\n rej(err);\r\n return;\r\n }\r\n res();\r\n });\r\n });\r\n };\r\n abort(false).then(() => {\r\n setTimeout(() => {\r\n abort(true).then(resolve, reject);\r\n }, 1000);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport default new UploadHelper();\r\n","export default {\r\n tus: null as any,\r\n};\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport VueFilePreview from './vue-file-preview.vue';\r\nimport VueFileList from './vue-file-list.vue';\r\nimport VueFileListItem from './vue-file-list-item.vue';\r\nimport FileData from '../lib/file-data';\r\nimport { RawFileData } from '../lib/file-data';\r\nimport uploader from '../lib/upload-helper';\r\nimport Vue from 'vue';\r\nimport plugins from '../lib/plugins';\r\n\r\n// tslint:disable-next-line\r\nvar dragCounter = 0;\r\n\r\nexport default Vue.extend({\r\n props: [\r\n 'accept',\r\n 'compact',\r\n 'deletable',\r\n 'disabled',\r\n 'editable',\r\n 'errorText',\r\n 'helpText',\r\n 'linkable',\r\n 'maxFiles',\r\n 'maxSize',\r\n 'meta',\r\n 'multiple',\r\n 'progress',\r\n 'read',\r\n 'resumable',\r\n 'sortable',\r\n 'theme',\r\n 'thumbnailSize',\r\n 'uploadHeaders',\r\n 'uploadUrl',\r\n 'value',\r\n ],\r\n components: {\r\n VueFileIcon,\r\n VueFilePreview,\r\n VueFileList,\r\n VueFileListItem,\r\n },\r\n directives: {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/HandleDirective.js\r\n vfaSortableHandle: {\r\n bind(el: HTMLElement) {\r\n (el as any).sortableHandle = true;\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n filesData: [] as FileData[],\r\n filesDataRaw: [] as RawFileData[],\r\n isDragging: false,\r\n isSorting: false,\r\n isSortingActive: false,\r\n transitionDuration: 300,\r\n overallProgress: 0,\r\n uniqueId: '',\r\n sortTimeout: 0,\r\n };\r\n },\r\n computed: {\r\n canAddMore(): boolean {\r\n if (!this.hasMultiple) {\r\n return this.filesData.length === 0;\r\n }\r\n if (!this.maxFiles) {\r\n return true;\r\n }\r\n return this.filesData.length < this.maxFiles;\r\n },\r\n helpTextComputed(): string {\r\n if (this.helpText) {\r\n return this.helpText;\r\n }\r\n return 'Choose ' + (this.hasMultiple ? 'files' : 'file') + ' or drag & drop here';\r\n },\r\n isDeletable(): boolean {\r\n if (typeof this.deletable === 'string') {\r\n return this.deletable !== 'false';\r\n }\r\n return !!this.deletable;\r\n },\r\n isSortable(): boolean {\r\n return !!this.sortable;\r\n },\r\n hasMultiple(): boolean {\r\n if (typeof this.multiple === 'string') {\r\n return this.multiple !== 'false';\r\n }\r\n if (this.multiple === undefined) {\r\n return Array.isArray(this.value);\r\n }\r\n return !!this.multiple;\r\n },\r\n shouldRead(): boolean {\r\n if (typeof this.read === 'string') {\r\n return this.read === 'true';\r\n }\r\n return !!this.read;\r\n },\r\n },\r\n methods: {\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement): Promise {\r\n return new Promise((resolve, reject) => {\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n resolve();\r\n }, reject);\r\n });\r\n },\r\n initVideo(fileData: FileData): void {\r\n if (!fileData.isPlayableVideo()) {\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n const video = document.createElement('video');\r\n video.src = createObjectURL(fileData.file);\r\n this.createThumbnail(fileData, video).then(() => {\r\n revokeObjectURL(video.src);\r\n });\r\n video.load();\r\n },\r\n getFileDataInstance(fileDataOrRaw: FileData | RawFileData): FileData {\r\n let i;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n if (i === -1) {\r\n return fileDataOrRaw as FileData;\r\n }\r\n return this.filesData[i];\r\n },\r\n upload(\r\n url: string,\r\n headers: object,\r\n filesDataOrRaw: FileData[] | RawFileData[],\r\n createFormData?: (fileData: FileData) => FormData,\r\n ): Promise {\r\n const validFilesData = [];\r\n for (const fileDataOrRaw of filesDataOrRaw) {\r\n const fileData = this.getFileDataInstance(fileDataOrRaw);\r\n if (!fileData.error) {\r\n validFilesData.push(fileData);\r\n }\r\n }\r\n if (this.resumable) {\r\n return uploader.tusUpload(plugins.tus, url, headers, validFilesData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n }\r\n return uploader.upload(url, headers, validFilesData, createFormData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n },\r\n deleteUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n if (this.filesData.length < 1) {\r\n this.overallProgress = 0;\r\n }\r\n fileData = this.getFileDataInstance(fileData);\r\n if (this.resumable) {\r\n return uploader.tusDeleteUpload(plugins.tus, url, headers, fileData);\r\n }\r\n return uploader.deleteUpload(url, headers, fileData, uploadData);\r\n },\r\n updateUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n fileData = this.getFileDataInstance(fileData);\r\n return uploader.updateUpload(url, headers, fileData, uploadData);\r\n },\r\n autoUpload(filesData: FileData[] | RawFileData[]): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.upload(this.uploadUrl, this.uploadHeaders, filesData);\r\n },\r\n autoDeleteUpload(fileData: FileData | RawFileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.deleteUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n autoUpdateUpload(fileData: FileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.updateUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n equalFiles(file1: File, file2: File): boolean {\r\n return (\r\n true &&\r\n file1.name === file2.name &&\r\n file1.size === file2.size &&\r\n file1.type === file2.type &&\r\n // file1.lastModifiedDate.getTime() === file2.lastModifiedDate.getTime() &&\r\n file1.lastModified === file2.lastModified\r\n );\r\n },\r\n isFileAddedAlready(file: File): boolean {\r\n for (const fileData of this.filesData) {\r\n if (this.equalFiles(file, fileData.file as File)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n handleFiles(files: File[] | FileList): void {\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n if (this.hasMultiple && !this.canAddMore) {\r\n return;\r\n }\r\n const filesData: FileData[] = [];\r\n const filesFiltered: File[] = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < files.length; i++) {\r\n if (this.hasMultiple && this.isFileAddedAlready(files[i])) {\r\n continue;\r\n }\r\n filesFiltered.push(files[i]);\r\n }\r\n files = filesFiltered;\r\n if (this.maxFiles && files.length > this.maxFiles - this.filesData.length) {\r\n files = files.slice(0, this.maxFiles - this.filesData.length);\r\n }\r\n for (const file of files) {\r\n filesData.push(\r\n new FileData(\r\n {\r\n file,\r\n } as RawFileData,\r\n {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n },\r\n ),\r\n );\r\n }\r\n\r\n for (const fileData of filesData) {\r\n if (fileData.file.size <= 20 * 1024 * 1024) {\r\n // <= 20MB\r\n this.initVideo(fileData);\r\n }\r\n }\r\n if (this.hasMultiple) {\r\n // splice: for list transitions to work properly\r\n this.filesData.splice(this.filesData.length, 0, ...filesData);\r\n } else {\r\n this.filesData = filesData;\r\n }\r\n\r\n FileData.readFiles(filesData).then((filesDataNew: FileData[]) => {\r\n const allFilesDataRaw = FileData.toRawArray(this.filesData);\r\n this.filesDataRaw = allFilesDataRaw;\r\n this.$emit('input', Array.isArray(this.value) ? allFilesDataRaw : allFilesDataRaw[0]);\r\n this.$emit('select', FileData.toRawArray(filesDataNew));\r\n });\r\n this.autoUpload(filesData);\r\n },\r\n filesChanged(event: InputEvent): void {\r\n const files: FileList = (event.target as HTMLInputElement).files as FileList;\r\n this.$emit('change', event);\r\n if (!files[0]) {\r\n return;\r\n }\r\n this.handleFiles(files);\r\n if (this.$refs.fileInput) {\r\n (this.$refs.fileInput as any).value = null; // do not use ''\r\n // because chrome won't fire change event for same file\r\n }\r\n },\r\n drop(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter = 0;\r\n this.isDragging = false;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n utils.getFilesFromDroppedItems(event.dataTransfer).then((files) => {\r\n this.$emit('drop', event);\r\n if (!files || !files[0]) {\r\n return;\r\n }\r\n if (!this.hasMultiple) {\r\n files = [files[0]];\r\n }\r\n this.handleFiles(files);\r\n });\r\n },\r\n dragEnter(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n dragCounter++;\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragOver(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragLeave(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter--;\r\n if (dragCounter === 0) {\r\n this.isDragging = false;\r\n }\r\n },\r\n removeFileData(fileDataOrRaw: FileData | RawFileData): void {\r\n let i: number;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n const fileData: FileData = this.filesData.splice(i, 1)[0];\r\n const fileDataRaw = this.filesDataRaw.splice(i, 1)[0];\r\n this.$emit('input', this.filesDataRaw);\r\n // this.$emit('delete', fileData);\r\n this.$emit('delete', fileDataRaw);\r\n this.autoDeleteUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n this.filesData.splice(i, 1, fileData);\r\n this.filesDataRaw.splice(i, 1, fileDataRaw);\r\n },\r\n );\r\n },\r\n filenameChanged(fileData: FileData): void {\r\n this.$emit('rename', FileData.toRawArray([fileData])[0]);\r\n this.autoUpdateUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n fileData.customName = fileData.oldCustomName;\r\n },\r\n );\r\n },\r\n checkValue(): void {\r\n let filesDataRaw: RawFileData[] = this.value || [];\r\n filesDataRaw = Array.isArray(filesDataRaw) ? filesDataRaw : [filesDataRaw];\r\n\r\n const fdPromises: Array> = [];\r\n const filesDataRawNew: RawFileData[] = [];\r\n\r\n for (let i = 0; i < filesDataRaw.length; i++) {\r\n const existingIndex = this.filesDataRaw.indexOf(filesDataRaw[i]);\r\n if (existingIndex !== -1) {\r\n fdPromises.push(Promise.resolve(this.filesData[existingIndex]));\r\n filesDataRawNew[i] = this.filesDataRaw[existingIndex];\r\n } else {\r\n fdPromises.push(\r\n FileData.fromRaw(filesDataRaw[i], {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n }),\r\n );\r\n filesDataRawNew.push(filesDataRaw[i]);\r\n }\r\n }\r\n\r\n this.filesDataRaw = filesDataRawNew;\r\n Promise.all(fdPromises).then((filesData) => {\r\n this.filesData = filesData;\r\n });\r\n },\r\n sortStart(): void {\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.isSorting = true;\r\n this.isSortingActive = true;\r\n },\r\n sortEnd(sortData: { event: Event; newIndex: number; oldIndex: number; collection: any }): void {\r\n this.isSortingActive = false;\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.sortTimeout = setTimeout(() => {\r\n this.isSorting = false;\r\n }, this.transitionDuration + 100);\r\n if (sortData.oldIndex !== sortData.newIndex) {\r\n this.filesDataRaw = utils.arrayMove(this.filesDataRaw, sortData.oldIndex, sortData.newIndex);\r\n this.$nextTick(() => {\r\n this.$emit('input', this.filesDataRaw);\r\n this.$emit('sort', {\r\n oldIndex: sortData.oldIndex,\r\n newIndex: sortData.newIndex,\r\n });\r\n });\r\n }\r\n },\r\n },\r\n created() {\r\n this.uniqueId =\r\n new Date().getTime().toString(36) +\r\n Math.random()\r\n .toString(36)\r\n .slice(2);\r\n this.checkValue();\r\n },\r\n watch: {\r\n value() {\r\n this.checkValue();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-agent-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-agent.vue?vue&type=template&id=1410c648&\"\nimport script from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import VueFileIcon from './components/vue-file-icon.vue';\r\nimport VueFilePreview from './components/vue-file-preview.vue';\r\nimport VueFileList from './components/vue-file-list.vue';\r\nimport VueFileListItem from './components/vue-file-list-item.vue';\r\nimport VueFileAgent from './components/vue-file-agent.vue';\r\nimport VueFileAgentMixin from './components/vue-file-agent-mixin';\r\nimport VueFilePreviewMixin from './components/vue-file-preview-mixin';\r\nimport utils from './lib/utils';\r\nimport plugins from './lib/plugins';\r\nimport FileData from './lib/file-data';\r\n\r\nimport _Vue, { PluginFunction } from 'vue';\r\n\r\nexport default class VueFileAgentPlugin {\r\n public static VueFileIcon = VueFileIcon;\r\n public static VueFilePreview = VueFilePreview;\r\n public static VueFileAgent = VueFileAgent;\r\n public static component = VueFileAgent;\r\n public static mixin = VueFileAgentMixin;\r\n public static plugins = plugins;\r\n\r\n public static VueFileAgentMixin = VueFileAgentMixin;\r\n public static VueFilePreviewMixin = VueFilePreviewMixin;\r\n\r\n public static install(Vue: typeof _Vue, options: any) {\r\n Vue.component('VueFileIcon', VueFileIcon);\r\n Vue.component('VueFilePreview', VueFilePreview);\r\n Vue.component('VueFileList', VueFileList);\r\n Vue.component('VueFileListItem', VueFileListItem);\r\n Vue.component('VueFileAgent', VueFileAgent);\r\n Vue.prototype.$vueFileAgent = {\r\n mixin: VueFileAgentMixin,\r\n };\r\n }\r\n}\r\n\r\n// auto install\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n VueFileAgentPlugin.install(window.Vue, {});\r\n (window as any).VueFileAgent = VueFileAgentPlugin;\r\n}\r\n\r\nexport const mixin = VueFileAgentMixin;\r\n\r\nexport { VueFileAgentMixin, VueFilePreviewMixin };\r\n\r\nexport { utils, FileData, plugins };\r\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://vue-file-agent/webpack/universalModuleDefinition","webpack://vue-file-agent/webpack/bootstrap","webpack://vue-file-agent/./src/components/vue-file-agent.vue?b54a","webpack://vue-file-agent/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue-file-agent/./node_modules/current-script-polyfill/currentScript.js","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue?1b6f","webpack://vue-file-agent/./src/lib/extensions.ts","webpack://vue-file-agent/./src/lib/icons.ts","webpack://vue-file-agent/./src/components/vue-file-icon.vue?22fe","webpack://vue-file-agent/./src/components/vue-file-icon.vue?ff5c","webpack://vue-file-agent/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://vue-file-agent/./src/components/vue-file-icon.vue","webpack://vue-file-agent/./src/lib/utils.ts","webpack://vue-file-agent/./src/components/vue-file-preview.vue?b946","webpack://vue-file-agent/./src/lib/drop-handler.ts","webpack://vue-file-agent/./src/lib/file-data.ts","webpack://vue-file-agent/./src/components/vue-file-preview-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-preview.vue?2ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue?6ead","webpack://vue-file-agent/./src/components/vue-file-preview.vue","webpack://vue-file-agent/./src/components/vue-file-list.vue?20f8","webpack://vue-file-agent/./src/components/vue-file-list.vue?5199","webpack://vue-file-agent/./src/components/vue-file-list.vue?8914","webpack://vue-file-agent/./src/components/vue-file-list.vue","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?85d9","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?cc4e","webpack://vue-file-agent/./src/components/vue-file-list-item.vue?09a3","webpack://vue-file-agent/./src/components/vue-file-list-item.vue","webpack://vue-file-agent/./src/components/vue-file-agent.vue?0925","webpack://vue-file-agent/./node_modules/tslib/tslib.es6.js","webpack://vue-file-agent/./src/lib/ajax-request.ts","webpack://vue-file-agent/./src/lib/upload-helper.ts","webpack://vue-file-agent/./src/lib/plugins.ts","webpack://vue-file-agent/./src/components/vue-file-agent-mixin.ts","webpack://vue-file-agent/./src/components/vue-file-agent.vue?36b6","webpack://vue-file-agent/./src/components/vue-file-agent.vue?54cf","webpack://vue-file-agent/./src/components/vue-file-agent.vue","webpack://vue-file-agent/./src/index.ts","webpack://vue-file-agent/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__8bbf__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","document","currentScript","scripts","getElementsByTagName","Error","err","res","exec","stack","src","readyState","window","match","render","_vm","_h","$createElement","_c","_self","attrs","viewBoxComputed","_l","icon","index","_e","staticRenderFns","paths","color","viewBox","category","playIconPaths","icons","SvgIcon","undefined","extensionsMap","cat","extensions","getIconByName","svgIcon","other","getIconFromExt","ext","toLowerCase","extend","props","computed","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","ImageOrientation","component","class","fileData","isImage","isPlayingAv","deletable","editable","isEditInputFocused","error","staticClass","on","$event","dismissError","_v","_s","getErrorMessage","errorText","isPlayableAudio","isPlayableVideo","ref","playAv","isDarkColor","style","staticStyle","url","size","removeFileData","filenameClearPressed","editFileName","disabled","domProps","editInputFocused","editInputBlured","filenameChanged","type","indexOf","_k","keyCode","dimensions","width","height","hasProgress","progress","getFilesFromDroppedItems","dataTransfer","Promise","resolve","includesFolder","files","folderReadQueue","items","length","item","kind","fileSystemEntries","getEntries","push","file","getAsFile","all","then","filesInFolders","entry","getAsEntry","webkitGetAsEntry","isFile","isDirectory","createReader","readEntries","entries","iterateEntry","entryFiles","arrayMove","arr","previousIndex","newIndex","array","slice","k","splice","getAverageColor","bytesPerPixel","arrLength","step","len","preparedStep","redTotal","greenTotal","blueTotal","alphaTotal","count","alpha","red","green","blue","Math","round","createVideoThumbnail","video","canvas","thumbnailSize","setAttribute","reject","loadedmetadata","loadeddata","tryGetThumbnail","getContext","drawImage","imageData","getImageData","toDataURL","data","videoWidth","videoHeight","addEventListener","currentTime","getDataURL","reader","FileReader","onload","event","target","result","readAsDataURL","getImageOrientationFromArrayBuffer","buffer","view","DataView","getUint16","byteLength","offset","marker","getUint32","little","tags","getImageOrientation","readAsArrayBuffer","rotateCanvas","srcOrientation","ctx","transform","getImageResized","image","widthLimit","heightLimit","orientation","floor","createElement","avgColor","rgba","e","resizeImageUrl","resized","resizeImageFile","createObjectURL","URL","webkitURL","revokeObjectURL","shouldRevoke","orientationPromise","File","dataUrl","resizeImage","Image","getSizeFormatted","bytes","sizes","log","parseInt","pow","getSizeParsed","toUpperCase","matches","parseFloat","getColorForText","text","getHashCode","hash","charCodeAt","intToHSL","validateType","accept","acceptedFiles","split","mimeType","baseMimeType","replace","validType","trim","charAt","test","validateSize","maxSize","urlResized","oldFileName","oldCustomName","upload","lastKnownSrc","raw","createDummyFile","progressInternal","isNaN","read","id","random","Date","getTime","videoThumbnail","imageColor","customName","validate","getFromRaw","fileDataRaw","isSync","FileData","promise","setUrl","fromRaw","fromRawSync","fromRawArray","filesDataRaw","promises","toRawArray","filesData","toRaw","readFile","utils","readFiles","lastModified","setTime","lastModifiedDate","pop","withoutExt","substr","rgb","darkPoint","isVideo","isAudio","isText","imageResized","catch","common","sizeText","validSize","components","VueFileIcon","isEditCancelable","hasLinkableUrl","linkable","methods","updateFileData","createThumbnail","poster","thumbnail","stopAv","wrapper","$refs","player","HTMLVideoElement","controls","appendChild","play","removeChild","clearFilename","$emit","input","focus","oldValue","newValue","timeout","setTimeout","$nextTick","completed","blur","created","watch","mixins","_t","isSortable","sortable","isSorting","isSortingActive","isDragging","theme","uniqueId","dragOver","dragEnter","dragLeave","drop","compact","hasMultiple","meta","overallProgress","tag","transitionDuration","sortStart","sortEnd","model","callback","$$v","expression","directives","rawName","isDeletable","helpTextComputed","canAddMore","filesChanged","__spreadArrays","il","arguments","Array","a","j","jl","createError","message","code","request","response","settle","validateStatus","status","method","formData","configureFn","XMLHttpRequest","loadEvent","open","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseText","contentType","getResponseHeader","JSON","parse","statusText","headers","onabort","onerror","ontimeout","send","post","delete","put","AjaxRequest","addHeaders","xhr","setRequestHeader","doUpload","progressCallback","doDeleteUpload","uploadData","stringify","doUpdateUpload","prepareUploadError","errorMsg","createFormData","progressFn","updateOverallProgress","prgTotal","FormData","append","progressEvent","percentCompleted","loaded","total","xhrQueue","deleteUpload","abort","updateUpload","old_filename","filename","doTusUpload","tus","Upload","endpoint","retryDelays","metadata","filetype","onError","onProgress","bytesUploaded","bytesTotal","onSuccess","tusUpload","start","tusDeleteUpload","shouldTerminate","rej","dragCounter","VueFilePreview","VueFileList","VueFileListItem","vfaSortableHandle","el","sortableHandle","sortTimeout","maxFiles","helpText","multiple","isArray","shouldRead","initVideo","load","getFileDataInstance","fileDataOrRaw","filesDataOrRaw","validFilesData","resumable","plugins","autoUpload","uploadUrl","uploadHeaders","autoDeleteUpload","autoUpdateUpload","equalFiles","file1","file2","isFileAddedAlready","handleFiles","filesFiltered","filesDataNew","allFilesDataRaw","fileInput","stopPropagation","preventDefault","dropEffect","checkValue","fdPromises","filesDataRawNew","existingIndex","clearTimeout","sortData","oldIndex","toString","install","Vue","$vueFileAgent","mixin","VueFileAgent","VueFileAgentMixin","VueFilePreviewMixin"],"mappings":"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","file":"vue-file-agent.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-file-agent\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-file-agent\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":_vm.viewBoxComputed}},[_vm._l((_vm.icon.paths),function(d,index){return [(d)?_c('path',{key:index,attrs:{\"d\":d}}):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n 'audio': [\r\n 'aif',\r\n 'cda',\r\n 'mid',\r\n 'midi',\r\n // 'mp3',\r\n 'mpa',\r\n // 'ogg',\r\n // 'wav',\r\n 'wma',\r\n 'wpl',\r\n ],\r\n 'audio-playable': ['mp3', 'ogg', 'wav'],\r\n 'archive': ['7z', 'arj', 'deb', 'pkg', 'rar', 'rpm', 'tar.gz', 'z', 'zip'],\r\n 'disc': [\r\n // 'bin',\r\n 'dmg',\r\n 'iso',\r\n 'toast',\r\n 'vcd',\r\n ],\r\n 'database': [\r\n 'csv',\r\n 'dat',\r\n 'db',\r\n 'dbf',\r\n 'log',\r\n 'mdb',\r\n 'sav',\r\n 'sql',\r\n 'tar',\r\n // 'xml'\r\n ],\r\n 'executable': ['apk', 'bat', 'bin', 'cgi', 'pl', 'com', 'exe', 'gadget', 'jar', 'py', 'wsf', 'ipa'],\r\n 'font': ['fnt', 'fon', 'otf', 'ttf'],\r\n 'image': ['ai', 'bmp', 'gif', 'ico', 'jpeg', 'jpg', 'png', 'ps', 'psd', 'svg', 'tif', 'tiff'],\r\n 'markup': [\r\n 'asp',\r\n 'aspx',\r\n 'cer',\r\n 'cfm',\r\n 'cgi',\r\n 'pl',\r\n 'css',\r\n 'scss',\r\n 'htm',\r\n 'html',\r\n 'jsp',\r\n // 'vue',\r\n 'part',\r\n 'php',\r\n 'py',\r\n 'rss',\r\n 'xml',\r\n 'xhtml',\r\n ],\r\n 'presentation': ['key', 'odp', 'pps', 'ppt', 'pptx'],\r\n 'script': ['c', 'class', 'cpp', 'cs', 'h', 'java', 'js', 'json', 'sh', 'swift', 'vb'],\r\n 'sheet': ['ods', 'xlr', 'xls', 'xlsx'],\r\n 'system': [\r\n 'bak',\r\n 'cab',\r\n 'cfg',\r\n 'cpl',\r\n 'cur',\r\n 'dll',\r\n 'dmp',\r\n 'drv',\r\n 'icns',\r\n // 'ico',\r\n 'ini',\r\n 'lnk',\r\n 'msi',\r\n 'sys',\r\n 'tmp',\r\n ],\r\n 'video': [\r\n '3g2',\r\n '3gp',\r\n 'avi',\r\n 'flv',\r\n 'h264',\r\n // 'm4v',\r\n 'mkv',\r\n // 'mov',\r\n // 'mp4',\r\n 'mpg',\r\n 'mpeg',\r\n 'rm',\r\n 'swf',\r\n 'vob',\r\n // 'webm',\r\n 'wmv',\r\n ],\r\n 'video-playable': ['mp4', 'webm', 'mov'],\r\n 'vue': ['vue'],\r\n 'doc': [\r\n 'doc',\r\n 'docx',\r\n 'odt',\r\n 'rtf',\r\n 'tex',\r\n // 'txt',\r\n 'wks',\r\n 'wps',\r\n 'wpd',\r\n ],\r\n 'text': ['txt'],\r\n 'ebook': ['epub'],\r\n 'pdf': ['pdf'],\r\n 'folder': ['folder'],\r\n 'play': ['play'],\r\n};\r\n","import extensions from '../lib/extensions';\r\n\r\nexport class SvgIcon {\r\n public category: string = '';\r\n constructor(public paths: string[], public color?: string, public viewBox?: string) {}\r\n}\r\n\r\nconst playIconPaths = ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'];\r\n\r\nconst icons = {\r\n 'folder': new SvgIcon(\r\n [\r\n 'M96.5 93.7h-93c-2 0-3.5-1.5-3.5-3.5V35.4h100v54.8c0 2-1.5 3.5-3.5 3.5z',\r\n 'M44.9 20V9.7c0-2-1.5-3.5-3.5-3.5h-38C1.5 6.3 0 7.8 0 9.7v25.7h100V23.5c0-2-1.5-3.5-3.5-3.5H44.9z',\r\n ],\r\n '#efce4a',\r\n ),\r\n 'audio': new SvgIcon(\r\n [\r\n 'M32.5 37.5h-9v25h9L53.6 77V23L32.5 37.5M71.9 50c0 6.8-3.7 12.7-9.1 15.8l2.8 4.9c7.1-4.1 11.9-11.8 11.9-20.7 0-8.8-4.8-16.6-11.9-20.7l-2.8 4.9c5.4 3.1 9.1 9 9.1 15.8z',\r\n // tslint:disable-next-line\r\n 'M62.1 50c0 3.2-1.7 5.9-4.3 7.4l2.7 4.7c4.2-2.4 7-6.9 7-12.1 0-5.2-2.8-9.7-7-12.1l-2.7 4.7c2.6 1.5 4.3 4.2 4.3 7.4z',\r\n ],\r\n '#039',\r\n ),\r\n 'video': new SvgIcon(\r\n [\r\n 'M21 26.4v47.1h58V26.4H21zm10.9 43.5h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2zm10.9 25.4V37.3L60.9 50 42.8 62.7zm32.6 7.2h-7.2v-7.2h7.2v7.2zm0-10.8h-7.2v-7.2h7.2v7.2zm0-10.9h-7.2V41h7.2v7.2zm0-10.9h-7.2v-7.2h7.2v7.2z',\r\n ],\r\n '#ef6f2e',\r\n ),\r\n 'audio-playable': new SvgIcon(playIconPaths, '#039', '0 0 48 48'),\r\n 'video-playable': new SvgIcon(playIconPaths, '#ef6f2e', '0 0 48 48'),\r\n 'archive': new SvgIcon(\r\n [\r\n 'M72.4 38.5h-7.9v-7.9l7.9 7.9zm-21.3-7.9v28.8h21.4v-19h-9.9v-9.9H51.1zm3.3-7.6H30.8v5.6h9.3l-5.9 4.5v4.8l8.6-6.6v-2.7h30.1v-2.3L54.4 23zM42.9 35.1l-8.6 6.6v4.8l8.6-6.6v-4.8zm-8.7 20l8.6-6.6v-4.8l-8.6 6.6v4.8zm8.7 2v-4.8l-8.6 6.6v2.6h-3.4v5.6h5.3v3.8H33c-.6-1-1.6-1.6-2.8-1.6-1.8 0-3.2 1.4-3.2 3.2s1.4 3.2 3.2 3.2c1.2 0 2.2-.6 2.8-1.6h3.1V77h4.8v-2.9H44c.6 1 1.6 1.6 2.8 1.6 1.8 0 3.2-1.4 3.2-3.2s-1.4-3.2-3.2-3.2c-1.2 0-2.2.6-2.8 1.6h-3.1v-3.8h13.5l18.5-3.3v-2.3H37.1l5.8-4.4z',\r\n ],\r\n '#ba8322',\r\n ),\r\n 'system': new SvgIcon(\r\n [\r\n 'M73.6 54.8c-2.1-.7-3.4-2.6-3.4-4.8s1.4-4.1 3.4-4.8c.6-.2 1-.9.8-1.5-.6-2.3-1.5-4.4-2.7-6.5-.3-.6-1.1-.8-1.7-.5-.7.4-1.6.6-2.4.6-2.8 0-5-2.3-5-5 0-.8.2-1.7.6-2.4.3-.6.1-1.3-.5-1.7-2-1.2-4.2-2.1-6.5-2.7-.6-.2-1.3.2-1.5.8-.7 2.1-2.6 3.4-4.8 3.4-2.2 0-4.1-1.4-4.8-3.4-.2-.6-.9-1-1.5-.8-2.3.6-4.4 1.5-6.5 2.7-.6.3-.8 1.1-.5 1.7.4.7.6 1.6.6 2.4 0 2.8-2.3 5-5 5-.8 0-1.7-.2-2.4-.6-.6-.3-1.3-.1-1.7.5-1.2 2-2.1 4.2-2.7 6.5-.2.6.2 1.3.8 1.5 2.1.7 3.4 2.6 3.4 4.8s-1.4 4.1-3.4 4.8c-.6.2-1 .9-.8 1.5.6 2.3 1.5 4.4 2.7 6.5.3.6 1.1.8 1.7.5.7-.4 1.6-.6 2.4-.6 2.8 0 5 2.3 5 5 0 .8-.2 1.7-.6 2.4-.3.6-.1 1.3.5 1.7 2 1.2 4.2 2.1 6.5 2.7h.3c.5 0 1-.3 1.2-.9.7-2.1 2.6-3.4 4.8-3.4 2.2 0 4.1 1.4 4.8 3.4.2.6.9 1 1.5.8 2.3-.6 4.4-1.5 6.5-2.7.6-.3.8-1.1.5-1.7-.4-.7-.6-1.6-.6-2.4 0-2.8 2.3-5 5-5 .8 0 1.7.2 2.4.6.6.3 1.3.1 1.7-.5 1.2-2 2.1-4.2 2.7-6.5.2-.5-.1-1.2-.8-1.4zM50 57.6c-4.2 0-7.6-3.4-7.6-7.6 0-4.2 3.4-7.6 7.6-7.6 4.2 0 7.6 3.4 7.6 7.6 0 4.2-3.4 7.6-7.6 7.6z',\r\n ],\r\n '#999',\r\n ),\r\n 'image': new SvgIcon(\r\n [\r\n 'm 40.400002,35 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z',\r\n 'M78.9 47.3l-9.7-9.6L50 57l-9.6-9.7-19.3 19.3V73h57.8z',\r\n ],\r\n '#5b2d8d',\r\n ),\r\n 'doc': new SvgIcon(\r\n [\r\n 'M29.6 53l-5.9-18.2c-.2-.7-.4-1-.5-1-.1-.1-.2-.1-.4-.2l-2.1-.6-.1-2.6h11l.2 2.6-2.1.6v.2c0 .2.1.7.4 1.2l2.2 7 3.9-11.7 3-.1 3.6 11.7 2.5-7c.1-.5.4-1 .4-1.2v-.1l-1.8-.5-.1-2.7h8.6l.2 2.6-2.3.7c-.1 0-.2.1-.4.1 0 .1-.2.2-.4.9L43 52.8l-3.1.2-3.3-11.2-3.9 11-3.1.2z',\r\n 'M57.8 30.2h21.7v3.4H57.8zm0 9.2h21.7v3.4H57.8zm0 9.4h21.7v3.4H57.8zm-36.2 9.6h57.9v3.4H21.6zm0 9.4h57.9v3.4H21.6z',\r\n ],\r\n '#2372ba',\r\n ),\r\n 'executable': new SvgIcon(\r\n ['M33.1 29.8l-6.6 6.6L37.2 47 26.5 57.6l6.6 6.6L50.2 47zm18.8 31.1h22.6v9.2H51.9z'],\r\n '#333',\r\n ),\r\n 'ebook': new SvgIcon(\r\n [\r\n 'M75.8 45.7c-.3-.6-.7-1.2-1.3-1.6-.1.5-.3 1-.6 1.5L58.3 69.8c-.6.9-1.9 1.1-2.9.8l-25-7c-1.5-.4-3.3-1.3-3.4-3 0-.6 0-.9.4-1.1.3-.3.8-.2 1.1-.1L52 66c3.4 1 4.4.2 6.9-3.5l14.4-22.2c.7-1.2.9-2.5.5-3.6s-1.4-2-2.7-2.4l-20.6-5.7c-.5-.1-1-.1-1.5-.1v-.1c-3.2-1.9-4.4 1.7-6 3-.6.5-1.4.8-1.7 1.3-.2.5-.1 1-.3 1.4-.6 1.4-2.4 3.6-3.3 4.3-.6.4-1.2.5-1.6 1.1-.3.4-.2 1.1-.4 1.6-.5 1.2-2.1 3.3-3.2 4.4-.4.4-1 .6-1.3 1.1-.3.4-.2 1.1-.4 1.6-.7 1.3-2.2 3.2-3.4 4.3-.6.6-1.3.9-1.6 1.5-.1.3 0 .7-.2 1.1-.2.6-.5 1.1-.7 1.7-.7.9-1 2.1-.9 3.4.2 3.1 2.5 6 5.3 6.8l25 7c2.3.6 5.2-.5 6.6-2.5l14.4-22.2c.7-1.1.9-2.4.5-3.6zm-28.9-7.9l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1l-1.1 1.6c-.3.4-.9.7-1.4.5l-16.5-4.6c-.5-.2-.7-.6-.4-1zM42.7 44l1.1-1.6c.3-.4.9-.7 1.4-.5l16.5 4.6c.5.1.7.6.4 1L60.9 49c-.3.4-.9.7-1.4.5L43.1 45c-.5-.1-.7-.6-.4-1z',\r\n ],\r\n '#963',\r\n ),\r\n 'markup': new SvgIcon(\r\n [\r\n 'M21.5 48.3l16.2-14v7.1l-11 9.2v.1l11 9.2V67L21.5 53v-4.7zm30.6-17.6h4.3L48 71.3h-4.2l8.3-40.6zM62.3 60l11-9.2v-.1l-11-9.2v-7.1l16.2 14v4.9l-16.2 14V60z',\r\n ] /* no color? */,\r\n ),\r\n 'script': new SvgIcon(\r\n [\r\n 'M42.3 44.2h15.4V48H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zm0 7.7h15.4v3.8H42.3v-3.8zM69.2 25H38.5c-4.2 0-7.7 3.4-7.7 7.7v34.6h-7.7c0 4.2 3.4 7.7 7.7 7.7h30.8c4.2 0 7.7-3.4 7.7-7.7V36.5H77v-3.8c-.1-4.3-3.5-7.7-7.8-7.7zm-3.8 41.6c0 2.5-2 4.5-4.5 4.5H32.7c1.9-1.3 1.9-3.8 1.9-3.8V32.7c0-2.1 1.7-3.8 3.8-3.8s3.8 1.7 3.8 3.8v3.8h23.1v30.1zM46.2 32.7v-3.8h23.1c3.5 0 3.8 2.2 3.8 3.8H46.2z',\r\n ] /* no color? */,\r\n ),\r\n 'disc': new SvgIcon(\r\n [\r\n 'M46.9 50c0 .8.3 1.6.9 2.2 1.2 1.2 3.2 1.2 4.4 0 .6-.6.9-1.4.9-2.2 0-.8-.3-1.6-.9-2.2-.6-.6-1.4-.9-2.2-.9-.8 0-1.6.3-2.2.9-.6.6-.9 1.4-.9 2.2z',\r\n 'M32.3 32.3c-9.8 9.8-9.8 25.6 0 35.4 9.8 9.8 25.6 9.8 35.4 0 9.8-9.8 9.8-25.6 0-35.4-9.8-9.7-25.6-9.7-35.4 0zm37 28.2c-.9 1.7-2.1 3.2-3.5 4.6-1.4 1.4-3 2.6-4.6 3.5l-5.8-11.1s.5-.2 1.6-1.2c1.1-1.1 1.3-1.6 1.3-1.6l11 5.8zM54.4 45.6c1.2 1.2 1.8 2.8 1.8 4.4 0 1.6-.6 3.2-1.8 4.4-2.4 2.4-6.4 2.4-8.8 0-1.2-1.2-1.8-2.8-1.8-4.4 0-1.6.6-3.2 1.8-4.4a6.1 6.1 0 0 1 8.8 0zm-8.5-4.4s-1.2.7-2.2 1.8c-.9 1-1 1.2-1.3 1.7l-11-5.9c.9-1.7 2.1-3.2 3.5-4.6 1.4-1.4 3-2.6 4.6-3.5l6.4 10.5z',\r\n ],\r\n '#c96',\r\n ),\r\n 'text': new SvgIcon(\r\n ['M69.4 28.6v5.5H21.5v-5.5M30.6 41h47.9v5.6H30.6zm-9.1 12.4h47.9V59H21.5zm9.1 12.5h47.9v5.6H30.6z'],\r\n '#6b533b',\r\n ),\r\n 'database': new SvgIcon(\r\n [\r\n 'M48.1 75.5c-6.5-.3-12.3-2.3-15.4-5.4-.9-.9-1.8-2.1-2.2-2.9l-.3-.5v-6.1c0-6 0-6.1.1-5.6.3 1.3 1.1 2.7 2.3 3.7.8.7 2.5 1.8 3.8 2.5 2.4 1.2 5.2 2 8.4 2.5 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.3-2.5 1.4-.7 3-1.7 3.8-2.5 1.1-1 2-2.5 2.3-3.8.1-.5.1-.4.1 5.5v6l-.3.6c-1 1.9-2.6 3.6-4.7 4.8-4.3 2.7-10.5 4-16.8 3.7z',\r\n 'M48.1 60.4c-5.7-.3-11-1.9-14.3-4.4-.7-.6-1.8-1.6-2.3-2.2-.4-.6-.8-1.2-1.1-1.8l-.3-.5v-6c0-5.9 0-6 .1-5.5.2.9.7 2 1.5 2.9.4.5 1.1 1.2 1.5 1.4.1.1.5.3.7.5 2.7 1.9 6.5 3.3 10.8 3.9 1.9.3 2.6.3 5.3.3s3.4 0 5.3-.3c3.1-.5 6-1.3 8.4-2.5 1.4-.7 3-1.8 3.9-2.5 1.1-1 2-2.4 2.2-3.7.1-.5.1-.4.1 5.5v5.9l-.4.8c-.7 1.2-1.1 1.8-1.9 2.7-.8.8-1.6 1.5-2.7 2.1-4.3 2.4-10.5 3.7-16.8 3.4z',\r\n 'M47.7 45.4c-3.8-.3-6.8-.9-9.6-2-3.4-1.3-5.8-3.1-7.1-5.2-.3-.4-.5-1-.7-1.6-.2-.6-.3-2-.1-2.7.9-4.3 6.6-7.9 14.5-9 1.9-.3 2.6-.3 5.3-.3s3.4 0 5.3.3c3.1.5 6 1.3 8.4 2.5 3.5 1.7 5.6 4 6.1 6.5.1.7.1 2.1-.1 2.7-.4 1.3-1 2.2-2 3.2-2.8 2.9-7.9 4.9-14.1 5.6-.9-.1-5.1 0-5.9 0z',\r\n ],\r\n '#a03537',\r\n ),\r\n 'pdf': new SvgIcon(\r\n [\r\n 'M46.2 21.8c-3.5 0-6.3 2.9-6.3 6.3 0 4.3 2.4 9.6 4.9 14.7-2 6.1-4.1 12.7-7 18.2-5.8 2.3-11 4-14 6.6l-.2.2c-1.1 1.2-1.8 2.7-1.8 4.4 0 3.5 2.9 6.3 6.3 6.3 1.7 0 3.4-.6 4.4-1.8 0 0 .2 0 .2-.2 2.3-2.7 5-7.8 7.5-12.2 5.5-2.1 11.5-4.4 16.9-5.8 4.1 3.4 10.1 5.5 15 5.5 3.5 0 6.3-2.9 6.3-6.3 0-3.5-2.9-6.3-6.3-6.3-4 0-9.6 1.4-13.9 2.9-3.5-3.4-6.7-7.5-9.2-11.9C50.6 37 52.6 32 52.6 28c-.2-3.5-2.9-6.2-6.4-6.2zm0 3.6c1.4 0 2.4 1.1 2.4 2.4 0 1.8-1.1 5.3-2.1 9-1.5-3.7-2.9-7.2-2.9-9 .1-1.2 1.2-2.4 2.6-2.4zm1.1 21.5c1.8 3.1 4.1 5.8 6.6 8.2-3.7 1.1-7.3 2.3-11 3.7 1.8-3.8 3.1-7.9 4.4-11.9zM72 55c1.4 0 2.4 1.1 2.4 2.4 0 1.4-1.1 2.4-2.4 2.4-2.9 0-6.9-1.2-10.1-3.1C65.6 56 69.7 55 72 55zM34.6 66.2c-1.8 3.2-3.5 6.1-4.7 7.6-.5.5-.9.6-1.7.6-1.4 0-2.4-1.1-2.4-2.4 0-.6.3-1.4.6-1.7 1.3-1.2 4.5-2.6 8.2-4.1z',\r\n ],\r\n '#c11e07',\r\n ),\r\n 'sheet': new SvgIcon(\r\n [\r\n 'M62.1 30.9h14.1v9.4H62.1zm0 14.5h14.1v9.4H62.1zm0 14.3h14.1v9.4H62.1zm-19.2 0H57v9.4H42.9zm-19 0H38v9.4H23.9zm19.2-14.2h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9zm19.2-14.6h14.1v9.4H43.1zm-19.2 0H38v9.4H23.9z',\r\n ],\r\n '#30723f',\r\n ),\r\n 'presentation': new SvgIcon(\r\n [\r\n 'M 73.319289,26.32707 H 26.61477 c -2.335226,0 -4.258353,1.917194 -4.258353,4.245215 v 29.853446 c 0,2.328021 1.923127,4.245215 4.258353,4.245215 h 19.506006 l -1.923128,7.257947 h -2.197859 c -0.961564,0 -1.648395,0.684712 -1.648395,1.643309 0,0.958597 0.686831,1.643309 1.648395,1.643309 h 15.797117 c 0.961563,0 1.648394,-0.684712 1.648394,-1.643309 0,-0.958597 -0.686831,-1.643309 -1.648394,-1.643309 H 55.46168 l -1.923128,-7.39489 h 19.780737 c 2.335226,0 4.258353,-1.917193 4.258353,-4.245214 V 30.572285 c 0,-2.328021 -1.923127,-4.245215 -4.258353,-4.245215 z m 0.412099,34.372546 H 26.202672 V 30.2984 h 47.39135 z',\r\n 'm 38.428266,48.511741 h 3.846255 v 7.668775 h -3.846255 z m 6.456214,-2.464963 h 3.846254 V 56.180516 H 44.88448 Z m 6.318846,-2.601906 h 3.846255 v 12.735644 h -3.846255 z m 6.318847,-2.464964 h 3.846255 v 15.200608 h -3.846255 z m -0.274732,-5.614639 -6.730946,3.697445 -4.945184,-1.643308 -8.379341,4.519099 1.236296,1.369424 7.417777,-3.834387 4.945185,1.643309 7.692509,-4.245215 1.236296,1.369424 2.88469,-4.792984 -6.593578,0.410827 z',\r\n ],\r\n '#c24f32',\r\n ),\r\n 'font': new SvgIcon(\r\n [\r\n 'M40.4 56.2H28.7l-1.4 3.1c-.5 1-.7 1.9-.7 2.6 0 .9.4 1.6 1.1 2 .4.3 1.5.4 3.2.6v.9H20v-.9c1.2-.2 2.2-.6 2.9-1.4.8-.8 1.7-2.4 2.8-4.8l11.8-25.6h.5l12 26.2c1.1 2.5 2.1 4.1 2.8 4.7.6.5 1.3.8 2.3.9v.9h-16v-.9h.7c1.3 0 2.2-.2 2.7-.5.4-.3.5-.6.5-1.1 0-.3 0-.6-.1-.9 0-.1-.3-.7-.7-1.8l-1.8-4zm-.8-1.8l-4.9-11-5.1 11h10z',\r\n 'M80 44.2l-4.7 15.7-.5 1.9c0 .2-.1.4-.1.5 0 .2.1.4.2.5.1.2.3.2.4.2.3 0 .8-.3 1.4-.8.2-.2.8-.9 1.8-2.2l.9.4c-1.2 2-2.4 3.5-3.7 4.5-1.3.9-2.7 1.4-4.2 1.4-.9 0-1.6-.2-2.1-.7-.5-.5-.7-1-.7-1.8 0-.6.3-1.8.8-3.4l.6-1.9c-1.9 3.1-3.7 5.4-5.4 6.7-1 .8-2.1 1.1-3.2 1.1-1.5 0-2.6-.6-3.2-1.8-.7-1.2-1-2.5-1-4 0-2.2.7-4.8 2.1-7.6 1.4-2.9 3.2-5.2 5.5-6.9 1.9-1.4 3.6-2.2 5.3-2.2.9 0 1.6.3 2.2.8.6.5 1 1.4 1.2 2.8l.9-2.9 5.5-.3zm-7.8 4.5c0-1.3-.2-2.2-.6-2.8-.3-.4-.7-.6-1.2-.6s-1 .2-1.6.7c-1.1 1-2.3 3-3.5 5.9-1.3 3-1.9 5.6-1.9 7.7 0 .8.1 1.4.4 1.8.3.4.6.6.9.6.7 0 1.5-.4 2.2-1.2 1.1-1.2 2-2.6 2.9-4.3 1.6-2.9 2.4-5.5 2.4-7.8z',\r\n ],\r\n '#7291a1',\r\n ),\r\n 'vue': new SvgIcon(\r\n [\r\n 'M 66.425365,28.281905 H 56.751974 L 49.707631,39.427061 43.669624,28.281905 H 21.530262 L 49.707631,76.54823 77.885006,28.281905 Z m -37.888497,4.025337 h 6.767604 L 49.707631,57.239179 64.098226,32.307242 h 6.767597 L 49.707631,68.560446 Z',\r\n ],\r\n '#41B883',\r\n ),\r\n 'other': new SvgIcon(\r\n [\r\n 'M71 36.3L57.8 23.1c-.4-.4-.9-.6-1.4-.6h-26c-1.1 0-2 .9-2 2v51.1c0 1.1.9 2 2 2h39.3c1.1 0 2-.9 2-2V37.7c-.1-.5-.3-1-.7-1.4zm-3.9 2.3H55.5V27l11.6 11.6zm.1 34.5H32.8V26.9h18.5v13.3c0 1.4 1.2 2.6 2.6 2.6h13.3v30.3z',\r\n ] /* no color? */,\r\n ),\r\n // system icons\r\n 'system-close': new SvgIcon(\r\n ['M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n 'system-file-preview-new': new SvgIcon(\r\n [\r\n 'M745,353c-5.6,0-11.3,0.2-17.2,0.7C687.4,237.3,577.8,157,451,157c-162.1,0-294,131.9-294,294c0,2.1,0,4.1,0,6.2C72.6,479,10,555.8,10,647c0,108.1,87.9,196,196,196h245V618.3l-63.4,63.4c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4c-19.2-19.2-19.2-50.1,0-69.3l147-147c4.6-4.6,9.9-8.1,16-10.6c12-4.9,25.5-4.9,37.4,0c6,2.5,11.4,6.1,16,10.6l147,147c19.2,19.2,19.2,50.1,0,69.3c-9.6,9.6-22.1,14.4-34.6,14.4s-25.1-4.8-34.6-14.4L549,618.3V843h196c135.1,0,245-109.9,245-245S880.1,353,745,353z',\r\n ],\r\n undefined,\r\n '0 0 1000 1000',\r\n ),\r\n // system icons\r\n 'system-sortable-handle': new SvgIcon(['M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'], undefined, '0 0 24 24'),\r\n 'system-file-av-play': new SvgIcon(\r\n ['M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z'],\r\n undefined,\r\n '0 0 48 48',\r\n ),\r\n // M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm-4 29V15l12 9-12 9z\r\n 'system-file-name-edit': new SvgIcon(\r\n [\r\n 'M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z',\r\n ],\r\n undefined,\r\n '0 0 24 24',\r\n ),\r\n};\r\n\r\nfor (const category in icons) {\r\n if (icons.hasOwnProperty(category)) {\r\n (icons as any)[category].category = category;\r\n }\r\n}\r\n\r\nexport default icons;\r\n\r\nexport const extensionsMap: any = {};\r\n\r\nfor (const cat in extensions) {\r\n if (extensions.hasOwnProperty(cat)) {\r\n for (const ext of (extensions as any)[cat]) {\r\n extensionsMap[ext] = cat;\r\n }\r\n }\r\n}\r\n\r\nexport function getIconByName(name: string): SvgIcon {\r\n const svgIcon = (icons as any)[name] || icons.other;\r\n return svgIcon;\r\n}\r\n\r\nexport function getIconFromExt(ext: string): SvgIcon {\r\n ext = ext.toLowerCase();\r\n const cat = extensionsMap[ext];\r\n return getIconByName(cat);\r\n}\r\n","\n\n\n\n\n\n\n\n\r\nimport { getIconFromExt, getIconByName, SvgIcon } from '../lib/icons';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['ext', 'name', 'viewBox'],\r\n computed: {\r\n viewBoxComputed(): string {\r\n if (!this.viewBox && this.icon && this.icon.viewBox) {\r\n return this.icon.viewBox;\r\n }\r\n return this.viewBox ? this.viewBox : '0 0 100 100';\r\n },\r\n icon(): SvgIcon {\r\n if (this.name) {\r\n return getIconByName(this.name);\r\n }\r\n const svgIcon = getIconFromExt(this.ext);\r\n return svgIcon;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-icon.vue?vue&type=script&lang=ts&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./vue-file-icon.vue?vue&type=template&id=61d49b70&\"\nimport script from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-icon.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { getFilesFromDroppedItems } from './drop-handler';\r\n\r\nexport type RGBA = [number, number, number, number];\r\nexport interface VideoThumbnail {\r\n url: string;\r\n color?: RGBA;\r\n width: number;\r\n height: number;\r\n}\r\nexport interface ImageThumbnail {\r\n image: HTMLImageElement;\r\n url: string;\r\n color?: RGBA;\r\n}\r\n\r\nenum ImageOrientation {\r\n NORMAL = 1,\r\n UPSIDE_DOWN = 6,\r\n}\r\n\r\nclass Utils {\r\n public arrayMove(arr: any[], previousIndex: number, newIndex: number): any[] {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/utils.js\r\n const array = arr.slice(0);\r\n if (newIndex >= array.length) {\r\n let k = newIndex - array.length;\r\n while (k-- + 1) {\r\n array.push(undefined);\r\n }\r\n }\r\n array.splice(newIndex, 0, array.splice(previousIndex, 1)[0]);\r\n return array;\r\n }\r\n\r\n public getAverageColor(arr: Uint8ClampedArray): RGBA | undefined {\r\n const bytesPerPixel = 4;\r\n const arrLength = arr.length;\r\n if (arrLength < bytesPerPixel) {\r\n return;\r\n }\r\n const step = 5;\r\n const len = arrLength - (arrLength % bytesPerPixel);\r\n const preparedStep = (step || 1) * bytesPerPixel;\r\n\r\n let redTotal = 0;\r\n let greenTotal = 0;\r\n let blueTotal = 0;\r\n let alphaTotal = 0;\r\n let count = 0;\r\n\r\n for (let i = 0; i < len; i += preparedStep) {\r\n const alpha = arr[i + 3];\r\n const red = arr[i] * alpha;\r\n const green = arr[i + 1] * alpha;\r\n const blue = arr[i + 2] * alpha;\r\n\r\n redTotal += red;\r\n greenTotal += green;\r\n blueTotal += blue;\r\n alphaTotal += alpha;\r\n count++;\r\n }\r\n\r\n return alphaTotal\r\n ? [\r\n Math.round(redTotal / alphaTotal),\r\n Math.round(greenTotal / alphaTotal),\r\n Math.round(blueTotal / alphaTotal),\r\n Math.round(alphaTotal / count),\r\n ]\r\n : [0, 0, 0, 0];\r\n }\r\n\r\n public createVideoThumbnail(\r\n video: HTMLVideoElement,\r\n canvas: HTMLCanvasElement,\r\n thumbnailSize: number,\r\n ): Promise {\r\n video.setAttribute('crossOrigin', 'anonymous'); // fix cross origin issue\r\n return new Promise((resolve, reject) => {\r\n let loadedmetadata = false;\r\n let loadeddata = false;\r\n const tryGetThumbnail = () => {\r\n if (!(loadedmetadata && loadeddata)) {\r\n return;\r\n }\r\n const context = canvas.getContext('2d') as CanvasRenderingContext2D;\r\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height);\r\n const url = canvas.toDataURL();\r\n resolve({\r\n url,\r\n color: this.getAverageColor(imageData.data),\r\n width: video.videoWidth,\r\n height: video.videoHeight,\r\n });\r\n };\r\n // Load metadata of the video to get video duration and dimensions\r\n video.addEventListener('loadedmetadata', () => {\r\n // var video_duration = video.duration;\r\n canvas.width = thumbnailSize;\r\n canvas.height = (canvas.width / video.videoWidth) * video.videoHeight;\r\n video.currentTime = 1; // video time\r\n loadedmetadata = true;\r\n tryGetThumbnail();\r\n });\r\n\r\n video.addEventListener('loadeddata', () => {\r\n loadeddata = true;\r\n tryGetThumbnail();\r\n });\r\n });\r\n }\r\n\r\n public getDataURL(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve('');\r\n }\r\n resolve(event.target.result as string);\r\n };\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public getImageOrientationFromArrayBuffer(buffer: ArrayBuffer): number {\r\n // -2: not jpeg\r\n // -1: not defined\r\n const view = new DataView(buffer);\r\n if (view.getUint16(0, false) !== 0xffd8) {\r\n return -2;\r\n }\r\n const length = view.byteLength;\r\n let offset = 2;\r\n while (offset < length) {\r\n if (view.getUint16(offset + 2, false) <= 8) {\r\n return -1;\r\n }\r\n const marker = view.getUint16(offset, false);\r\n offset += 2;\r\n if (marker === 0xffe1) {\r\n if (view.getUint32((offset += 2), false) !== 0x45786966) {\r\n return -1;\r\n }\r\n const little = view.getUint16((offset += 6), false) === 0x4949;\r\n offset += view.getUint32(offset + 4, little);\r\n const tags = view.getUint16(offset, little);\r\n offset += 2;\r\n for (let i = 0; i < tags; i++) {\r\n if (view.getUint16(offset + i * 12, little) === 0x0112) {\r\n return view.getUint16(offset + i * 12 + 8, little);\r\n }\r\n }\r\n // tslint:disable-next-line\r\n } else if ((marker & 0xff00) !== 0xff00) {\r\n break;\r\n } else {\r\n offset += view.getUint16(offset, false);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n public getImageOrientation(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n if (!reader.readAsArrayBuffer) {\r\n return resolve(-3);\r\n }\r\n reader.onload = (event) => {\r\n if (!(event.target && event.target.result)) {\r\n return resolve(-3);\r\n }\r\n resolve(this.getImageOrientationFromArrayBuffer(event.target.result as ArrayBuffer));\r\n };\r\n // https://stackoverflow.com/questions/3248946/what-is-the-maximum-size-of-jpeg-metadata\r\n // https://twitter.com/jaffathecake/status/1085443592678752256\r\n // reader.readAsArrayBuffer(file);\r\n reader.readAsArrayBuffer(file.slice(0, 65536));\r\n });\r\n }\r\n\r\n public rotateCanvas(\r\n srcOrientation: number,\r\n canvas: HTMLCanvasElement,\r\n ctx: CanvasRenderingContext2D,\r\n width: number,\r\n height: number,\r\n ) {\r\n // set proper canvas dimensions before transform & export\r\n if (4 < srcOrientation && srcOrientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n } else {\r\n canvas.width = width;\r\n canvas.height = height;\r\n }\r\n\r\n // transform context before drawing image\r\n switch (srcOrientation) {\r\n case 2:\r\n ctx.transform(-1, 0, 0, 1, width, 0);\r\n break;\r\n case 3:\r\n ctx.transform(-1, 0, 0, -1, width, height);\r\n break;\r\n case 4:\r\n ctx.transform(1, 0, 0, -1, 0, height);\r\n break;\r\n case 5:\r\n ctx.transform(0, 1, 1, 0, 0, 0);\r\n break;\r\n case 6:\r\n ctx.transform(0, 1, -1, 0, height, 0);\r\n break;\r\n case 7:\r\n ctx.transform(0, -1, -1, 0, height, width);\r\n break;\r\n case 8:\r\n ctx.transform(0, -1, 1, 0, 0, width);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n public getImageResized(\r\n image: HTMLImageElement,\r\n widthLimit: number,\r\n heightLimit?: number,\r\n orientation?: number,\r\n ): ImageThumbnail | null {\r\n let width = image.width;\r\n let height = image.height;\r\n const thumbnailSize = widthLimit;\r\n if (widthLimit && heightLimit) {\r\n width = widthLimit;\r\n height = heightLimit;\r\n } else {\r\n if (width > height) {\r\n if (width > thumbnailSize) {\r\n height *= thumbnailSize / width;\r\n width = thumbnailSize;\r\n }\r\n } else {\r\n if (height > thumbnailSize) {\r\n width *= thumbnailSize / height;\r\n height = thumbnailSize;\r\n }\r\n }\r\n }\r\n\r\n width = Math.floor(width);\r\n height = Math.floor(height);\r\n\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n if (!context) {\r\n return null;\r\n }\r\n\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n if (orientation !== undefined) {\r\n this.rotateCanvas(orientation, canvas, context, width, height);\r\n }\r\n\r\n context.drawImage(image, 0, 0, width, height);\r\n let avgColor = null;\r\n try {\r\n const imageData = context.getImageData(0, 0, width, height);\r\n const rgba = this.getAverageColor(imageData.data);\r\n if (rgba) {\r\n avgColor = rgba;\r\n }\r\n } catch (e) {\r\n /* security error, img on diff domain */\r\n }\r\n return {\r\n image,\r\n url: canvas.toDataURL('image/png'),\r\n color: avgColor,\r\n } as ImageThumbnail;\r\n }\r\n\r\n public resizeImageUrl(image: HTMLImageElement, url: string, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n image.onload = () => {\r\n const resized = this.getImageResized(image, thumbnailSize);\r\n resolve(resized);\r\n };\r\n image.src = url;\r\n });\r\n }\r\n\r\n public resizeImageFile(image: HTMLImageElement, file: File, thumbnailSize: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (file.type.indexOf('image') === -1) {\r\n reject(new Error('Not an image'));\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n let shouldRevoke = false;\r\n const orientationPromise = this.getImageOrientation(file);\r\n image.onload = () => {\r\n orientationPromise.then((orientation) => {\r\n const resized = this.getImageResized(image, thumbnailSize, undefined, orientation);\r\n if (shouldRevoke) {\r\n revokeObjectURL(image.src);\r\n }\r\n resolve(resized);\r\n });\r\n };\r\n if (!(file instanceof File)) {\r\n return reject('Invalid file object. Use url or a valid instance of File class');\r\n }\r\n if (createObjectURL && revokeObjectURL) {\r\n shouldRevoke = true;\r\n image.src = createObjectURL(file);\r\n return;\r\n }\r\n this.getDataURL(file).then((dataUrl) => {\r\n image.src = dataUrl;\r\n });\r\n });\r\n }\r\n\r\n public resizeImage(thumbnailSize: number, file?: File, url?: string): Promise {\r\n const image = new Image();\r\n image.setAttribute('crossOrigin', 'anonymous');\r\n return url\r\n ? this.resizeImageUrl(image, url, thumbnailSize)\r\n : this.resizeImageFile(image, file as File, thumbnailSize);\r\n }\r\n\r\n public getSizeFormatted(bytes: number) {\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes === 0) {\r\n return '0 B';\r\n }\r\n let i = Math.floor(Math.log(bytes) / Math.log(1024));\r\n i = parseInt('' + i, 10);\r\n return Math.round(bytes / Math.pow(1024, i)) + ' ' + sizes[i];\r\n }\r\n\r\n public getSizeParsed(size: string): number {\r\n size = ('' + size).toUpperCase();\r\n const matches = size.match(/([\\d|.]+?)\\s*?([A-Z]+)/);\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\r\n if (!matches) {\r\n return parseFloat(size);\r\n }\r\n const i = sizes.indexOf(matches[2]);\r\n if (i === -1) {\r\n return parseFloat(size);\r\n }\r\n return parseFloat(matches[1]) * Math.pow(1024, i);\r\n }\r\n\r\n public getColorForText(text: string): string {\r\n const getHashCode = (value: string) => {\r\n let hash = 0;\r\n if (value.length === 0) {\r\n return hash;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n // tslint:disable-next-line\r\n hash = value.charCodeAt(i) + ((hash << 5) - hash);\r\n // tslint:disable-next-line\r\n hash = hash & hash; // Convert to 32bit integer\r\n }\r\n return hash;\r\n };\r\n const intToHSL = (value: number) => {\r\n const h = value % 360;\r\n const s = value % 100;\r\n const l = 50;\r\n return 'hsl(' + h + ',' + s + '%,' + l + '%, 0.75)';\r\n };\r\n return intToHSL(getHashCode(text.toLowerCase()));\r\n }\r\n\r\n public validateType(file: File, accept?: string): boolean {\r\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept\r\n // https://gitlab.com/meno/dropzone/blob/master/src/dropzone.js#L2511\r\n if (!accept) {\r\n return true;\r\n } // If there are no accepted mime types, it's OK\r\n const acceptedFiles = accept.split(',');\r\n\r\n const mimeType = file.type;\r\n const baseMimeType = mimeType.replace(/\\/.*$/, '');\r\n\r\n for (let validType of acceptedFiles) {\r\n validType = validType.trim();\r\n if (validType.charAt(0) === '.') {\r\n // extension\r\n if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\r\n return true;\r\n }\r\n } else if (/\\/\\*$/.test(validType)) {\r\n // This is something like a image/* mime type\r\n if (baseMimeType === validType.replace(/\\/.*$/, '')) {\r\n return true;\r\n }\r\n } else {\r\n if (mimeType === validType) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public validateSize(file: File, maxSize?: string): boolean {\r\n if (!maxSize) {\r\n return true;\r\n }\r\n const bytes = this.getSizeParsed(maxSize);\r\n return file.size <= bytes;\r\n }\r\n\r\n public getFilesFromDroppedItems(dataTransfer: DataTransfer) {\r\n return getFilesFromDroppedItems(dataTransfer);\r\n }\r\n}\r\n\r\nexport default new Utils();\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'file-preview-wrapper-' + _vm.fileData.ext(),\n _vm.fileData.isImage() ? 'file-preview-wrapper-image' : 'file-preview-wrapper-other',\n 'file-category-' + _vm.fileData.icon().category,\n { 'file-is-playing-av': _vm.fileData.isPlayingAv },\n { 'is-deletable': _vm.deletable === true },\n { 'is-editable': _vm.editable === true },\n { 'is-edit-input-focused': _vm.isEditInputFocused },\n { 'has-error': _vm.fileData.error } ]},[(_vm.fileData.error)?_c('div',{staticClass:\"file-error-wrapper\",on:{\"click\":function($event){return _vm.dismissError()}}},[_c('div',{staticClass:\"file-error-message file-error-message-client\"},[_vm._v(\" \"+_vm._s(_vm.fileData.getErrorMessage(_vm.errorText))+\" \")])]):_vm._e(),(_vm.fileData.isPlayableAudio() || _vm.fileData.isPlayableVideo())?_c('div',{ref:\"wrapper\",staticClass:\"file-av-wrapper\"},[_c('div',{staticClass:\"file-av-action\",on:{\"click\":function($event){return _vm.playAv(_vm.fileData)}}},[_c('span',{staticClass:\"file-av-stop\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1),_c('span',{staticClass:\"file-av-play\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-av-play\"}})],1)])]):_vm._e(),_c('span',{staticClass:\"file-preview\",class:{\n 'image-preview': _vm.fileData.isImage(),\n 'other-preview': !_vm.fileData.isImage(),\n 'dark-content': _vm.fileData.isImage() && _vm.fileData.isDarkColor(),\n },style:({\n 'background-color': _vm.fileData.color(),\n })},[_c('span',{staticClass:\"file-preview-overlay\"}),(_vm.fileData.isImage() || _vm.fileData.isPlayableVideo())?_c('span',{staticClass:\"thumbnail\",staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"overflow\":\"hidden\"}},[(_vm.hasLinkableUrl)?_c('a',{attrs:{\"href\":_vm.fileData.url,\"target\":\"_blank\",\"title\":_vm.fileData.name()}},[_c('img',{staticClass:\"file-preview-img\",attrs:{\"src\":_vm.fileData.src()}})]):_c('img',{staticClass:\"file-preview-img\",attrs:{\"src\":_vm.fileData.src()}})]):_vm._e(),_c('span',{staticClass:\"file-ext\"},[_vm._v(_vm._s(_vm.fileData.ext()))]),_c('span',{staticClass:\"file-size\"},[_vm._v(_vm._s(_vm.fileData.size()))]),(_vm.deletable)?_c('span',{staticClass:\"file-delete\",on:{\"click\":function($event){return _vm.removeFileData(_vm.fileData)},\"touchstart\":function($event){return _vm.filenameClearPressed()},\"mousedown\":function($event){return _vm.filenameClearPressed()}}},[_c('VueFileIcon',{attrs:{\"name\":\"system-close\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name\",on:{\"click\":function($event){return _vm.editFileName()}}},[(_vm.editable === true)?_c('input',{ref:\"input\",staticClass:\"file-name-input\",attrs:{\"disabled\":_vm.disabled === true,\"type\":\"text\"},domProps:{\"value\":_vm.fileData.name(true)},on:{\"focus\":function($event){return _vm.editInputFocused()},\"blur\":function($event){return _vm.editInputBlured()},\"change\":function($event){return _vm.filenameChanged()},\"input\":function($event){return _vm.filenameChanged()},\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.filenameChanged(true)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.filenameChanged(false)}]}}):_vm._e(),(_vm.editable === true)?_c('span',{staticClass:\"file-name-edit-icon\"},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-name-edit\"}})],1):_vm._e(),_c('span',{staticClass:\"file-name-text\"},[_vm._v(_vm._s(_vm.fileData.name(true)))])]),(_vm.fileData.dimensions.width && _vm.fileData.dimensions.height)?_c('span',{staticClass:\"image-dimension\"},[_c('span',{staticClass:\"image-dimension-width\"},[_vm._v(_vm._s(_vm.fileData.dimensions.width))]),_c('span',{staticClass:\"image-dimension-height\"},[_vm._v(_vm._s(_vm.fileData.dimensions.height))])]):_vm._e(),(_vm.fileData.hasProgress())?_c('span',{staticClass:\"file-progress\",class:{\n 'file-progress-full': _vm.fileData.progress() >= 99.9999,\n 'file-progress-done': _vm.fileData.progress() >= 100,\n 'has-file-progress': _vm.fileData.progress() > 0,\n }},[_c('span',{staticClass:\"file-progress-bar\",style:({ width: _vm.fileData.progress() + '%' })})]):_vm._e(),_c('span',{staticClass:\"file-icon\"},[(_vm.hasLinkableUrl)?_c('a',{attrs:{\"href\":_vm.fileData.url,\"target\":\"_blank\",\"title\":_vm.fileData.name()}},[_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1):_c('VueFileIcon',{attrs:{\"ext\":_vm.fileData.ext()}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function getFilesFromDroppedItems(dataTransfer: DataTransfer): Promise {\r\n return new Promise((resolve) => {\r\n if (!includesFolder(dataTransfer.files)) {\r\n return resolve(dataTransfer.files);\r\n }\r\n const files: File[] = [];\r\n const folderReadQueue = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < dataTransfer.items.length; i++) {\r\n const item = dataTransfer.items[i];\r\n if (item.kind !== 'file') {\r\n continue;\r\n }\r\n const fileSystemEntries = getEntries(item);\r\n if (fileSystemEntries) {\r\n folderReadQueue.push(fileSystemEntries);\r\n } else {\r\n const file = item.getAsFile();\r\n if (file) {\r\n files.push(file);\r\n }\r\n }\r\n }\r\n Promise.all(folderReadQueue).then((filesInFolders) => {\r\n resolve(files.concat(...filesInFolders));\r\n });\r\n });\r\n}\r\n\r\nfunction getEntries(entry: any): Promise | undefined {\r\n // convert DataTransferItem to FileSystemEntry first if necessary\r\n if (entry.getAsEntry) {\r\n return getEntries(entry.getAsEntry());\r\n }\r\n if (entry.webkitGetAsEntry) {\r\n return getEntries(entry.webkitGetAsEntry());\r\n }\r\n // return if item is from a browser that does not support webkitGetAsEntry\r\n if (entry.getAsFile) {\r\n return;\r\n }\r\n // Processing directories with more than 100 files:\r\n // https://github.com/lian-yue/vue-upload-component/commit/9c9d8aafbcef005a2cc598454383ec65205d61ee\r\n return new Promise((resolve) => {\r\n if (entry.isFile) {\r\n entry.file((file: File) => resolve([file]));\r\n return;\r\n }\r\n if (entry.isDirectory) {\r\n const files: File[] = [];\r\n const entryReader = entry.createReader();\r\n const readEntries = () => {\r\n entryReader.readEntries((entries: any[]) => {\r\n const iterateEntry = (i: number) => {\r\n if (!entries[i] && i === 0) {\r\n return resolve(files);\r\n }\r\n if (!entries[i]) {\r\n return readEntries();\r\n }\r\n (getEntries(entries[i]) as Promise).then((entryFiles: File[]) => {\r\n files.push(...entryFiles);\r\n iterateEntry(i + 1);\r\n });\r\n };\r\n iterateEntry(0);\r\n });\r\n };\r\n readEntries();\r\n }\r\n if (!entry.isFile && !entry.isDirectory) {\r\n resolve([]);\r\n }\r\n });\r\n}\r\n\r\nfunction includesFolder(files: FileList): boolean {\r\n if (!files.length) {\r\n return true; // if dropping only folders, no files will exist\r\n }\r\n // tslint:disable-next-line\r\n for (var i = 0; i < files.length; i++) {\r\n // A folder has no type and has a size that is a multiple of 4096\r\n if (!files[i].type && files[i].size % 4096 === 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n","import { getIconFromExt, SvgIcon } from './icons';\r\nimport utils from './utils';\r\nimport { RGBA, ImageThumbnail, VideoThumbnail } from './utils';\r\n\r\ninterface Dimensions {\r\n height: number;\r\n width: number;\r\n}\r\n\r\ninterface Options {\r\n accept?: string;\r\n maxSize?: string;\r\n read: boolean;\r\n thumbnailSize?: number;\r\n}\r\n\r\ninterface ErrorText {\r\n common?: string;\r\n type?: string;\r\n size?: string;\r\n upload?: string;\r\n}\r\n\r\ninterface ErrorFlags {\r\n common?: boolean;\r\n type?: boolean;\r\n size?: boolean;\r\n upload?: false | string;\r\n}\r\n\r\ninterface RawFileData {\r\n url: string | null;\r\n urlResized: string | null;\r\n src: () => any;\r\n name: any;\r\n lastModified: number;\r\n sizeText: string;\r\n size: number;\r\n type: string;\r\n ext: string;\r\n color: string;\r\n file: File;\r\n progress: number | ((progress?: number) => number | void);\r\n error?: false | ErrorFlags;\r\n dimensions: Dimensions;\r\n videoThumbnail: string;\r\n imageColor: RGBA;\r\n customName: string;\r\n}\r\n\r\ninterface DummyFile {\r\n name: string;\r\n size: number;\r\n type: string;\r\n lastModified: number;\r\n lastModifiedDate: Date;\r\n}\r\n\r\nexport { Dimensions, Options, RawFileData };\r\n\r\nclass FileData {\r\n public static getFromRaw(fileDataRaw: RawFileData, options: Options, isSync = false): FileData | Promise {\r\n const fileData = new FileData(fileDataRaw, options);\r\n const promise = fileData.setUrl(fileDataRaw.url);\r\n fileDataRaw.progress = fileData.progress.bind(fileData); // convert it as a function\r\n fileDataRaw.src = fileData.src.bind(fileData);\r\n fileDataRaw.name = fileData.name.bind(fileData); // convert it as a function\r\n if (isSync) {\r\n return fileData;\r\n }\r\n return promise;\r\n }\r\n\r\n public static fromRaw(fileDataRaw: RawFileData, options: Options): Promise {\r\n return FileData.getFromRaw(fileDataRaw, options, false) as Promise;\r\n }\r\n\r\n public static fromRawSync(fileDataRaw: RawFileData, options: Options): FileData {\r\n return FileData.getFromRaw(fileDataRaw, options, true) as FileData;\r\n }\r\n\r\n public static fromRawArray(filesDataRaw: RawFileData[], options: Options): Promise {\r\n const promises: Array> = [];\r\n for (const fileDataRaw of filesDataRaw) {\r\n promises.push(FileData.fromRaw(fileDataRaw, options));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public static toRawArray(filesData: FileData[]): RawFileData[] {\r\n const filesDataRaw: RawFileData[] = [];\r\n for (const fileData of filesData) {\r\n filesDataRaw.push(fileData.toRaw());\r\n }\r\n return filesDataRaw;\r\n }\r\n\r\n public static readFile(fileData: FileData): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!fileData.read) {\r\n fileData.setUrl(null);\r\n resolve(fileData);\r\n return;\r\n }\r\n utils.getDataURL(fileData.file).then((dataUrl) => {\r\n fileData.setUrl(dataUrl).then(() => {\r\n resolve(fileData);\r\n }, reject);\r\n }, reject);\r\n });\r\n }\r\n\r\n public static readFiles(filesData: FileData[]): Promise {\r\n const promises: Array> = [];\r\n for (const fileData of filesData) {\r\n promises.push(FileData.readFile(fileData));\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public url: null | string = null;\r\n public urlResized: null | string = null;\r\n public image: HTMLImageElement | {} = {};\r\n public isPlayingAv: boolean = false;\r\n\r\n public oldFileName: string | null = null;\r\n public oldCustomName: string | null = null;\r\n public upload: any = null;\r\n\r\n public raw: RawFileData;\r\n public progressInternal: number;\r\n public accept?: string;\r\n public dimensions: Dimensions;\r\n public error: false | ErrorFlags;\r\n public file: File;\r\n public height: undefined | number | string;\r\n public width: undefined | number | string;\r\n public id: string;\r\n public imageColor?: RGBA;\r\n public lastKnownSrc: null | string;\r\n public maxSize?: string;\r\n public options: Options;\r\n public read: boolean;\r\n public thumbnailSize: number;\r\n public videoThumbnail: any;\r\n public customName: any;\r\n public xhr?: XMLHttpRequest;\r\n public xhrQueue?: () => any;\r\n public stopAv?: (() => any) | null;\r\n public tusUpload?: any;\r\n\r\n public constructor(data: RawFileData, options: Options) {\r\n this.url = null;\r\n this.urlResized = null;\r\n this.lastKnownSrc = null;\r\n this.image = {};\r\n this.isPlayingAv = false;\r\n this.oldFileName = null;\r\n this.oldCustomName = null;\r\n this.upload = null;\r\n\r\n this.raw = data;\r\n this.file = data.file instanceof File ? data.file : (this.createDummyFile(data) as any);\r\n this.progressInternal = !isNaN(data.progress as number) ? (data.progress as number) : 0;\r\n // this.width = FileData.defaultWidth;\r\n // this.height = FileData.defaultHeight;\r\n this.thumbnailSize = options.thumbnailSize || 360;\r\n this.read = !!options.read;\r\n this.dimensions = data.dimensions || {};\r\n this.dimensions.width = this.dimensions.width || 0;\r\n this.dimensions.height = this.dimensions.height || 0;\r\n this.error = data.error || false;\r\n this.options = options;\r\n this.maxSize = options.maxSize;\r\n this.accept = options.accept;\r\n this.id = Math.random() + ':' + new Date().getTime();\r\n this.videoThumbnail = data.videoThumbnail;\r\n this.imageColor = data.imageColor;\r\n this.customName = data.customName;\r\n\r\n this.validate();\r\n }\r\n\r\n // populate(data, options = {}) {}\r\n\r\n public createDummyFile(data: RawFileData): DummyFile {\r\n const file: DummyFile = {} as DummyFile;\r\n file.lastModified = data.lastModified;\r\n const d = new Date();\r\n if (file.lastModified) {\r\n d.setTime(file.lastModified);\r\n }\r\n file.lastModifiedDate = d;\r\n file.name = typeof data.name === 'function' ? data.name() : data.name;\r\n file.size = data.size;\r\n file.type = data.type;\r\n return file;\r\n }\r\n\r\n public hasProgress(): boolean {\r\n return !isNaN(this.progressInternal); // && this._progress <= 100;\r\n }\r\n\r\n public progress(value?: number): number | void {\r\n if (value !== undefined) {\r\n this.progressInternal = value;\r\n return;\r\n }\r\n return this.progressInternal || 0;\r\n }\r\n\r\n public src(): string {\r\n if (this.isImage()) {\r\n return this.urlResized || this.url || (this.file as any).url;\r\n }\r\n if (this.isPlayableVideo()) {\r\n return this.videoThumbnail || '';\r\n }\r\n return '';\r\n }\r\n\r\n public size(): string {\r\n if (!this.file) {\r\n return '';\r\n }\r\n return utils.getSizeFormatted(this.file.size);\r\n }\r\n\r\n public ext(): string {\r\n if (this.file && this.file.name.indexOf('.') !== -1) {\r\n return (this.file.name as any).split('.').pop();\r\n }\r\n return '?';\r\n // return this.file.type.split('/').shift();\r\n }\r\n\r\n public name(withoutExt?: boolean): string {\r\n const ext = this.ext();\r\n if (this.customName) {\r\n return this.customName + (withoutExt ? '' : ext !== '?' ? '.' + ext : '');\r\n }\r\n const name = this.file && this.file.name;\r\n if (withoutExt) {\r\n if (ext !== '?') {\r\n return name.substr(0, name.length - (ext.length + 1));\r\n }\r\n }\r\n return name;\r\n }\r\n\r\n public isDarkColor(): boolean {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n const darkPoint = 20;\r\n return rgb[0] <= darkPoint && rgb[1] <= darkPoint && rgb[2] <= darkPoint;\r\n }\r\n return false;\r\n }\r\n\r\n public color(): string {\r\n if (this.imageColor) {\r\n const rgb = this.imageColor;\r\n return 'rgb(' + rgb[0] + ', ' + rgb[1] + ', ' + rgb[2] + ')';\r\n }\r\n if (this.isImage()) {\r\n return 'transparent';\r\n }\r\n const ext = this.ext();\r\n const svgIcon = this.icon();\r\n // var svgIcon = getIconFromExt(ext);\r\n if (svgIcon.color) {\r\n return svgIcon.color;\r\n }\r\n return utils.getColorForText(ext);\r\n }\r\n\r\n public isImage(): boolean {\r\n return this.file && this.file.type.indexOf('image') !== -1;\r\n }\r\n\r\n public isVideo(): boolean {\r\n return this.file && this.file.type.indexOf('video') !== -1;\r\n }\r\n\r\n public isPlayableVideo(): boolean {\r\n return this.icon().category === 'video-playable';\r\n }\r\n\r\n public isAudio(): boolean {\r\n return this.file && this.file.type.indexOf('audio') !== -1;\r\n }\r\n\r\n public isPlayableAudio(): boolean {\r\n return this.icon().category === 'audio-playable';\r\n }\r\n\r\n public isText(): boolean {\r\n return this.file && this.file.type.indexOf('text') !== -1;\r\n }\r\n\r\n public setUrl(url: string | null): Promise {\r\n this.url = url;\r\n return new Promise((resolve, reject) => {\r\n if (this.isImage()) {\r\n this.resizeImage().then(() => {\r\n resolve(this);\r\n }, reject);\r\n return;\r\n }\r\n resolve(this);\r\n });\r\n }\r\n\r\n public imageResized(resized: ImageThumbnail | null) {\r\n if (!resized) {\r\n return;\r\n }\r\n this.urlResized = resized.url;\r\n this.image = resized.image;\r\n if (resized.image && resized.image.width && resized.image.height) {\r\n this.dimensions.width = resized.image.width;\r\n this.dimensions.height = resized.image.height;\r\n }\r\n this.lastKnownSrc = this.urlResized;\r\n this.imageColor = resized.color;\r\n }\r\n\r\n public resizeImage(): Promise {\r\n return new Promise((resolve, reject) => {\r\n utils\r\n .resizeImage(this.thumbnailSize, this.file, this.url as string)\r\n .then((resized) => {\r\n this.imageResized(resized);\r\n resolve(this);\r\n })\r\n .catch(reject);\r\n });\r\n }\r\n\r\n public icon(): SvgIcon {\r\n const ext = this.ext();\r\n const svgIcon = getIconFromExt(ext);\r\n return svgIcon;\r\n }\r\n\r\n public getErrorMessage(errorText?: ErrorText): string {\r\n const error = this.error;\r\n if (!error) {\r\n return '';\r\n }\r\n errorText = errorText || {};\r\n errorText = {\r\n common: errorText.common || 'Invalid file.',\r\n type: errorText.type || 'Invalid file type.',\r\n size: errorText.size || 'Files should not exceed ' + this.maxSize + ' in size',\r\n };\r\n if (error.type) {\r\n return errorText.type as string;\r\n } else if (error.size) {\r\n return errorText.size as string;\r\n } else if (error.upload) {\r\n return this.upload && this.upload.error ? this.upload.error : error.upload;\r\n }\r\n return errorText.common as string;\r\n }\r\n\r\n public toRaw(): RawFileData {\r\n const raw = this.raw || {};\r\n raw.url = this.url;\r\n raw.urlResized = this.urlResized;\r\n raw.src = this.src.bind(this);\r\n raw.name = this.name.bind(this);\r\n raw.lastModified = this.file.lastModified;\r\n raw.sizeText = this.size();\r\n raw.size = this.file.size;\r\n raw.type = this.file.type;\r\n raw.ext = this.ext();\r\n raw.color = this.color();\r\n raw.file = this.file;\r\n raw.progress = this.progress.bind(this); // pass it as a function\r\n if (!('error' in raw)) {\r\n Object.defineProperty(raw, 'error', {\r\n get: () => {\r\n return this.error;\r\n },\r\n });\r\n }\r\n raw.dimensions = this.dimensions;\r\n return raw;\r\n }\r\n\r\n public validate(): void {\r\n const validType = utils.validateType(this.file, this.accept);\r\n const validSize = utils.validateSize(this.file, this.maxSize as string);\r\n if (!validType || !validSize) {\r\n this.error = {\r\n type: !validType,\r\n size: !validSize,\r\n };\r\n } else {\r\n this.error = false;\r\n }\r\n }\r\n}\r\n\r\nexport default FileData;\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport FileData, { RawFileData, Options } from '../lib/file-data';\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'deletable', 'editable', 'linkable', 'errorText', 'disabled', 'thumbnailSize'],\r\n components: {\r\n VueFileIcon,\r\n },\r\n data() {\r\n return {\r\n isEditInputFocused: false,\r\n isEditCancelable: true,\r\n fileData: {} as FileData,\r\n };\r\n },\r\n computed: {\r\n hasLinkableUrl(): boolean {\r\n if (!this.linkable) {\r\n return false;\r\n }\r\n return !!this.fileData.url && !this.fileData.isPlayableVideo() && !this.fileData.isPlayableAudio();\r\n },\r\n },\r\n methods: {\r\n updateFileData() {\r\n if (this.value instanceof FileData) {\r\n this.fileData = this.value;\r\n return;\r\n }\r\n FileData.fromRaw(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options).then((fileData) => {\r\n this.fileData = fileData;\r\n });\r\n this.fileData = FileData.fromRawSync(this.value, {\r\n thumbnailSize: this.thumbnailSize,\r\n } as Options);\r\n },\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement) {\r\n if (fileData.videoThumbnail) {\r\n video.poster = fileData.src();\r\n return;\r\n }\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, this.fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n video.poster = fileData.src();\r\n });\r\n },\r\n\r\n playAv(fileData: FileData) {\r\n if (fileData.stopAv) {\r\n fileData.stopAv();\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n\r\n const wrapper = this.$refs.wrapper as HTMLElement;\r\n const player = document.createElement(fileData.isAudio() ? 'audio' : 'video');\r\n if (player instanceof HTMLVideoElement && fileData.isPlayableVideo()) {\r\n this.createThumbnail(fileData, player);\r\n }\r\n player.controls = true;\r\n // player.style.width = this.prvWidth + 'px';\r\n wrapper.appendChild(player);\r\n const url = fileData.url || createObjectURL(fileData.file);\r\n player.src = url;\r\n player.play();\r\n fileData.isPlayingAv = true;\r\n fileData.stopAv = () => {\r\n // player.src = null;\r\n player.src = '';\r\n wrapper.removeChild(player);\r\n revokeObjectURL(url);\r\n fileData.isPlayingAv = false;\r\n fileData.stopAv = null;\r\n };\r\n },\r\n\r\n removeFileData(fileData: FileData) {\r\n if (this.clearFilename()) {\r\n return;\r\n }\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n this.$emit('remove', fileData);\r\n },\r\n\r\n editFileName() {\r\n if (this.editable !== true) {\r\n return;\r\n }\r\n if (!this.$refs.input) {\r\n return;\r\n }\r\n (this.$refs.input as HTMLInputElement).focus();\r\n },\r\n\r\n editInputFocused() {\r\n this.isEditInputFocused = true;\r\n this.isEditCancelable = true;\r\n },\r\n\r\n editInputBlured() {\r\n this.fileData.oldFileName = this.fileData.name();\r\n const oldValue = this.fileData.name(true);\r\n const value = (this.$refs.input as HTMLInputElement).value;\r\n this.fileData.customName = value;\r\n const newValue = this.fileData.name(true);\r\n if (newValue !== oldValue) {\r\n this.fileData.oldCustomName = oldValue;\r\n this.$emit('rename', this.fileData);\r\n }\r\n const timeout = 100;\r\n setTimeout(() => {\r\n this.$nextTick(() => {\r\n if (!this.isEditCancelable) {\r\n return;\r\n }\r\n this.isEditInputFocused = false;\r\n });\r\n }, timeout);\r\n },\r\n\r\n filenameChanged(completed?: boolean) {\r\n if (completed) {\r\n (this.$refs.input as HTMLInputElement).blur(); // @see editInputBlured method\r\n }\r\n if (completed === false) {\r\n this.clearFilename();\r\n }\r\n },\r\n\r\n filenameClearPressed() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return;\r\n }\r\n this.isEditCancelable = false;\r\n },\r\n\r\n clearFilename() {\r\n if (!(this.editable === true && this.isEditInputFocused)) {\r\n return false;\r\n }\r\n (this.$refs.input as HTMLInputElement).value = '';\r\n this.isEditCancelable = true;\r\n this.editInputBlured();\r\n return true;\r\n },\r\n\r\n dismissError() {\r\n this.fileData.error = false;\r\n },\r\n },\r\n created() {\r\n this.updateFileData();\r\n },\r\n watch: {\r\n value() {\r\n this.updateFileData();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-preview-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-preview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-preview.vue?vue&type=template&id=1f00ad11&\"\nimport script from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-preview.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['value', 'axis', 'appendTo'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list.vue?vue&type=template&id=5ef04e06&\"\nimport script from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport Vue from 'vue';\r\n\r\nexport default Vue.extend({\r\n props: ['index'],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-list-item.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-list-item.vue?vue&type=template&id=00f7ef53&\"\nimport script from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-list-item.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'is-sortable-' + (_vm.isSortable ? 'enabled' : 'disabled'),\n { 'is-sortable-hold': _vm.sortable === 'hold' },\n { 'is-sortable-hold': _vm.sortable === 'handle' },\n { 'is-sortable-immediately': _vm.sortable === true },\n {\n 'is-sorting': _vm.isSorting,\n 'is-sorting-active': _vm.isSortingActive,\n 'is-drag-over': _vm.isDragging,\n 'is-disabled': _vm.disabled === true,\n },\n 'theme-' + _vm.theme ],attrs:{\"id\":'vfa-' + _vm.uniqueId},on:{\"dragover\":_vm.dragOver,\"dragenter\":_vm.dragEnter,\"dragleave\":_vm.dragLeave,\"drop\":_vm.drop}},[_vm._t(\"before-outer\"),_c('div',{staticClass:\"grid-block-wrapper vue-file-agent file-input-wrapper\",class:{\n 'is-compact': !!_vm.compact,\n 'is-single': !_vm.hasMultiple,\n 'has-multiple': _vm.hasMultiple,\n 'no-meta': _vm.meta === false,\n }},[_vm._t(\"before-inner\"),_c('canvas',{ref:\"thumbnailCanvas\",staticStyle:{\"position\":\"fixed\",\"visibility\":\"hidden\",\"z-index\":\"-3\"}}),(_vm.overallProgress)?_c('div',{staticClass:\"overall-progress\",class:{ 'overall-progress-full': _vm.overallProgress >= 100 }},[_c('div',{staticClass:\"overall-progress-bar\",style:({ width: _vm.overallProgress + '%' })}),_c('div',{staticClass:\"overall-progress-left\",style:({ width: 100 - _vm.overallProgress + '%' })})]):_vm._e(),_c(_vm.isSortable ? 'vfa-sortable-list' : 'VueFileList',{tag:\"component\",attrs:{\"axis\":_vm.theme == 'list' ? 'y' : 'xy',\"appendTo\":'#vfa-' + _vm.uniqueId + ' .vue-file-agent',\"transitionDuration\":_vm.transitionDuration,\"pressDelay\":_vm.sortable === 'hold' ? 200 : 0,\"useDragHandle\":_vm.sortable === 'handle',\"helperClass\":'active-sorting-item'},on:{\"sort-start\":function($event){return _vm.sortStart()},\"sort-end\":function($event){return _vm.sortEnd($event)}},model:{value:(_vm.filesData),callback:function ($$v) {_vm.filesData=$$v},expression:\"filesData\"}},[_c('transition-group',{attrs:{\"name\":\"grid-box\",\"tag\":\"div\"}},[_vm._l((_vm.filesData),function(fileData,index){return _c(_vm.isSortable ? 'vfa-sortable-item' : 'VueFileListItem',{key:fileData.id,tag:\"component\",staticClass:\"file-preview-wrapper grid-box-item grid-block\",attrs:{\"index\":index}},[(_vm.sortable === 'handle')?_c('span',{directives:[{name:\"vfa-sortable-handle\",rawName:\"v-vfa-sortable-handle\"}],staticClass:\"file-sortable-handle\"},[_vm._t(\"sortable-handle\",[_c('VueFileIcon',{attrs:{\"name\":\"system-sortable-handle\"}})])],2):_vm._e(),_vm._t(\"file-preview\",[_c('VueFilePreview',{attrs:{\"value\":fileData,\"deletable\":_vm.isDeletable,\"editable\":_vm.editable === true,\"linkable\":_vm.linkable === true,\"errorText\":_vm.errorText,\"disabled\":_vm.disabled,\"thumbnailSize\":_vm.thumbnailSize},on:{\"remove\":function($event){return _vm.removeFileData($event)},\"rename\":function($event){return _vm.filenameChanged($event)}}})],{\"fileData\":fileData,\"index\":index})],2)}),(_vm.canAddMore)?[_vm._t(\"file-preview-new\",[_c('div',{key:\"new\",staticClass:\"file-preview-wrapper grid-box-item grid-block file-preview-new\"},[_c('span',{staticClass:\"file-preview\"},[_c('span',{staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\"}},[_c('VueFileIcon',{attrs:{\"name\":\"system-file-preview-new\"}}),_c('span',{staticClass:\"help-text\"},[_vm._v(_vm._s(_vm.helpTextComputed))])],1)])])])]:_vm._e()],2)],1),_c('input',{ref:\"fileInput\",staticClass:\"file-input\",attrs:{\"title\":\"\",\"disabled\":_vm.disabled === true || (_vm.hasMultiple && !_vm.canAddMore),\"type\":\"file\",\"multiple\":_vm.hasMultiple,\"accept\":_vm.accept || '*'},on:{\"change\":_vm.filesChanged}}),_vm._t(\"after-inner\")],2),_vm._t(\"after-outer\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","export type ConfigureFn = (request: XMLHttpRequest) => any;\r\nexport interface AjaxResponse {\r\n data: any;\r\n status: number;\r\n statusText: string;\r\n headers: string;\r\n request: XMLHttpRequest;\r\n}\r\nexport type AjaxRequestData = FormData | any;\r\nexport interface AjaxError extends Error {\r\n code: string;\r\n request: XMLHttpRequest;\r\n response?: AjaxResponse;\r\n}\r\n\r\n/* inspired by axios */\r\nclass AjaxRequest {\r\n public createError(\r\n message: string,\r\n code: string | null,\r\n request: XMLHttpRequest,\r\n response?: AjaxResponse,\r\n ): AjaxError {\r\n const error: AjaxError = new Error(message) as AjaxError;\r\n if (code) {\r\n error.code = code;\r\n }\r\n error.request = request;\r\n error.response = response;\r\n return error;\r\n }\r\n\r\n public settle(resolve: any, reject: any, response: AjaxResponse) {\r\n const validateStatus = (status: number) => {\r\n return status >= 200 && status < 300;\r\n };\r\n // Note: status is not exposed by XDomainRequest\r\n if (!response.status || !validateStatus || validateStatus(response.status)) {\r\n resolve(response);\r\n } else {\r\n reject(this.createError('Request failed with status code ' + response.status, null, response.request, response));\r\n }\r\n }\r\n\r\n public request(\r\n method: string,\r\n url: string,\r\n formData: AjaxRequestData | null = null,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n // tslint:disable-next-line\r\n let request = new XMLHttpRequest();\r\n const loadEvent = 'onreadystatechange';\r\n\r\n request.open(method, url, true);\r\n\r\n // Listen for ready state\r\n request[loadEvent] = () => {\r\n if (!request || request.readyState !== 4) {\r\n return;\r\n }\r\n\r\n // The request errored out and we didn't get a response, this will be\r\n // handled by onerror instead\r\n // With one exception: request that using file: protocol, most browsers\r\n // will return status as 0 even though it's a successful request\r\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\r\n return;\r\n }\r\n\r\n // Prepare the response\r\n const responseHeaders = request.getAllResponseHeaders();\r\n let responseData: any = request.responseText;\r\n const contentType = request.getResponseHeader('Content-Type');\r\n if (contentType && contentType.indexOf('application/json') !== -1) {\r\n responseData = JSON.parse(responseData);\r\n }\r\n const response: AjaxResponse = {\r\n data: responseData,\r\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\r\n status: request.status === 1223 ? 204 : request.status,\r\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\r\n headers: responseHeaders,\r\n request,\r\n };\r\n\r\n this.settle(resolve, reject, response);\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle browser request cancellation (as opposed to a manual cancellation)\r\n request.onabort = () => {\r\n if (!request) {\r\n return;\r\n }\r\n\r\n reject(this.createError('Request aborted', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle low level network errors\r\n request.onerror = () => {\r\n // Real errors are hidden from us by the browser\r\n // onerror should only fire if it's a network error\r\n reject(this.createError('Network Error', null, request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // Handle timeout\r\n request.ontimeout = () => {\r\n reject(this.createError('timeout exceeded', 'ECONNABORTED', request));\r\n\r\n // Clean up request\r\n (request as any) = null;\r\n };\r\n\r\n // // Handle progress if needed\r\n // if (typeof config.onDownloadProgress === 'function') {\r\n // request.addEventListener('progress', config.onDownloadProgress);\r\n // }\r\n\r\n // Not all browsers support upload events\r\n // if (typeof progressCallback === 'function' && request.upload) {\r\n // request.upload.addEventListener('progress', progressCallback);\r\n // }\r\n\r\n if (typeof configureFn === 'function') {\r\n configureFn(request);\r\n }\r\n\r\n request.send(formData);\r\n });\r\n }\r\n\r\n public post(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('POST', url, formData, configureFn);\r\n }\r\n\r\n public delete(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('DELETE', url, formData, configureFn);\r\n }\r\n\r\n public put(url: string, formData: AjaxRequestData, configureFn?: ConfigureFn) {\r\n return this.request('PUT', url, formData, configureFn);\r\n }\r\n}\r\n\r\nexport default new AjaxRequest();\r\n","import ajax from './ajax-request';\r\nimport { ConfigureFn, AjaxResponse, AjaxError } from './ajax-request';\r\nimport FileData from './file-data';\r\n\r\ntype ProgressFn = (event: ProgressEvent) => void;\r\ntype CreateFormDataFn = (fileData: FileData) => FormData;\r\n\r\nclass UploadHelper {\r\n // useAxios(axios){\r\n // this.axios = axios;\r\n // }\r\n\r\n public addHeaders(xhr: XMLHttpRequest, headers: object): XMLHttpRequest {\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n if (headers) {\r\n for (const key in headers) {\r\n if (headers.hasOwnProperty(key)) {\r\n xhr.setRequestHeader(key, (headers as any)[key]);\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n\r\n public doUpload(\r\n url: string,\r\n headers: object,\r\n formData: FormData,\r\n progressCallback: ProgressFn,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n return ajax.post(url, formData, (xhr) => {\r\n this.addHeaders(xhr, headers);\r\n xhr.upload.addEventListener('progress', progressCallback, false);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doDeleteUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.delete(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n public doUpdateUpload(\r\n url: string,\r\n headers: object,\r\n uploadData: any,\r\n configureFn?: ConfigureFn,\r\n ): Promise {\r\n if (typeof uploadData !== 'string') {\r\n uploadData = JSON.stringify(uploadData);\r\n }\r\n return ajax.put(url, uploadData, (xhr) => {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n this.addHeaders(xhr, headers);\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n });\r\n }\r\n\r\n // doUploadAxios(axios, formData, progressCallback){\r\n // return axios.post('/upload', formData, {\r\n // onUploadProgress: progressCallback,\r\n // });\r\n // }\r\n\r\n // doDeleteUploadAxios(axios, data, configureFn){\r\n // return axios.delete('/upload', data, {\r\n // });\r\n // }\r\n\r\n public prepareUploadError(fileData: FileData, err: AjaxError, timeout?: number) {\r\n let errorText = err.message;\r\n if (err.response && err.response.data) {\r\n try {\r\n const errorMsg = err.response.data.error || JSON.parse(err.response.data).error;\r\n errorText = errorMsg;\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = errorText;\r\n if (timeout) {\r\n setTimeout(() => {\r\n if (!fileData.error) {\r\n fileData.error = {};\r\n }\r\n fileData.error.upload = false;\r\n if (!fileData.error.size && !fileData.error.type) {\r\n fileData.error = false;\r\n }\r\n }, timeout);\r\n }\r\n }\r\n\r\n public upload(\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n createFormData?: CreateFormDataFn,\r\n progressFn?: (progress: number) => void,\r\n configureFn?: ConfigureFn,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n let formData;\r\n if (typeof createFormData === 'function') {\r\n formData = createFormData(fileData);\r\n } else {\r\n formData = new FormData();\r\n formData.append('file', fileData.file as File);\r\n formData.append('filename', fileData.name());\r\n }\r\n // ((fileData) => {\r\n const promise = this.doUpload(\r\n url,\r\n headers,\r\n formData,\r\n (progressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n },\r\n (xhr) => {\r\n fileData.xhr = xhr;\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n },\r\n );\r\n promise.then(\r\n (response) => {\r\n delete fileData.xhr;\r\n fileData.upload = response.data;\r\n fileData.progress(100);\r\n if (fileData.xhrQueue) {\r\n fileData.xhrQueue();\r\n delete fileData.xhrQueue;\r\n }\r\n } /* */,\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n } /* */,\r\n );\r\n promises.push(promise);\r\n // })(fileData);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public deleteUpload(url: string, headers: object, fileData: FileData, uploadData?: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n fileData.xhr.abort();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload;\r\n }\r\n if (uploadData) {\r\n this.doDeleteUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (result) => {\r\n resolve(result);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public updateUpload(url: string, headers: object, fileData: FileData, uploadData: any, configureFn?: ConfigureFn) {\r\n return new Promise((resolve, reject) => {\r\n if (fileData.xhr) {\r\n // probably updated while being uploaded.\r\n fileData.xhrQueue = () => {\r\n this.updateUpload(url, headers, fileData, uploadData);\r\n };\r\n return resolve();\r\n }\r\n if (uploadData === undefined) {\r\n uploadData = fileData.upload || {};\r\n uploadData.old_filename = fileData.oldFileName;\r\n uploadData.filename = fileData.name();\r\n }\r\n if (uploadData) {\r\n this.doUpdateUpload(url, headers, uploadData, (xhr) => {\r\n if (typeof configureFn === 'function') {\r\n configureFn(xhr);\r\n }\r\n }).then(\r\n (response) => {\r\n fileData.upload = response.data;\r\n resolve(response);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n reject(err);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n public doTusUpload(tus: any, url: string, fileData: FileData, headers: object, progressCallback: ProgressFn) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject(new Error('tus required. Please install tus-js-client'));\r\n }\r\n // https://github.com/tus/tus-js-client\r\n // Create a new tus upload\r\n const file = fileData.file;\r\n const upload = new tus.Upload(file, {\r\n endpoint: url,\r\n headers,\r\n retryDelays: [0, 3000, 5000, 10000, 20000],\r\n metadata: {\r\n filename: file.name,\r\n filetype: file.type,\r\n },\r\n onError(error: any) {\r\n reject(error);\r\n // console.log(\"Failed because: \" + error)\r\n },\r\n onProgress(bytesUploaded: number, bytesTotal: number) {\r\n const event = { loaded: bytesUploaded, total: bytesTotal } as ProgressEvent;\r\n progressCallback(event);\r\n },\r\n onSuccess() {\r\n resolve(upload);\r\n },\r\n });\r\n fileData.tusUpload = upload;\r\n // Start the upload\r\n upload.start();\r\n });\r\n }\r\n\r\n public tusUpload(\r\n tus: any,\r\n url: string,\r\n headers: object,\r\n filesData: FileData[],\r\n progressFn?: (progress: number) => void,\r\n ) {\r\n let updateOverallProgress = () => {\r\n /* no op */\r\n };\r\n if (progressFn) {\r\n updateOverallProgress = () => {\r\n let prgTotal = 0;\r\n for (const fileData of filesData) {\r\n prgTotal += fileData.progress() as number;\r\n }\r\n progressFn(prgTotal / filesData.length);\r\n };\r\n }\r\n const promises = [];\r\n for (const fileData of filesData) {\r\n const promise = this.doTusUpload(tus, url, fileData, headers, (progressEvent: ProgressEvent) => {\r\n const percentCompleted = (progressEvent.loaded * 100) / progressEvent.total;\r\n // do not complete until promise resolved\r\n fileData.progress(percentCompleted >= 100 ? 99.9999 : percentCompleted);\r\n updateOverallProgress();\r\n });\r\n promise.then(\r\n (response) => {\r\n // delete fileData.tusUpload;\r\n fileData.progress(100);\r\n },\r\n (err) => {\r\n this.prepareUploadError(fileData, err);\r\n },\r\n );\r\n promises.push(promise);\r\n }\r\n return Promise.all(promises);\r\n }\r\n\r\n public tusDeleteUpload(tus: any, url: string, headers: object, fileData: FileData) {\r\n return new Promise((resolve, reject) => {\r\n if (!tus) {\r\n return reject('tus required');\r\n }\r\n if (!fileData.tusUpload) {\r\n return resolve();\r\n }\r\n // const shouldTerminate = true;\r\n const abort = (shouldTerminate: boolean) => {\r\n return new Promise((res, rej) => {\r\n fileData.tusUpload.abort(shouldTerminate, (err: any) => {\r\n if (err) {\r\n this.prepareUploadError(fileData, err);\r\n rej(err);\r\n return;\r\n }\r\n res();\r\n });\r\n });\r\n };\r\n abort(false).then(() => {\r\n setTimeout(() => {\r\n abort(true).then(resolve, reject);\r\n }, 1000);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport default new UploadHelper();\r\n","export default {\r\n tus: null as any,\r\n};\r\n","import utils from '../lib/utils';\r\nimport VueFileIcon from './vue-file-icon.vue';\r\nimport VueFilePreview from './vue-file-preview.vue';\r\nimport VueFileList from './vue-file-list.vue';\r\nimport VueFileListItem from './vue-file-list-item.vue';\r\nimport FileData from '../lib/file-data';\r\nimport { RawFileData } from '../lib/file-data';\r\nimport uploader from '../lib/upload-helper';\r\nimport Vue from 'vue';\r\nimport plugins from '../lib/plugins';\r\n\r\n// tslint:disable-next-line\r\nvar dragCounter = 0;\r\n\r\nexport default Vue.extend({\r\n props: [\r\n 'accept',\r\n 'compact',\r\n 'deletable',\r\n 'disabled',\r\n 'editable',\r\n 'errorText',\r\n 'helpText',\r\n 'linkable',\r\n 'maxFiles',\r\n 'maxSize',\r\n 'meta',\r\n 'multiple',\r\n 'progress',\r\n 'read',\r\n 'resumable',\r\n 'sortable',\r\n 'theme',\r\n 'thumbnailSize',\r\n 'uploadHeaders',\r\n 'uploadUrl',\r\n 'value',\r\n ],\r\n components: {\r\n VueFileIcon,\r\n VueFilePreview,\r\n VueFileList,\r\n VueFileListItem,\r\n },\r\n directives: {\r\n // https://github.com/Jexordexan/vue-slicksort/blob/master/src/HandleDirective.js\r\n vfaSortableHandle: {\r\n bind(el: HTMLElement) {\r\n (el as any).sortableHandle = true;\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n filesData: [] as FileData[],\r\n filesDataRaw: [] as RawFileData[],\r\n isDragging: false,\r\n isSorting: false,\r\n isSortingActive: false,\r\n transitionDuration: 300,\r\n overallProgress: 0,\r\n uniqueId: '',\r\n sortTimeout: 0,\r\n };\r\n },\r\n computed: {\r\n canAddMore(): boolean {\r\n if (!this.hasMultiple) {\r\n return this.filesData.length === 0;\r\n }\r\n if (!this.maxFiles) {\r\n return true;\r\n }\r\n return this.filesData.length < this.maxFiles;\r\n },\r\n helpTextComputed(): string {\r\n if (this.helpText) {\r\n return this.helpText;\r\n }\r\n return 'Choose ' + (this.hasMultiple ? 'files' : 'file') + ' or drag & drop here';\r\n },\r\n isDeletable(): boolean {\r\n if (typeof this.deletable === 'string') {\r\n return this.deletable !== 'false';\r\n }\r\n return !!this.deletable;\r\n },\r\n isSortable(): boolean {\r\n return !!this.sortable;\r\n },\r\n hasMultiple(): boolean {\r\n if (typeof this.multiple === 'string') {\r\n return this.multiple !== 'false';\r\n }\r\n if (this.multiple === undefined) {\r\n return Array.isArray(this.value);\r\n }\r\n return !!this.multiple;\r\n },\r\n shouldRead(): boolean {\r\n if (typeof this.read === 'string') {\r\n return this.read === 'true';\r\n }\r\n return !!this.read;\r\n },\r\n },\r\n methods: {\r\n createThumbnail(fileData: FileData, video: HTMLVideoElement): Promise {\r\n return new Promise((resolve, reject) => {\r\n const canvas = document.createElement('canvas');\r\n utils.createVideoThumbnail(video, canvas, fileData.thumbnailSize).then((thumbnail) => {\r\n fileData.imageColor = thumbnail.color;\r\n fileData.videoThumbnail = thumbnail.url;\r\n fileData.dimensions.width = thumbnail.width;\r\n fileData.dimensions.height = thumbnail.height;\r\n resolve();\r\n }, reject);\r\n });\r\n },\r\n initVideo(fileData: FileData): void {\r\n if (!fileData.isPlayableVideo()) {\r\n return;\r\n }\r\n const createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL;\r\n const revokeObjectURL = (window.URL || window.webkitURL || {}).revokeObjectURL;\r\n const video = document.createElement('video');\r\n video.src = createObjectURL(fileData.file);\r\n this.createThumbnail(fileData, video).then(() => {\r\n revokeObjectURL(video.src);\r\n });\r\n video.load();\r\n },\r\n getFileDataInstance(fileDataOrRaw: FileData | RawFileData): FileData {\r\n let i;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n if (i === -1) {\r\n return fileDataOrRaw as FileData;\r\n }\r\n return this.filesData[i];\r\n },\r\n upload(\r\n url: string,\r\n headers: object,\r\n filesDataOrRaw: FileData[] | RawFileData[],\r\n createFormData?: (fileData: FileData) => FormData,\r\n ): Promise {\r\n const validFilesData = [];\r\n for (const fileDataOrRaw of filesDataOrRaw) {\r\n const fileData = this.getFileDataInstance(fileDataOrRaw);\r\n if (!fileData.error) {\r\n validFilesData.push(fileData);\r\n }\r\n }\r\n if (this.resumable) {\r\n return uploader.tusUpload(plugins.tus, url, headers, validFilesData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n }\r\n return uploader.upload(url, headers, validFilesData, createFormData, (overallProgress) => {\r\n this.overallProgress = overallProgress;\r\n });\r\n },\r\n deleteUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n if (this.filesData.length < 1) {\r\n this.overallProgress = 0;\r\n }\r\n fileData = this.getFileDataInstance(fileData);\r\n if (this.resumable) {\r\n return uploader.tusDeleteUpload(plugins.tus, url, headers, fileData);\r\n }\r\n return uploader.deleteUpload(url, headers, fileData, uploadData);\r\n },\r\n updateUpload(url: string, headers: object, fileData: FileData | RawFileData, uploadData?: any): Promise {\r\n fileData = this.getFileDataInstance(fileData);\r\n return uploader.updateUpload(url, headers, fileData, uploadData);\r\n },\r\n autoUpload(filesData: FileData[] | RawFileData[]): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.upload(this.uploadUrl, this.uploadHeaders, filesData);\r\n },\r\n autoDeleteUpload(fileData: FileData | RawFileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.deleteUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n autoUpdateUpload(fileData: FileData): Promise {\r\n if (!this.uploadUrl) {\r\n return Promise.resolve(false);\r\n }\r\n return this.updateUpload(this.uploadUrl, this.uploadHeaders, fileData);\r\n },\r\n equalFiles(file1: File, file2: File): boolean {\r\n return (\r\n true &&\r\n file1.name === file2.name &&\r\n file1.size === file2.size &&\r\n file1.type === file2.type &&\r\n // file1.lastModifiedDate.getTime() === file2.lastModifiedDate.getTime() &&\r\n file1.lastModified === file2.lastModified\r\n );\r\n },\r\n isFileAddedAlready(file: File): boolean {\r\n for (const fileData of this.filesData) {\r\n if (this.equalFiles(file, fileData.file as File)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n handleFiles(files: File[] | FileList): void {\r\n if (this.disabled === true) {\r\n return;\r\n }\r\n if (this.hasMultiple && !this.canAddMore) {\r\n return;\r\n }\r\n const filesData: FileData[] = [];\r\n const filesFiltered: File[] = [];\r\n // tslint:disable-next-line\r\n for (let i = 0; i < files.length; i++) {\r\n if (this.hasMultiple && this.isFileAddedAlready(files[i])) {\r\n continue;\r\n }\r\n filesFiltered.push(files[i]);\r\n }\r\n files = filesFiltered;\r\n if (this.maxFiles && files.length > this.maxFiles - this.filesData.length) {\r\n files = files.slice(0, this.maxFiles - this.filesData.length);\r\n }\r\n for (const file of files) {\r\n filesData.push(\r\n new FileData(\r\n {\r\n file,\r\n } as RawFileData,\r\n {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n },\r\n ),\r\n );\r\n }\r\n\r\n for (const fileData of filesData) {\r\n if (fileData.file.size <= 20 * 1024 * 1024) {\r\n // <= 20MB\r\n this.initVideo(fileData);\r\n }\r\n }\r\n if (this.hasMultiple) {\r\n // splice: for list transitions to work properly\r\n this.filesData.splice(this.filesData.length, 0, ...filesData);\r\n } else {\r\n this.filesData = filesData;\r\n }\r\n\r\n FileData.readFiles(filesData).then((filesDataNew: FileData[]) => {\r\n const allFilesDataRaw = FileData.toRawArray(this.filesData);\r\n this.filesDataRaw = allFilesDataRaw;\r\n this.$emit('input', Array.isArray(this.value) ? allFilesDataRaw : allFilesDataRaw[0]);\r\n this.$emit('select', FileData.toRawArray(filesDataNew));\r\n });\r\n this.autoUpload(filesData);\r\n },\r\n filesChanged(event: InputEvent): void {\r\n const files: FileList = (event.target as HTMLInputElement).files as FileList;\r\n this.$emit('change', event);\r\n if (!files[0]) {\r\n return;\r\n }\r\n this.handleFiles(files);\r\n if (this.$refs.fileInput) {\r\n (this.$refs.fileInput as any).value = null; // do not use ''\r\n // because chrome won't fire change event for same file\r\n }\r\n },\r\n drop(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter = 0;\r\n this.isDragging = false;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n utils.getFilesFromDroppedItems(event.dataTransfer).then((files) => {\r\n this.$emit('drop', event);\r\n if (!files || !files[0]) {\r\n return;\r\n }\r\n if (!this.hasMultiple) {\r\n files = [files[0]];\r\n }\r\n this.handleFiles(files);\r\n });\r\n },\r\n dragEnter(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n dragCounter++;\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragOver(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n this.isDragging = true;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\r\n },\r\n dragLeave(event: DragEvent): void {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n dragCounter--;\r\n if (dragCounter === 0) {\r\n this.isDragging = false;\r\n }\r\n },\r\n removeFileData(fileDataOrRaw: FileData | RawFileData): void {\r\n let i: number;\r\n if (fileDataOrRaw instanceof FileData) {\r\n i = this.filesData.indexOf(fileDataOrRaw);\r\n } else {\r\n i = this.filesDataRaw.indexOf(fileDataOrRaw);\r\n }\r\n const fileData: FileData = this.filesData.splice(i, 1)[0];\r\n const fileDataRaw = this.filesDataRaw.splice(i, 1)[0];\r\n this.$emit('input', this.filesDataRaw);\r\n // this.$emit('delete', fileData);\r\n this.$emit('delete', fileDataRaw);\r\n this.autoDeleteUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n this.filesData.splice(i, 1, fileData);\r\n this.filesDataRaw.splice(i, 1, fileDataRaw);\r\n },\r\n );\r\n },\r\n filenameChanged(fileData: FileData): void {\r\n this.$emit('rename', FileData.toRawArray([fileData])[0]);\r\n this.autoUpdateUpload(fileData).then(\r\n (res) => {\r\n /* no op */\r\n },\r\n (err) => {\r\n fileData.customName = fileData.oldCustomName;\r\n },\r\n );\r\n },\r\n checkValue(): void {\r\n let filesDataRaw: RawFileData[] = this.value || [];\r\n filesDataRaw = Array.isArray(filesDataRaw) ? filesDataRaw : [filesDataRaw];\r\n\r\n const fdPromises: Array> = [];\r\n const filesDataRawNew: RawFileData[] = [];\r\n\r\n for (let i = 0; i < filesDataRaw.length; i++) {\r\n const existingIndex = this.filesDataRaw.indexOf(filesDataRaw[i]);\r\n if (existingIndex !== -1) {\r\n fdPromises.push(Promise.resolve(this.filesData[existingIndex]));\r\n filesDataRawNew[i] = this.filesDataRaw[existingIndex];\r\n } else {\r\n fdPromises.push(\r\n FileData.fromRaw(filesDataRaw[i], {\r\n read: this.shouldRead,\r\n maxSize: this.maxSize,\r\n accept: this.accept,\r\n thumbnailSize: this.thumbnailSize,\r\n }),\r\n );\r\n filesDataRawNew.push(filesDataRaw[i]);\r\n }\r\n }\r\n\r\n this.filesDataRaw = filesDataRawNew;\r\n Promise.all(fdPromises).then((filesData) => {\r\n this.filesData = filesData;\r\n });\r\n },\r\n sortStart(): void {\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.isSorting = true;\r\n this.isSortingActive = true;\r\n },\r\n sortEnd(sortData: { event: Event; newIndex: number; oldIndex: number; collection: any }): void {\r\n this.isSortingActive = false;\r\n if (this.sortTimeout) {\r\n clearTimeout(this.sortTimeout);\r\n }\r\n this.sortTimeout = setTimeout(() => {\r\n this.isSorting = false;\r\n }, this.transitionDuration + 100);\r\n if (sortData.oldIndex !== sortData.newIndex) {\r\n this.filesDataRaw = utils.arrayMove(this.filesDataRaw, sortData.oldIndex, sortData.newIndex);\r\n this.$nextTick(() => {\r\n this.$emit('input', this.filesDataRaw);\r\n this.$emit('sort', {\r\n oldIndex: sortData.oldIndex,\r\n newIndex: sortData.newIndex,\r\n });\r\n });\r\n }\r\n },\r\n },\r\n created() {\r\n this.uniqueId =\r\n new Date().getTime().toString(36) +\r\n Math.random()\r\n .toString(36)\r\n .slice(2);\r\n this.checkValue();\r\n },\r\n watch: {\r\n value() {\r\n this.checkValue();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport mixin from './vue-file-agent-mixin';\r\n\r\nexport default Vue.extend({\r\n mixins: [mixin],\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vue-file-agent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./vue-file-agent.vue?vue&type=template&id=1410c648&\"\nimport script from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nexport * from \"./vue-file-agent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./vue-file-agent.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import VueFileIcon from './components/vue-file-icon.vue';\r\nimport VueFilePreview from './components/vue-file-preview.vue';\r\nimport VueFileList from './components/vue-file-list.vue';\r\nimport VueFileListItem from './components/vue-file-list-item.vue';\r\nimport VueFileAgent from './components/vue-file-agent.vue';\r\nimport VueFileAgentMixin from './components/vue-file-agent-mixin';\r\nimport VueFilePreviewMixin from './components/vue-file-preview-mixin';\r\nimport utils from './lib/utils';\r\nimport plugins from './lib/plugins';\r\nimport FileData from './lib/file-data';\r\n\r\nimport _Vue, { PluginFunction } from 'vue';\r\n\r\nexport default class VueFileAgentPlugin {\r\n public static VueFileIcon = VueFileIcon;\r\n public static VueFilePreview = VueFilePreview;\r\n public static VueFileAgent = VueFileAgent;\r\n public static component = VueFileAgent;\r\n public static mixin = VueFileAgentMixin;\r\n public static plugins = plugins;\r\n\r\n public static VueFileAgentMixin = VueFileAgentMixin;\r\n public static VueFilePreviewMixin = VueFilePreviewMixin;\r\n\r\n public static install(Vue: typeof _Vue, options: any) {\r\n Vue.component('VueFileIcon', VueFileIcon);\r\n Vue.component('VueFilePreview', VueFilePreview);\r\n Vue.component('VueFileList', VueFileList);\r\n Vue.component('VueFileListItem', VueFileListItem);\r\n Vue.component('VueFileAgent', VueFileAgent);\r\n Vue.prototype.$vueFileAgent = {\r\n mixin: VueFileAgentMixin,\r\n };\r\n }\r\n}\r\n\r\n// auto install\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n VueFileAgentPlugin.install(window.Vue, {});\r\n (window as any).VueFileAgent = VueFileAgentPlugin;\r\n}\r\n\r\nexport const mixin = VueFileAgentMixin;\r\n\r\nexport { VueFileAgentMixin, VueFilePreviewMixin };\r\n\r\nexport { utils, FileData, plugins };\r\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file