{"version":3,"file":"static/js/9293.2e87d73c.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/node_modules/@mui/system/esm/createBox.js","../node_modules/@mui/material/Box/boxClasses.js","../node_modules/@mui/material/Box/Box.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","../node_modules/attr-accept/dist/es/index.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","../node_modules/react-icons/md/index.esm.js"],"sourcesContent":["'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from './styleFunctionSx';\nimport useTheme from './useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const _extendSxProp = extendSxProp(inProps),\n {\n className,\n component = 'div'\n } = _extendSxProp,\n other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded);\n return /*#__PURE__*/_jsx(BoxRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme\n }, other));\n });\n return Box;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nconst boxClasses = generateUtilityClasses('MuiBox', ['root']);\nexport default boxClasses;","'use client';\n\nimport { createBox } from '@mui/system';\nimport PropTypes from 'prop-types';\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '../className';\nimport { createTheme } from '../styles';\nimport THEME_ID from '../styles/identifier';\nimport boxClasses from './boxClasses';\nconst defaultTheme = createTheme();\nconst Box = createBox({\n themeId: THEME_ID,\n defaultTheme,\n defaultClassName: boxClasses.root,\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Box;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupButtonContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupButtonContext.displayName = 'ButtonGroupButtonContext';\n}\nexport default ButtonGroupButtonContext;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupContext.displayName = 'ButtonGroupContext';\n}\nexport default ButtonGroupContext;","\"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};","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 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(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(value) && isObject(value.target);\n}\n\nfunction isObject(v: any): v is T {\n return typeof v === 'object' && v !== null\n}\n\nfunction getInputFiles(evt: Event) {\n return fromList((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(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(files));\n }\n\n return noIgnoredFiles(fromList(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(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(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((resolve, reject) => {\n const entries: Promise[] = [];\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((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 {}\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.} 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 * \n * {({getRootProps, getInputProps}) => (\n *
\n * \n *
Drag 'n' drop some files here, or click to select files
\n *
\n * )}\n * \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 `` 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)}\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 *
\n * \n *
Drag and drop some files here, or click to select files