{"version":3,"file":"file-selector-_aT-Isis.js","sources":["../../node_modules/file-selector/dist/es5/file.js","../../node_modules/file-selector/dist/es5/file-selector.js"],"sourcesContent":["export var COMMON_MIME_TYPES = new Map([\n ['avi', 'video/avi'],\n ['gif', 'image/gif'],\n ['ico', 'image/x-icon'],\n ['jpeg', 'image/jpeg'],\n ['jpg', 'image/jpeg'],\n ['mkv', 'video/x-matroska'],\n ['mov', 'video/quicktime'],\n ['mp4', 'video/mp4'],\n ['pdf', 'application/pdf'],\n ['png', 'image/png'],\n ['zip', 'application/zip'],\n ['doc', 'application/msword'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document']\n]);\nexport function toFileWithPath(file, path) {\n var f = withMimeType(file);\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n var webkitRelativePath = file.webkitRelativePath;\n Object.defineProperty(f, 'path', {\n value: typeof path === 'string'\n ? path\n // If is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : file.name,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n return f;\n}\nfunction withMimeType(file) {\n var name = file.name;\n var hasExtension = name && name.lastIndexOf('.') !== -1;\n if (hasExtension && !file.type) {\n var ext = name.split('.')\n .pop().toLowerCase();\n var type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n return file;\n}\n//# sourceMappingURL=file.js.map","import { __awaiter, __generator, __read, __spread } from \"tslib\";\nimport { toFileWithPath } from './file';\nvar FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store',\n 'Thumbs.db' // Windows\n];\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n * @param evt\n */\nexport function fromEvent(evt) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, isDragEvt(evt) && evt.dataTransfer\n ? getDataTransferFiles(evt.dataTransfer, evt.type)\n : getInputFiles(evt)];\n });\n });\n}\nfunction isDragEvt(value) {\n return !!value.dataTransfer;\n}\nfunction getInputFiles(evt) {\n var files = isInput(evt.target)\n ? evt.target.files\n ? fromList(evt.target.files)\n : []\n : [];\n return files.map(function (file) { return toFileWithPath(file); });\n}\nfunction isInput(value) {\n return value !== null;\n}\nfunction getDataTransferFiles(dt, type) {\n return __awaiter(this, void 0, void 0, function () {\n var items, files;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!dt.items) return [3 /*break*/, 2];\n items = fromList(dt.items)\n .filter(function (item) { return item.kind === 'file'; });\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return [2 /*return*/, items];\n }\n return [4 /*yield*/, Promise.all(items.map(toFilePromises))];\n case 1:\n files = _a.sent();\n return [2 /*return*/, noIgnoredFiles(flatten(files))];\n case 2: return [2 /*return*/, noIgnoredFiles(fromList(dt.files)\n .map(function (file) { return toFileWithPath(file); }))];\n }\n });\n });\n}\nfunction noIgnoredFiles(files) {\n return files.filter(function (file) { return FILES_TO_IGNORE.indexOf(file.name) === -1; });\n}\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items) {\n var files = [];\n // tslint:disable: prefer-for-of\n for (var i = 0; i < items.length; i++) {\n var file = items[i];\n files.push(file);\n }\n return files;\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n var entry = item.webkitGetAsEntry();\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry);\n }\n return fromDataTransferItem(item);\n}\nfunction flatten(items) {\n return items.reduce(function (acc, files) { return __spread(acc, (Array.isArray(files) ? flatten(files) : [files])); }, []);\n}\nfunction fromDataTransferItem(item) {\n var file = item.getAsFile();\n if (!file) {\n return Promise.reject(item + \" is not a File\");\n }\n var fwp = toFileWithPath(file);\n return Promise.resolve(fwp);\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nfunction fromEntry(entry) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry)];\n });\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry) {\n var reader = entry.createReader();\n return new Promise(function (resolve, reject) {\n var entries = [];\n function readEntries() {\n var _this = this;\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries(function (batch) { return __awaiter(_this, void 0, void 0, function () {\n var files, err_1, items;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!batch.length) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Promise.all(entries)];\n case 2:\n files = _a.sent();\n resolve(files);\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n reject(err_1);\n return [3 /*break*/, 4];\n case 4: return [3 /*break*/, 6];\n case 5:\n items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n // Continue reading\n readEntries();\n _a.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n }); }, function (err) {\n reject(err);\n });\n }\n readEntries();\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nfunction fromFileEntry(entry) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve, reject) {\n entry.file(function (file) {\n var fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, function (err) {\n reject(err);\n });\n })];\n });\n });\n}\n//# sourceMappingURL=file-selector.js.map"],"names":["COMMON_MIME_TYPES","Map","toFileWithPath","file","path","f","name","lastIndexOf","type","ext","split","pop","toLowerCase","get","Object","defineProperty","value","writable","configurable","enumerable","withMimeType","webkitRelativePath","length","FILES_TO_IGNORE","fromEvent","evt","__awaiter","this","__generator","_a","dataTransfer","getDataTransferFiles","getInputFiles","target","files","fromList","map","dt","items","label","filter","item","kind","Promise","all","toFilePromises","noIgnoredFiles","flatten","sent","indexOf","i","push","webkitGetAsEntry","fromDataTransferItem","entry","isDirectory","fromDirEntry","reduce","acc","__spread","Array","isArray","getAsFile","reject","fwp","resolve","fromEntry","fromFileEntry","reader","createReader","entries","readEntries","_this","batch","err_1","trys","err","fullPath"],"mappings":"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","x_google_ignoreList":[0,1]}