Mercurial > repos > fubar > jbrowse2
comparison x/static/js/3778.e18101e6.chunk.js.map @ 125:49f3d3878413 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 5ea1f9c1eef1de76232e69aa6d34cda77d90d566
author | fubar |
---|---|
date | Sat, 05 Oct 2024 23:58:05 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
124:137e08517410 | 125:49f3d3878413 |
---|---|
1 {"version":3,"file":"static/js/3778.e18101e6.chunk.js","mappings":"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","sources":["../../../node_modules/@mui/icons-material/esm/CloudUpload.js","../../../node_modules/@mui/icons-material/esm/Error.js","../../../node_modules/attr-accept/dist/es/index.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/file-selector/src/file.ts","../../../node_modules/file-selector/src/file-selector.ts","../../../node_modules/react-dropzone/dist/es/utils/index.js","../../../node_modules/react-dropzone/dist/es/index.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z\"\n}), 'CloudUpload');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z\"\n}), 'Error');","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","export const COMMON_MIME_TYPES = new Map([\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\n ['aac', 'audio/aac'],\n ['abw', 'application/x-abiword'],\n ['arc', 'application/x-freearc'],\n ['avif', 'image/avif'],\n ['avi', 'video/x-msvideo'],\n ['azw', 'application/vnd.amazon.ebook'],\n ['bin', 'application/octet-stream'],\n ['bmp', 'image/bmp'],\n ['bz', 'application/x-bzip'],\n ['bz2', 'application/x-bzip2'],\n ['cda', 'application/x-cdf'],\n ['csh', 'application/x-csh'],\n ['css', 'text/css'],\n ['csv', 'text/csv'],\n ['doc', 'application/msword'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n ['eot', 'application/vnd.ms-fontobject'],\n ['epub', 'application/epub+zip'],\n ['gz', 'application/gzip'],\n ['gif', 'image/gif'],\n ['heic', 'image/heic'],\n ['heif', 'image/heif'],\n ['htm', 'text/html'],\n ['html', 'text/html'],\n ['ico', 'image/vnd.microsoft.icon'],\n ['ics', 'text/calendar'],\n ['jar', 'application/java-archive'],\n ['jpeg', 'image/jpeg'],\n ['jpg', 'image/jpeg'],\n ['js', 'text/javascript'],\n ['json', 'application/json'],\n ['jsonld', 'application/ld+json'],\n ['mid', 'audio/midi'],\n ['midi', 'audio/midi'],\n ['mjs', 'text/javascript'],\n ['mp3', 'audio/mpeg'],\n ['mp4', 'video/mp4'],\n ['mpeg', 'video/mpeg'],\n ['mpkg', 'application/vnd.apple.installer+xml'],\n ['odp', 'application/vnd.oasis.opendocument.presentation'],\n ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n ['odt', 'application/vnd.oasis.opendocument.text'],\n ['oga', 'audio/ogg'],\n ['ogv', 'video/ogg'],\n ['ogx', 'application/ogg'],\n ['opus', 'audio/opus'],\n ['otf', 'font/otf'],\n ['png', 'image/png'],\n ['pdf', 'application/pdf'],\n ['php', 'application/x-httpd-php'],\n ['ppt', 'application/vnd.ms-powerpoint'],\n ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n ['rar', 'application/vnd.rar'],\n ['rtf', 'application/rtf'],\n ['sh', 'application/x-sh'],\n ['svg', 'image/svg+xml'],\n ['swf', 'application/x-shockwave-flash'],\n ['tar', 'application/x-tar'],\n ['tif', 'image/tiff'],\n ['tiff', 'image/tiff'],\n ['ts', 'video/mp2t'],\n ['ttf', 'font/ttf'],\n ['txt', 'text/plain'],\n ['vsd', 'application/vnd.visio'],\n ['wav', 'audio/wav'],\n ['weba', 'audio/webm'],\n ['webm', 'video/webm'],\n ['webp', 'image/webp'],\n ['woff', 'font/woff'],\n ['woff2', 'font/woff2'],\n ['xhtml', 'application/xhtml+xml'],\n ['xls', 'application/vnd.ms-excel'],\n ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n ['xml', 'application/xml'],\n ['xul', 'application/vnd.mozilla.xul+xml'],\n ['zip', 'application/zip'],\n ['7z', 'application/x-7z-compressed'],\n\n // Others\n ['mkv', 'video/x-matroska'],\n ['mov', 'video/quicktime'],\n ['msg', 'application/vnd.ms-outlook']\n]);\n\n\nexport function toFileWithPath(file: FileWithPath, path?: string): FileWithPath {\n const f = withMimeType(file);\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n const {webkitRelativePath} = file;\n Object.defineProperty(f, 'path', {\n value: typeof path === 'string'\n ? path\n // If <input webkitdirectory> 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\n return f;\n}\n\nexport interface FileWithPath extends File {\n readonly path?: string;\n}\n\nfunction withMimeType(file: FileWithPath) {\n const {name} = file;\n const hasExtension = name && name.lastIndexOf('.') !== -1;\n\n if (hasExtension && !file.type) {\n const ext = name.split('.')\n .pop()!.toLowerCase();\n const 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\n return file;\n}\n","import {FileWithPath, toFileWithPath} from './file';\n\n\nconst FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store', // macOs\n 'Thumbs.db' // Windows\n];\n\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 *\n * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg\n * and a list of File objects will be returned.\n *\n * @param evt\n */\nexport async function fromEvent(evt: Event | any): Promise<(FileWithPath | DataTransferItem)[]> {\n if (isObject<DragEvent>(evt) && isDataTransfer(evt.dataTransfer)) {\n return getDataTransferFiles(evt.dataTransfer, evt.type);\n } else if (isChangeEvt(evt)) {\n return getInputFiles(evt);\n } else if (Array.isArray(evt) && evt.every(item => 'getFile' in item && typeof item.getFile === 'function')) {\n return getFsHandleFiles(evt)\n }\n return [];\n}\n\nfunction isDataTransfer(value: any): value is DataTransfer {\n return isObject(value);\n}\n\nfunction isChangeEvt(value: any): value is Event {\n return isObject<Event>(value) && isObject(value.target);\n}\n\nfunction isObject<T>(v: any): v is T {\n return typeof v === 'object' && v !== null\n}\n\nfunction getInputFiles(evt: Event) {\n return fromList<FileWithPath>((evt.target as HTMLInputElement).files).map(file => toFileWithPath(file));\n}\n\n// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle\nasync function getFsHandleFiles(handles: any[]) {\n const files = await Promise.all(handles.map(h => h.getFile()));\n return files.map(file => toFileWithPath(file));\n}\n\n\nasync function getDataTransferFiles(dt: DataTransfer, type: string) {\n // IE11 does not support dataTransfer.items\n // See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility\n if (dt.items) {\n const items = fromList<DataTransferItem>(dt.items)\n .filter(item => 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 items;\n }\n const files = await Promise.all(items.map(toFilePromises));\n return noIgnoredFiles(flatten<FileWithPath>(files));\n }\n\n return noIgnoredFiles(fromList<FileWithPath>(dt.files)\n .map(file => toFileWithPath(file)));\n}\n\nfunction noIgnoredFiles(files: FileWithPath[]) {\n return files.filter(file => FILES_TO_IGNORE.indexOf(file.name) === -1);\n}\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<T>(items: DataTransferItemList | FileList | null): T[] {\n if (items === null) {\n return [];\n }\n\n const files = [];\n\n // tslint:disable: prefer-for-of\n for (let i = 0; i < items.length; i++) {\n const file = items[i];\n files.push(file);\n }\n\n return files as any;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item: DataTransferItem) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n\n const entry = item.webkitGetAsEntry();\n\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) as any;\n }\n\n return fromDataTransferItem(item);\n}\n\nfunction flatten<T>(items: any[]): T[] {\n return items.reduce((acc, files) => [\n ...acc,\n ...(Array.isArray(files) ? flatten(files) : [files])\n ], []);\n}\n\nfunction fromDataTransferItem(item: DataTransferItem) {\n const file = item.getAsFile();\n if (!file) {\n return Promise.reject(`${item} is not a File`);\n }\n const fwp = toFileWithPath(file);\n return Promise.resolve(fwp);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nasync function fromEntry(entry: any) {\n return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry: any) {\n const reader = entry.createReader();\n\n return new Promise<FileArray[]>((resolve, reject) => {\n const entries: Promise<FileValue[]>[] = [];\n\n function readEntries() {\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(async (batch: any[]) => {\n if (!batch.length) {\n // Done reading directory\n try {\n const files = await Promise.all(entries);\n resolve(files);\n } catch (err) {\n reject(err);\n }\n } else {\n const items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n\n // Continue reading\n readEntries();\n }\n }, (err: any) => {\n reject(err);\n });\n }\n\n readEntries();\n });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nasync function fromFileEntry(entry: any) {\n return new Promise<FileWithPath>((resolve, reject) => {\n entry.file((file: FileWithPath) => {\n const fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, (err: any) => {\n reject(err);\n });\n });\n}\n\n// Infinite type recursion\n// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540\ninterface FileArray extends Array<FileValue> {}\ntype FileValue = FileWithPath\n | FileArray[];\n","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport accepts from \"attr-accept\"; // Error codes\n\nexport var FILE_INVALID_TYPE = \"file-invalid-type\";\nexport var FILE_TOO_LARGE = \"file-too-large\";\nexport var FILE_TOO_SMALL = \"file-too-small\";\nexport var TOO_MANY_FILES = \"too-many-files\";\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n}; // File Errors\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {\n accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;\n var messageSuffix = Array.isArray(accept) ? \"one of \".concat(accept.join(\", \")) : accept;\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(messageSuffix)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" \").concat(maxSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" \").concat(minSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: \"Too many files\"\n}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n// that MIME type will always be accepted\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === \"application/x-moz-file\" || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n/**\n *\n * @param {object} options\n * @param {File[]} options.files\n * @param {string|string[]} [options.accept]\n * @param {number} [options.minSize]\n * @param {number} [options.maxSize]\n * @param {boolean} [options.multiple]\n * @param {number} [options.maxFiles]\n * @param {(f: File) => FileError|FileError[]|null} [options.validator]\n * @returns\n */\n\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles,\n validator = _ref.validator;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n var customErrors = validator ? validator(file) : null;\n return accepted && sizeMatch && !customErrors;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === \"function\") {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== \"undefined\") {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === \"object\" && item !== null && item.kind === \"file\";\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf(\"MSIE\") !== -1 || userAgent.indexOf(\"Trident/\") !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf(\"Edge/\") !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}\n/**\n * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)\n * is supported by the browser.\n * @returns {boolean}\n */\n\nexport function canUseFileSystemAccessAPI() {\n return \"showOpenFilePicker\" in window;\n}\n/**\n * Convert the `{accept}` dropzone prop to the\n * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n *\n * @param {AcceptProp} accept\n * @returns {{accept: string[]}[]}\n */\n\nexport function pickerOptionsFromAccept(accept) {\n if (isDefined(accept)) {\n var acceptForPicker = Object.entries(accept).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n mimeType = _ref3[0],\n ext = _ref3[1];\n\n var ok = true;\n\n if (!isMIMEType(mimeType)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.\"));\n ok = false;\n }\n\n if (!Array.isArray(ext) || !ext.every(isExt)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because an invalid file extension was provided.\"));\n ok = false;\n }\n\n return ok;\n }).reduce(function (agg, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n mimeType = _ref5[0],\n ext = _ref5[1];\n\n return _objectSpread(_objectSpread({}, agg), {}, _defineProperty({}, mimeType, ext));\n }, {});\n return [{\n // description is required due to https://crbug.com/1264708\n description: \"Files\",\n accept: acceptForPicker\n }];\n }\n\n return accept;\n}\n/**\n * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\n * @param {AcceptProp} accept\n * @returns {string}\n */\n\nexport function acceptPropAsAcceptAttr(accept) {\n if (isDefined(accept)) {\n return Object.entries(accept).reduce(function (a, _ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n mimeType = _ref7[0],\n ext = _ref7[1];\n\n return [].concat(_toConsumableArray(a), [mimeType], _toConsumableArray(ext));\n }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these\n .filter(function (v) {\n return isMIMEType(v) || isExt(v);\n }).join(\",\");\n }\n\n return undefined;\n}\n/**\n * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is an abort exception.\n */\n\nexport function isAbort(v) {\n return v instanceof DOMException && (v.name === \"AbortError\" || v.code === v.ABORT_ERR);\n}\n/**\n * Check if v is a security error.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is a security error.\n */\n\nexport function isSecurityError(v) {\n return v instanceof DOMException && (v.name === \"SecurityError\" || v.code === v.SECURITY_ERR);\n}\n/**\n * Check if v is a MIME type string.\n *\n * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.\n *\n * @param {string} v\n */\n\nexport function isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\n/**\n * Check if v is a file extension.\n * @param {string} v\n */\n\nexport function isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\n/**\n * @typedef {Object.<string, string[]>} AcceptProp\n */\n\n/**\n * @typedef {object} FileError\n * @property {string} message\n * @property {ErrorCode|string} code\n */\n\n/**\n * @typedef {\"file-invalid-type\"|\"file-too-large\"|\"file-too-small\"|\"too-many-files\"} ErrorCode\n */","var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"role\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fromEvent } from \"file-selector\";\nimport { acceptPropAsAcceptAttr, allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, canUseFileSystemAccessAPI, isAbort, isEvtWithFiles, isIeOrEdge, isPropagationStopped, isSecurityError, onDocumentDragOver, pickerOptionsFromAccept, TOO_MANY_FILES_REJECTION } from \"./utils/index\";\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * <Dropzone>\n * {({getRootProps, getInputProps}) => (\n * <div {...getRootProps()}>\n * <input {...getInputProps()} />\n * <p>Drag 'n' drop some files here, or click to select files</p>\n * </div>\n * )}\n * </Dropzone>\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = \"Dropzone\"; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null,\n useFsAccessApi: true,\n autoFocus: false\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `<input type=\"file\">` click event.\n */\n useFsAccessApi: PropTypes.bool,\n\n /**\n * Set to true to focus the root element on render\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Cb for when there's some error from any of the promises.\n *\n * @param {Error} error\n */\n onError: PropTypes.func,\n\n /**\n * Custom validation function. It must return null if there's no errors.\n * @param {File} file\n * @returns {FileError|FileError[]|null}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise<File[]>)}\n */\n\n/**\n * An object with the current dropzone state.\n *\n * @typedef {object} DropzoneState\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\n/**\n * An object with the dropzone methods.\n *\n * @typedef {object} DropzoneMethods\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n * <div {...getRootProps()}>\n * <input {...getInputProps()} />\n * <p>Drag and drop some files here, or click to select files</p>\n * </div>\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {import(\"./utils\").AcceptProp} [props.accept] Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `<input type=\"file\">` click event.\n * @param {boolean} autoFocus Set to true to auto focus the root element.\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n * @param {(error: Error) => void} [props.onError]\n *\n * @returns {DropzoneState & DropzoneMethods}\n */\n\nexport function useDropzone() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n accept = _defaultProps$props.accept,\n disabled = _defaultProps$props.disabled,\n getFilesFromEvent = _defaultProps$props.getFilesFromEvent,\n maxSize = _defaultProps$props.maxSize,\n minSize = _defaultProps$props.minSize,\n multiple = _defaultProps$props.multiple,\n maxFiles = _defaultProps$props.maxFiles,\n onDragEnter = _defaultProps$props.onDragEnter,\n onDragLeave = _defaultProps$props.onDragLeave,\n onDragOver = _defaultProps$props.onDragOver,\n onDrop = _defaultProps$props.onDrop,\n onDropAccepted = _defaultProps$props.onDropAccepted,\n onDropRejected = _defaultProps$props.onDropRejected,\n onFileDialogCancel = _defaultProps$props.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$props.onFileDialogOpen,\n useFsAccessApi = _defaultProps$props.useFsAccessApi,\n autoFocus = _defaultProps$props.autoFocus,\n preventDropOnDocument = _defaultProps$props.preventDropOnDocument,\n noClick = _defaultProps$props.noClick,\n noKeyboard = _defaultProps$props.noKeyboard,\n noDrag = _defaultProps$props.noDrag,\n noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,\n onError = _defaultProps$props.onError,\n validator = _defaultProps$props.validator;\n\n var acceptAttr = useMemo(function () {\n return acceptPropAsAcceptAttr(accept);\n }, [accept]);\n var pickerTypes = useMemo(function () {\n return pickerOptionsFromAccept(accept);\n }, [accept]);\n var onFileDialogOpenCb = useMemo(function () {\n return typeof onFileDialogOpen === \"function\" ? onFileDialogOpen : noop;\n }, [onFileDialogOpen]);\n var onFileDialogCancelCb = useMemo(function () {\n return typeof onFileDialogCancel === \"function\" ? onFileDialogCancel : noop;\n }, [onFileDialogCancel]);\n /**\n * @constant\n * @type {React.MutableRefObject<HTMLElement>}\n */\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive;\n var fsAccessApiWorksRef = useRef(typeof window !== \"undefined\" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (!fsAccessApiWorksRef.current && isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: \"closeDialog\"\n });\n onFileDialogCancelCb();\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener(\"focus\", onWindowFocus, false);\n return function () {\n window.removeEventListener(\"focus\", onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener(\"dragover\", onDocumentDragOver, false);\n document.addEventListener(\"drop\", onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener(\"dragover\", onDocumentDragOver);\n document.removeEventListener(\"drop\", onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true\n\n useEffect(function () {\n if (!disabled && autoFocus && rootRef.current) {\n rootRef.current.focus();\n }\n\n return function () {};\n }, [rootRef, autoFocus, disabled]);\n var onErrCb = useCallback(function (e) {\n if (onError) {\n onError(e);\n } else {\n // Let the user know something's gone wrong if they haven't provided the onError cb.\n console.error(e);\n }\n }, [onError]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var fileCount = files.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: files,\n accept: acceptAttr,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles,\n validator: validator\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n dispatch({\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isDragActive: true,\n type: \"setDraggedFiles\"\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n type: \"setDraggedFiles\",\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var setFiles = useCallback(function (files, event) {\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, acceptAttr),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n type: \"setFiles\"\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n setFiles(files, event);\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n\n dispatch({\n type: \"reset\"\n });\n }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n // No point to use FS access APIs if context is not secure\n // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection\n if (fsAccessApiWorksRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n\n var opts = {\n multiple: multiple,\n types: pickerTypes\n };\n window.showOpenFilePicker(opts).then(function (handles) {\n return getFilesFromEvent(handles);\n }).then(function (files) {\n setFiles(files, null);\n dispatch({\n type: \"closeDialog\"\n });\n }).catch(function (e) {\n // AbortError means the user canceled\n if (isAbort(e)) {\n onFileDialogCancelCb(e);\n dispatch({\n type: \"closeDialog\"\n });\n } else if (isSecurityError(e)) {\n fsAccessApiWorksRef.current = false; // CORS, so cannot use this API\n // Try using the input\n\n if (inputRef.current) {\n inputRef.current.value = null;\n inputRef.current.click();\n } else {\n onErrCb(new Error(\"Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided.\"));\n }\n } else {\n onErrCb(e);\n }\n });\n return;\n }\n\n if (inputRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb();\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.key === \" \" || event.key === \"Enter\" || event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: \"focus\"\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: \"blur\"\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [noClick, openFileDialog]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? \"ref\" : _ref2$refKey,\n role = _ref2.role,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),\n role: typeof role === \"string\" && role !== \"\" ? role : \"presentation\"\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? \"ref\" : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: acceptAttr,\n multiple: multiple,\n type: \"file\",\n style: {\n display: \"none\"\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n/**\n * @param {DropzoneState} state\n * @param {{type: string} & DropzoneState} action\n * @returns {DropzoneState}\n */\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case \"focus\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case \"blur\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case \"openDialog\":\n return _objectSpread(_objectSpread({}, initialState), {}, {\n isFileDialogActive: true\n });\n\n case \"closeDialog\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case \"setDraggedFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragActive: action.isDragActive,\n isDragAccept: action.isDragAccept,\n isDragReject: action.isDragReject\n });\n\n case \"setFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections\n });\n\n case \"reset\":\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nfunction noop() {}\n\nexport { ErrorCode } from \"./utils\";"],"names":["d","exports","file","acceptedFiles","acceptedFilesArray","Array","isArray","split","fileName","name","mimeType","type","toLowerCase","baseMimeType","replace","some","validType","trim","charAt","endsWith","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","module","shim","props","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","COMMON_MIME_TYPES","Map","toFileWithPath","path","f","lastIndexOf","ext","pop","get","Object","defineProperty","value","writable","configurable","enumerable","withMimeType","webkitRelativePath","length","FILES_TO_IGNORE","isObject","v","getInputFiles","evt","fromList","target","files","map","getFsHandleFiles","handles","Promise","all","h","getFile","getDataTransferFiles","dt","items","filter","item","kind","toFilePromises","noIgnoredFiles","flatten","indexOf","i","push","webkitGetAsEntry","fromDataTransferItem","entry","isDirectory","fromDirEntry","reduce","acc","getAsFile","reject","fwp","resolve","fromEntry","fromFileEntry","reader","createReader","entries","readEntries","batch","fullPath","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","from","_iterableToArray","_unsupportedIterableToArray","TypeError","_nonIterableSpread","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","apply","_objectSpread","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_slicedToArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","call","next","done","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","prototype","toString","slice","constructor","test","len","arr2","getInvalidTypeRejectionErr","accept","messageSuffix","concat","join","code","message","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","minSize","TOO_MANY_FILES_REJECTION","fileAccepted","isAcceptable","fileMatchSize","isDefined","size","isPropagationStopped","event","cancelBubble","isEvtWithFiles","dataTransfer","types","onDocumentDragOver","preventDefault","composeEventHandlers","_len","fns","_key","_len2","args","_key2","fn","isMIMEType","isExt","_excluded","_excluded2","_excluded3","_excluded4","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","Dropzone","forwardRef","_ref","ref","children","_useDropzone","useDropzone","open","useImperativeHandle","Fragment","displayName","defaultProps","disabled","getFilesFromEvent","every","Infinity","multiple","maxFiles","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","validator","useFsAccessApi","autoFocus","propTypes","onFileDialogCancel","onFileDialogOpen","onDragEnter","onDragLeave","onDragOver","onDrop","onDropAccepted","onDropRejected","onError","initialState","isFocused","isFileDialogActive","isDragActive","isDragAccept","isDragReject","fileRejections","undefined","_defaultProps$props","acceptAttr","useMemo","a","_ref6","_ref7","acceptPropAsAcceptAttr","pickerTypes","description","_ref2","_ref3","ok","console","warn","agg","_ref4","_ref5","pickerOptionsFromAccept","onFileDialogOpenCb","noop","onFileDialogCancelCb","rootRef","useRef","inputRef","_useReducer2","useReducer","reducer","state","dispatch","fsAccessApiWorksRef","window","isSecureContext","onWindowFocus","current","setTimeout","useEffect","addEventListener","removeEventListener","dragTargetsRef","onDocumentDrop","contains","document","focus","onErrCb","useCallback","e","error","onDragEnterCb","persist","stopPropagation","then","fileCount","accepted","sizeMatch","customErrors","allFilesAccepted","catch","onDragOverCb","hasFiles","dropEffect","_unused","onDragLeaveCb","targets","targetIdx","splice","setFiles","_fileAccepted2","acceptError","_fileMatchSize2","sizeError","errors","onDropCb","openFileDialog","opts","showOpenFilePicker","DOMException","ABORT_ERR","SECURITY_ERR","isSecurityError","click","onKeyDownCb","isEqualNode","keyCode","onFocusCb","onBlurCb","onClickCb","userAgent","navigator","isIe","isEdge","isIeOrEdge","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","_ref2$refKey","refKey","role","onKeyDown","onFocus","onBlur","onClick","rest","tabIndex","onInputElementClick","getInputProps","_ref3$refKey","onChange","style","display","action"],"sourceRoot":""} |