@adyen/bento-vue2 1.78.0 → 1.78.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/accordion-item.css +1 -1
- package/dist/assets/action-bar.css +1 -1
- package/dist/assets/base-modal.css +1 -1
- package/dist/assets/button-actions.css +1 -1
- package/dist/assets/card.css +1 -1
- package/dist/assets/data-grid.css +1 -1
- package/dist/assets/dialog-page.css +1 -1
- package/dist/assets/file-uploader.css +1 -1
- package/dist/assets/inspector.css +1 -1
- package/dist/assets/modal-fullscreen.css +1 -1
- package/dist/assets/sidepanel.css +1 -1
- package/dist/checkbox.js +2 -2
- package/dist/chunks/{checkbox-group.HqNbZx2y.js → checkbox-group.tm9zLXkK.js} +2 -2
- package/dist/chunks/{checkbox-group.HqNbZx2y.js.map → checkbox-group.tm9zLXkK.js.map} +1 -1
- package/dist/chunks/{checkbox.CqF5Dank.js → checkbox.itbBlXev.js} +18 -18
- package/dist/chunks/{checkbox.CqF5Dank.js.map → checkbox.itbBlXev.js.map} +1 -1
- package/dist/chunks/{code-snippet.BEbA1bIn.js → code-snippet.trioWquF.js} +2 -2
- package/dist/chunks/{code-snippet.BEbA1bIn.js.map → code-snippet.trioWquF.js.map} +1 -1
- package/dist/chunks/{data-grid.BhwTkhfk.js → data-grid.CS7Q8EWs.js} +6 -6
- package/dist/chunks/{data-grid.BhwTkhfk.js.map → data-grid.CS7Q8EWs.js.map} +1 -1
- package/dist/chunks/{date-picker.CKaQJcPa.js → date-picker.DK-ndVN9.js} +2 -2
- package/dist/chunks/{date-picker.CKaQJcPa.js.map → date-picker.DK-ndVN9.js.map} +1 -1
- package/dist/chunks/{date-range-picker.CmKA76Yu.js → date-range-picker.BkZBhOfu.js} +4 -4
- package/dist/chunks/{date-range-picker.CmKA76Yu.js.map → date-range-picker.BkZBhOfu.js.map} +1 -1
- package/dist/chunks/{dropdown-tag.BXMgDH3v.js → dropdown-tag.DUP4wYAW.js} +3 -3
- package/dist/chunks/{dropdown-tag.BXMgDH3v.js.map → dropdown-tag.DUP4wYAW.js.map} +1 -1
- package/dist/chunks/{dropdown.-3x2IBDg.js → dropdown.BiA1YOYJ.js} +2 -2
- package/dist/chunks/{dropdown.-3x2IBDg.js.map → dropdown.BiA1YOYJ.js.map} +1 -1
- package/dist/chunks/{file-uploader.BkTtqgvQ.js → file-uploader.DsvADlNb.js} +2 -2
- package/dist/chunks/{file-uploader.BkTtqgvQ.js.map → file-uploader.DsvADlNb.js.map} +1 -1
- package/dist/chunks/{filter-bar.Bj4LgjzJ.js → filter-bar.F5drAPol.js} +412 -397
- package/dist/chunks/filter-bar.F5drAPol.js.map +1 -0
- package/dist/chunks/form-field.D_2g7vaP.js +10 -0
- package/dist/chunks/{form-field.BBqLu-vs.js.map → form-field.D_2g7vaP.js.map} +1 -1
- package/dist/chunks/{header-with-views.D6JUlnEf.js → header-with-views.CG5FKoC1.js} +3 -3
- package/dist/chunks/{header-with-views.D6JUlnEf.js.map → header-with-views.CG5FKoC1.js.map} +1 -1
- package/dist/chunks/{input-field-password.sthICA2L.js → input-field-password.FvLueqmb.js} +3 -3
- package/dist/chunks/{input-field-password.sthICA2L.js.map → input-field-password.FvLueqmb.js.map} +1 -1
- package/dist/chunks/{input-field-phone-number.BjinuvOl.js → input-field-phone-number.B-dlJc27.js} +3 -3
- package/dist/chunks/{input-field-phone-number.BjinuvOl.js.map → input-field-phone-number.B-dlJc27.js.map} +1 -1
- package/dist/chunks/{input-field.CwKD3p3q.js → input-field.B1MHu987.js} +2 -2
- package/dist/chunks/{input-field.CwKD3p3q.js.map → input-field.B1MHu987.js.map} +1 -1
- package/dist/chunks/{pagination.BzyyZJy6.js → pagination.D1C0cURM.js} +2 -2
- package/dist/chunks/{pagination.BzyyZJy6.js.map → pagination.D1C0cURM.js.map} +1 -1
- package/dist/chunks/{radio-group.0JNwgkZa.js → radio-group.DmKiTjS8.js} +2 -2
- package/dist/chunks/{radio-group.0JNwgkZa.js.map → radio-group.DmKiTjS8.js.map} +1 -1
- package/dist/chunks/{rich-text-editor.NFLhgVJo.js → rich-text-editor.DzH-Z5oi.js} +2 -2
- package/dist/chunks/{rich-text-editor.NFLhgVJo.js.map → rich-text-editor.DzH-Z5oi.js.map} +1 -1
- package/dist/chunks/{search-bar.CgzPXP8r.js → search-bar.Cvw_nY5M.js} +3 -3
- package/dist/chunks/{search-bar.CgzPXP8r.js.map → search-bar.Cvw_nY5M.js.map} +1 -1
- package/dist/chunks/{secondary-nav.3eZKyb8K.js → secondary-nav.CUF6QWjI.js} +2 -2
- package/dist/chunks/{secondary-nav.3eZKyb8K.js.map → secondary-nav.CUF6QWjI.js.map} +1 -1
- package/dist/chunks/{selection-card-group.u-2Y_9o2.js → selection-card-group.Ddli4Llk.js} +9 -9
- package/dist/chunks/{selection-card-group.u-2Y_9o2.js.map → selection-card-group.Ddli4Llk.js.map} +1 -1
- package/dist/chunks/{textarea.h-WF62HP.js → textarea.CLWZRnAt.js} +2 -2
- package/dist/chunks/{textarea.h-WF62HP.js.map → textarea.CLWZRnAt.js.map} +1 -1
- package/dist/chunks/{timeline-item.BLhS7uNF.js → timeline-item.HbtUj1j_.js} +2 -2
- package/dist/chunks/{timeline-item.BLhS7uNF.js.map → timeline-item.HbtUj1j_.js.map} +1 -1
- package/dist/code-snippet.js +1 -1
- package/dist/data-grid.js +1 -1
- package/dist/date-picker.js +1 -1
- package/dist/date-range-picker.js +1 -1
- package/dist/dropdown.js +2 -2
- package/dist/file-uploader.js +1 -1
- package/dist/filter-bar.js +1 -1
- package/dist/header-with-views.js +1 -1
- package/dist/index.js +22 -22
- package/dist/input-field-password.js +1 -1
- package/dist/input-field-phone-number.js +1 -1
- package/dist/input-field.js +1 -1
- package/dist/pagination.js +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/rich-text-editor.js +1 -1
- package/dist/search-bar.js +2 -2
- package/dist/secondary-nav.js +1 -1
- package/dist/selection-card.js +1 -1
- package/dist/textarea.js +1 -1
- package/dist/timeline.js +1 -1
- package/dist/web-types.json +1 -1
- package/package.json +2 -2
- package/dist/chunks/filter-bar.Bj4LgjzJ.js.map +0 -1
- package/dist/chunks/form-field.BBqLu-vs.js +0 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploader.BkTtqgvQ.js","sources":["../../../ui-assets/icons-16/dist/vue/upload.vue","../../src/components/file-uploader/components/file-uploader-file-card/composables/use-truncated-file-name.ts","../../src/components/file-uploader/utils/format-file-size/format-file-size.ts","../../src/components/file-uploader/file-uploader.types.ts","../../src/components/file-uploader/utils/get-file-type/get-file-type.ts","../../src/components/file-uploader/utils/read-file/read-file.ts","../../../ui-assets/icons-16/dist/vue/attachment.vue","../../../ui-assets/icons-16/dist/vue/collection.vue","../../../ui-assets/icons-16/dist/vue/document-1.vue","../../../ui-assets/icons-16/dist/vue/document-lines.vue","../../../ui-assets/icons-16/dist/vue/folder.vue","../../../ui-assets/icons-16/dist/vue/image.vue","../../../ui-assets/icons-16/dist/vue/play-circle.vue","../../../ui-assets/icons-16/dist/vue/sound.vue","../../../ui-assets/icons-16/dist/vue/table.vue","../../src/components/file-uploader/components/file-uploader-file-card/utils/get-file-icon/get-file-icon.ts","../../src/components/file-uploader/components/file-uploader-file-card/utils/get-file-icon-color/get-file-icon-color.ts","../../src/components/file-uploader/components/file-uploader-file-card/file-uploader-file-card.vue","../../src/components/file-uploader/components/file-uploader-restrictions/file-uploader-restrictions.vue","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/types/other.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/types/standard.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/Mime.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/index.js","../../src/components/file-uploader/composables/use-file-type-list/use-file-type-list.ts","../../src/components/file-uploader/composables/use-drag-drop-state/use-drag-drop-state.ts","../../src/components/file-uploader/file-uploader.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.75 12C2.75 12.6904 3.30964 13.25 4 13.25H12C12.6904 13.25 13.25 12.6904 13.25 12V10.25H14.75V12C14.75 13.5188 13.5188 14.75 12 14.75H4C2.48122 14.75 1.25 13.5188 1.25 12V10.25H2.75V12Z\"/><path fill=\"#001222\" d=\"M12.0605 5L11 6.06055L8.75 3.81055V11.75H7.25V3.81055L5 6.06055L3.93945 5L8 0.939453L12.0605 5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import { type VueInstance } from '@/types/elements';\nimport { onMounted, onUnmounted, ref, type Ref } from 'vue';\n\n/**\n * Verifies if the content defined is being truncated when it is overflowing the container.\n *\n * @param target Element that contains the text to be truncated\n * @param container Scrollable container that defines the boundaries\n * @returns Boolean indicating whether or not the content will be truncated\n */\nexport function useTruncatedFileName(target: Ref<VueInstance>, container: Ref<HTMLElement>) {\n const isContainerTruncating = ref<boolean>(false);\n let observer: IntersectionObserver;\n\n function disconnectObserver() {\n if (observer) {\n observer.disconnect();\n }\n }\n\n onUnmounted(() => {\n disconnectObserver();\n });\n\n onMounted(() => {\n disconnectObserver();\n\n observer = new IntersectionObserver(\n entries => {\n isContainerTruncating.value = !entries[0].isIntersecting;\n },\n {\n root: container.value,\n threshold: 1.0,\n }\n );\n\n observer.observe(target.value.$el);\n });\n\n return isContainerTruncating;\n}\n","const UNITS = ['byte', 'kilobyte', 'megabyte', 'gigabyte', 'terabyte', 'petabyte'];\n\n/**\n * Converts size in bytes to a human readable format using Binary Prefixes IEC standard\n * For example, it transforms \"1024\" to \"1kB\"\n *\n * Source: https://physics.nist.gov/cuu/Units/binary.html\n *\n * @param locale App's set locale (e.g. en, es, pt-BR)\n * @param size Size of file in bytes\n * @returns Size of file using metrics\n */\nexport function formatFileSize(locale: string, size: number) {\n const unitIndex = Math.max(0, Math.min(Math.floor(Math.log(size) / Math.log(1024)), UNITS.length - 1));\n\n return Intl.NumberFormat(locale, {\n style: 'unit',\n unit: UNITS[unitIndex],\n }).format(size / 1024 ** unitIndex);\n}\n","export type BentoFileUploaderValue = string | Array<string> | File | Array<File> | FileList;\nexport interface BentoFileUploaderProps {\n /**\n * A string that defines the file types the file input should accept.\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept\n */\n accept?: HTMLInputElement['accept'];\n\n /**\n * Reduces the size of the uploader area.\n */\n condensed?: boolean;\n\n /**\n * Descriptive supporting text visbile underneath the label.\n */\n description?: string;\n\n /**\n * Disable the radio button (optional).\n */\n disabled?: boolean;\n\n /**\n * Renders file-uploader with an error state and the error message beneath the input box\n */\n errorMessage?: string;\n\n /**\n * The label of the component.\n */\n label: string;\n\n /**\n * Sets a maximum file count. Allows for uploading multiple files.\n */\n maxCount?: number;\n\n /**\n * Sets a maximum image size (for image file types only).\n */\n maxDimensions?: { width?: number; height?: number };\n\n /**\n * Sets a maximum file size in Bytes\n */\n maxSize?: number;\n\n /**\n * Used to support `v-model`. Can be used to set value of FileUploader if FileList\n */\n modelValue?: BentoFileUploaderValue;\n\n /**\n * Sets the field as optional.\n */\n optional?: boolean;\n\n /**\n * Sets the field as required.\n */\n required?: boolean;\n\n /**\n * Adds a info icon next to the label to display the passed tooltip message.\n */\n tooltipText?: string;\n}\n\n/**\n * Private types\n */\nexport enum FileState {\n LOADING = 'loading',\n SUCCESS = 'success',\n ERROR = 'error',\n}\n\nexport enum FileErrorType {\n ERROR_SIZE = 'error-size',\n ERROR_LOAD = 'error-load',\n ERROR_DIMENSIONS = 'error-dimensions',\n ERROR_TYPE = 'error-type',\n}\n\nexport enum FileUploaderState {\n DISABLED = 'disabled',\n DRAG_OVER = 'drag-over',\n ERROR = 'error',\n READONLY = 'readonly',\n}\n\nexport enum FileType {\n TABLE = 'table',\n IMAGE = 'image',\n VIDEO = 'video',\n AUDIO = 'audio',\n TEXT = 'text',\n PDF = 'pdf',\n SLIDES = 'slides',\n COMPRESSED = 'compressed',\n GENERIC = 'generic',\n}\n\nexport interface FileObject {\n id: string;\n data: File;\n state: FileState;\n errors: Array<FileErrorType>;\n type: FileType;\n progress: number | null;\n dimensions?: { width: number; height: number };\n}\n\nexport type SupportedFileTypes = string;\n","import { FileType } from '@/components/file-uploader/file-uploader.types';\n\nconst textFileExtraTypes = [\n 'application/msword', // .doc\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // .docx\n 'application/rtf', // .rtf\n];\n\nconst tableFileTypes = [\n 'application/vnd.ms-excel', // .xls\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', // .xlsx\n 'application/vnd.oasis.opendocument.spreadsheet', //.ods\n 'application/vnd.apple.numbers', // .numbers\n 'application/x-iwork-numbers-sffnumbers', // .numbers\n 'text/csv', // .csv\n];\n\nconst slidesFileTypes = [\n 'application/vnd.ms-powerpoint', // .ppt\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation', // .pptx\n 'application/vnd.oasis.opendocument.presentation', // .odp\n];\n\nconst compressedFileTypes = [\n 'application/zip', // .zip\n 'application/vnd.rar', // .rar\n 'application/x-7z-compressed', // .7z\n 'application/gzip', // .gz, .tar.gz, .tgz\n 'application/x-tar', // .tar\n 'application/x-bzip2', // .bz2\n 'application/x-xz', // .xz\n 'application/x-lzma', // .lzma\n 'application/x-compress', // .Z\n 'application/vnd.ms-cab-compressed', // .cab\n];\n\n/**\n * Categorizes the type of a file. Maps all types of text, image, video,\n * audio and documents to an specific category such as \"text/*\" or \"image/*\" respectively\n * @param file File to be typed\n * @returns Type category of the file being uploaded\n */\nexport function getFileType(file: File) {\n if (tableFileTypes.includes(file.type)) {\n return FileType.TABLE;\n }\n\n if (file.type.startsWith('text/') || textFileExtraTypes.includes(file.type)) {\n return FileType.TEXT;\n }\n\n if (file.type.startsWith('image/')) {\n return FileType.IMAGE;\n }\n\n if (file.type.startsWith('video/')) {\n return FileType.VIDEO;\n }\n\n if (file.type.startsWith('audio/')) {\n return FileType.AUDIO;\n }\n\n if (file.type === 'application/pdf') {\n return FileType.PDF;\n }\n\n if (slidesFileTypes.includes(file.type)) {\n return FileType.SLIDES;\n }\n\n if (compressedFileTypes.includes(file.type)) {\n return FileType.COMPRESSED;\n }\n\n return FileType.GENERIC;\n}\n","import { FileErrorType, type FileObject, FileState, FileType } from '@/components/file-uploader/file-uploader.types';\n\n/**\n * Validates if a File has the correct type accepted for the current instance of\n * BentoFileUploader.\n *\n * @param file File being processed\n * @param accept HTML MIME types valid for the file to be processed\n * @returns Whether or not the file has the right type\n */\nexport function isFileTypeAccepted(file: File, accept?: string) {\n if (!accept) {\n return true;\n }\n\n // Split accept attribute into individual rules (e.g., 'image/*', '.png')\n const acceptPatterns = accept.split(',').map(type => type.trim());\n\n for (const pattern of acceptPatterns) {\n if (pattern.startsWith('.')) {\n // Check for file extension\n if (file.name.endsWith(pattern)) {\n return true;\n }\n } else if (pattern.endsWith('/*')) {\n // Check for type category (e.g., 'image/*')\n const category = pattern.split('/')[0];\n if (file.type.startsWith(category)) {\n return true;\n }\n } else {\n // Check for exact MIME type match\n if (file.type === pattern) {\n return true;\n }\n }\n }\n\n return false; // No matches found\n}\n\n/**\n * Process a file to verify if it fulfills the accepted type restrictions defined in \"accept\",\n * the dimensions for \"image/*\" types defined by \"maxDimensions\". The state of the \"fileObject\" will\n * be updated according to the restrictions or if it was successfully uploaded.\n *\n * @param fileObject File to be processed\n * @param accept HTML MIME types valid for the file to be processed\n * @param maxDimensions Width and height restrictions for \"image/*\" files\n */\nexport function readFile(\n fileObject: FileObject,\n accept?: string,\n maxDimensions?: { width?: number; height?: number }\n): void {\n const reader = new FileReader();\n // Can't be cloned because the events are async\n const file = fileObject; // avoid ESLint no-param-reassign\n\n // Verify file type - skip the rest if invalid\n if (!isFileTypeAccepted(file.data, accept)) {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_TYPE);\n return;\n }\n\n reader.onload = event => {\n if (maxDimensions && file.type === FileType.IMAGE) {\n const blob = new Blob([event.target.result], { type: file.data.type });\n const url = URL.createObjectURL(blob);\n const img = new Image();\n\n img.onload = function () {\n if (img.width > maxDimensions.width || img.height > maxDimensions.height) {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_DIMENSIONS);\n }\n URL.revokeObjectURL(url);\n };\n\n img.onerror = function () {\n URL.revokeObjectURL(url);\n };\n\n img.src = url;\n }\n };\n\n reader.onprogress = event => {\n if (event.lengthComputable) {\n file.progress = (event.loaded / event.total) * 100;\n }\n };\n\n reader.onloadend = () => {\n if (file.state !== FileState.ERROR) {\n file.state = FileState.SUCCESS;\n }\n\n file.progress = null;\n };\n\n reader.onerror = () => {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_LOAD);\n file.progress = null;\n };\n\n reader.readAsArrayBuffer(file.data);\n}\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-attachment__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M7.10655 3.02949C8.98948 1.14706 12.0441 1.14675 13.9269 3.02949C15.8095 4.91225 15.8093 7.96692 13.9269 9.84981L11.1564 12.6203L10.0958 11.5598L12.8663 8.78926C14.1629 7.49216 14.1631 5.38701 12.8663 4.09004C11.5694 2.79309 9.46424 2.79339 8.1671 4.09004L2.72667 9.53047C1.95976 10.2976 1.95963 11.5427 2.72667 12.3098C3.49372 13.0766 4.7389 13.0766 5.50597 12.3098L10.9464 6.86934C11.183 6.63224 11.1832 6.24693 10.9464 6.00996C10.7094 5.77301 10.3242 5.77331 10.087 6.00996L4.4962 11.6008L3.43565 10.5402L9.02647 4.94942C9.8494 4.12698 11.1842 4.12668 12.0069 4.94942C12.8296 5.77217 12.8293 7.107 12.0069 7.92989L6.56651 13.3703C5.21366 14.723 3.01896 14.723 1.66612 13.3703C0.313294 12.0175 0.313425 9.82283 1.66612 8.46992L7.10655 3.02949Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-attachment__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" fill-rule=\"evenodd\" d=\"M11 0.25C12.5188 0.25 13.75 1.48122 13.75 3V7C13.75 7.85389 13.3607 8.6167 12.75 9.12109V10C12.75 10.8539 12.3607 11.6167 11.75 12.1211V13C11.75 14.5188 10.5188 15.75 9 15.75H7C5.48122 15.75 4.25 14.5188 4.25 13V12.1211C3.63934 11.6167 3.25 10.8539 3.25 10V9.12109C2.63934 8.6167 2.25 7.85389 2.25 7V3C2.25 1.48122 3.48122 0.25 5 0.25H11ZM10 12.75H6C5.91565 12.75 5.83241 12.7438 5.75 12.7363V13C5.75 13.6904 6.30964 14.25 7 14.25H9C9.69036 14.25 10.25 13.6904 10.25 13V12.7363C10.1676 12.7438 10.0843 12.75 10 12.75ZM11 9.75H5C4.91565 9.75 4.83241 9.74376 4.75 9.73633V10C4.75 10.6904 5.30964 11.25 6 11.25H10C10.6904 11.25 11.25 10.6904 11.25 10V9.73633C11.1676 9.74376 11.0843 9.75 11 9.75ZM5 1.75C4.30964 1.75 3.75 2.30964 3.75 3V7C3.75 7.69036 4.30964 8.25 5 8.25H11C11.6904 8.25 12.25 7.69036 12.25 7V3C12.25 2.30964 11.6904 1.75 11 1.75H5Z\" clip-rule=\"evenodd\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.25 0.25V15.75H13.75V4.68934L9.31066 0.25H2.25ZM7.25 1.75V6.75H12.25V14.25H3.75V1.75H7.25ZM12.1893 5.25H8.75V1.81066L12.1893 5.25Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.24609 8.25H10.7461V9.75H5.24609V8.25Z\"/><path fill=\"#001222\" d=\"M10.7461 11.25H5.24609V12.75H10.7461V11.25Z\"/><path fill=\"#001222\" d=\"M2.24609 0.25V15.75H13.7461V4.68934L9.30675 0.25H2.24609ZM7.24609 1.75V6.75H12.2461V14.25H3.74609V1.75H7.24609ZM12.1854 5.25H8.74609V1.81066L12.1854 5.25Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M1.24609 12V5C1.24609 3.48579 2.48188 2.25 3.99609 2.25H7.30664L10.3066 5.25H11.9961C13.5103 5.25 14.7461 6.48579 14.7461 8V12C14.7461 13.5142 13.5103 14.75 11.9961 14.75H3.99609C2.48188 14.75 1.24609 13.5142 1.24609 12ZM2.74609 12C2.74609 12.6858 3.31031 13.25 3.99609 13.25H11.9961C12.6819 13.25 13.2461 12.6858 13.2461 12V8C13.2461 7.31421 12.6819 6.75 11.9961 6.75H9.68555L6.68555 3.75H3.99609C3.31031 3.75 2.74609 4.31421 2.74609 5V12Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M9.74609 3.74805C11.1268 3.74805 12.2461 4.86733 12.2461 6.24805C12.2461 7.62876 11.1268 8.74805 9.74609 8.74805C8.36538 8.74805 7.24609 7.62876 7.24609 6.24805C7.24609 4.86733 8.36538 3.74805 9.74609 3.74805ZM9.74609 5.24805C9.19381 5.24805 8.74609 5.69576 8.74609 6.24805C8.74609 6.80033 9.19381 7.24805 9.74609 7.24805C10.2984 7.24805 10.7461 6.80033 10.7461 6.24805C10.7461 5.69576 10.2984 5.24805 9.74609 5.24805Z\"/><path fill=\"#001222\" d=\"M11.9961 1.24805C13.5149 1.24805 14.7461 2.47926 14.7461 3.99805V11.998C14.7461 13.5168 13.5149 14.748 11.9961 14.748H3.99609C2.47731 14.748 1.24609 13.5168 1.24609 11.998V3.99805C1.24609 2.47926 2.47731 1.24805 3.99609 1.24805H11.9961ZM2.74609 11.3105V11.998C2.74609 12.6884 3.30574 13.248 3.99609 13.248H9.18359L4.99609 9.06055L2.74609 11.3105ZM3.99609 2.74805C3.30574 2.74805 2.74609 3.30769 2.74609 3.99805V9.18945L4.99609 6.93945L11.3047 13.248H11.9961C12.6864 13.248 13.2461 12.6884 13.2461 11.998V3.99805C13.2461 3.30769 12.6865 2.74805 11.9961 2.74805H3.99609Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-play_circle__a' + uuid + ')'\"><path d=\"M10.9722 8.00002L6.62012 5.09863V10.9014L10.9722 8.00002Z\"/><path d=\"M5.0342 0.839937C6.45033 0.253358 8.0086 0.0998821 9.51195 0.398918C11.0153 0.697953 12.3962 1.43607 13.4801 2.51993C14.5639 3.60378 15.3021 4.9847 15.6011 6.48805C15.9001 7.99141 15.7466 9.54967 15.1601 10.9658C14.5735 12.3819 13.5801 13.5923 12.3057 14.4439C11.0312 15.2955 9.53281 15.75 8 15.75C5.94457 15.75 3.97333 14.9335 2.51992 13.4801C1.06652 12.0267 0.25 10.0554 0.25 8C0.25 6.4672 0.704529 4.96881 1.55611 3.69433C2.40769 2.41985 3.61808 1.42652 5.0342 0.839937ZM9.21931 1.8701C8.00693 1.62894 6.75027 1.75271 5.60823 2.22576C4.46619 2.6988 3.49007 3.49988 2.80331 4.52769C2.11656 5.5555 1.75 6.76387 1.75 8C1.75 9.65761 2.40848 11.2473 3.58058 12.4194C4.75268 13.5915 6.3424 14.25 8 14.25C9.23613 14.25 10.4445 13.8834 11.4723 13.1967C12.5001 12.5099 13.3012 11.5338 13.7742 10.3918C14.2473 9.24974 14.3711 7.99307 14.1299 6.78069C13.8887 5.56831 13.2935 4.45466 12.4194 3.58059C11.5453 2.70651 10.4317 2.11125 9.21931 1.8701Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-play_circle__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.68934 2.25H8.75V13.75H5.68934L2.68934 10.75H0.25V5.25H2.68934L5.68934 2.25ZM6.31066 3.75L3.31066 6.75H1.75V9.25H3.31066L6.31066 12.25H7.25V3.75H6.31066Z\"/><path fill=\"#001222\" d=\"M13.0111 4.99174C12.2099 4.19982 11.1294 3.75 10 3.75V2.25C11.53 2.25 12.9888 2.85964 14.0675 3.92684L14.0703 3.92966C15.1527 5.01199 15.75 6.47347 15.75 8C15.75 9.52995 15.1404 10.9888 14.0732 12.0675L14.0703 12.0703C12.988 13.1527 11.5265 13.75 10 13.75V12.25C11.1328 12.25 12.2107 11.8079 13.0082 11.0111C13.8002 10.21 14.25 9.1294 14.25 8C14.25 6.8672 13.8079 5.78927 13.0111 4.99174Z\"/><path fill=\"#001222\" d=\"M10 6.75V5.25C10.7257 5.25 11.4295 5.53694 11.9438 6.06319C12.4593 6.58041 12.75 7.26849 12.75 8C12.75 8.72573 12.4631 9.42951 11.9368 9.94383C11.4196 10.4593 10.7315 10.75 10 10.75V9.25C10.3268 9.25 10.6373 9.12206 10.8797 8.87967L10.8868 8.87265C11.1182 8.64727 11.25 8.33261 11.25 8C11.25 7.67317 11.1221 7.36272 10.8797 7.12033L10.8726 7.11321C10.6473 6.88175 10.3326 6.75 10 6.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M12 1.25C13.5188 1.25 14.75 2.48122 14.75 4V12C14.75 13.5188 13.5188 14.75 12 14.75H4C2.48122 14.75 1.25 13.5188 1.25 12V4C1.25 2.48122 2.48122 1.25 4 1.25H12ZM6.75 13.25H12C12.6904 13.25 13.25 12.6904 13.25 12V10.75H6.75V13.25ZM2.75 12C2.75 12.6904 3.30964 13.25 4 13.25H5.25V10.75H2.75V12ZM6.75 9.25H13.25V6.75H6.75V9.25ZM2.75 9.25H5.25V6.75H2.75V9.25ZM6.75 5.25H13.25V4C13.25 3.30964 12.6904 2.75 12 2.75H6.75V5.25ZM4 2.75C3.30964 2.75 2.75 3.30964 2.75 4V5.25H5.25V2.75H4Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import { type VueNodeElement } from '@/types/elements';\nimport { type FileObject, FileType } from '@/components/file-uploader/file-uploader.types';\n\nimport AttachmentIcon from '@adyen/ui-assets-icons-16/vue/attachment';\nimport CollectionIcon from '@adyen/ui-assets-icons-16/vue/collection';\nimport DocumentIcon from '@adyen/ui-assets-icons-16/vue/document-1';\nimport DocumentLinesIcon from '@adyen/ui-assets-icons-16/vue/document-lines';\nimport FolderIcon from '@adyen/ui-assets-icons-16/vue/folder';\nimport ImageIcon from '@adyen/ui-assets-icons-16/vue/image';\nimport PlayCircleIcon from '@adyen/ui-assets-icons-16/vue/play-circle';\nimport SoundIcon from '@adyen/ui-assets-icons-16/vue/sound';\nimport TableIcon from '@adyen/ui-assets-icons-16/vue/table';\n\nconst FILE_TYPE_ICON_MAP: Record<FileType, VueNodeElement> = {\n [FileType.AUDIO]: SoundIcon,\n [FileType.COMPRESSED]: FolderIcon,\n [FileType.GENERIC]: AttachmentIcon,\n [FileType.IMAGE]: ImageIcon,\n [FileType.PDF]: DocumentIcon,\n [FileType.SLIDES]: CollectionIcon,\n [FileType.TABLE]: TableIcon,\n [FileType.TEXT]: DocumentLinesIcon,\n [FileType.VIDEO]: PlayCircleIcon,\n};\n\n/**\n * Return an icon Vue component that can be used with a given File type @see FileType\n * @param file File object containing a type\n * @returns Icon for the respective type\n */\nexport function getFileIcon(file: FileObject) {\n return FILE_TYPE_ICON_MAP[file.type];\n}\n","import { type FileObject, FileType } from '@/components/file-uploader/file-uploader.types';\n\n/**\n * Returns the color to be used for the icon of a given type.\n *\n * @param file File with a given type\n * @returns Color to be used with their respective file type\n */\nexport function getFileIconColor(file: FileObject) {\n switch (file.type) {\n case FileType.COMPRESSED:\n case FileType.GENERIC:\n return 'grey';\n case FileType.PDF:\n case FileType.SLIDES:\n return 'orange';\n case FileType.TEXT:\n return 'blue';\n default:\n return 'green';\n }\n}\n","<template>\n <div class=\"b-file-uploader-file-card\" :class=\"conditionalClasses\">\n <div class=\"b-file-uploader-file-card__details\">\n <div class=\"b-file-uploader-file-card__info\">\n <file-uploader-file-card-animation\n :name=\"\n isVue2 ? 'b-file-uploader-file-card__animation' : 'b-file-uploader-file-card__animation--vue3'\n \"\n :show-file-icon=\"showFileIcon\"\n >\n <component\n :is=\"fileUploaderIcon\"\n :key=\"JSON.stringify(fileUploaderIcon)\"\n small\n aria-hidden=\"true\"\n class=\"b-file-uploader-file-card__icon\"\n :class=\"conditionalIconClasses\"\n data-testid=\"file-uploader-item-icon\"\n />\n </file-uploader-file-card-animation>\n\n <div ref=\"fileNameContainerRef\" class=\"b-file-uploader-file-card__file-name\">\n <bento-link\n aria-hidden=\"true\"\n tabindex=\"-1\"\n :download=\"file.data.name\"\n :to=\"downloadUrl\"\n disable-typography\n is-not-routing\n variant=\"quiet\"\n >\n <bento-typography\n ref=\"fileNameRef\"\n v-bento-tooltip-directive=\"isFileNameTruncated ? file.data.name : null\"\n stronger\n el=\"span\"\n >\n {{ file.data.name }}\n </bento-typography>\n </bento-link>\n </div>\n\n <bento-typography v-if=\"file.progress\" el=\"span\">{{ progressLabel }}</bento-typography>\n <bento-typography\n v-else-if=\"file.data.size\"\n class=\"b-file-uploader-file-card__file-size\"\n aria-hidden=\"true\"\n el=\"span\"\n >\n {{ sizeLabel }}\n </bento-typography>\n </div>\n\n <div\n v-if=\"hasSizeError || hasDimensionsError || (hasTypeError && supportedFileTypes)\"\n :id=\"fileErrorsSectionId\"\n role=\"alert\"\n >\n <bento-typography v-if=\"hasSizeError\" class=\"b-file-uploader-file-card__error-message\">\n {{ t('fileExceedsSizeLimit') }}\n </bento-typography>\n <bento-typography v-if=\"hasDimensionsError\" class=\"b-file-uploader-file-card__error-message\">\n {{ t('imageDimensionsExceedLimits') }}\n </bento-typography>\n <bento-typography\n v-if=\"hasTypeError && supportedFileTypes\"\n class=\"b-file-uploader-file-card__error-message\"\n >\n {{ t('fileTypeMustBe', { list: supportedFileTypes }) }}\n </bento-typography>\n </div>\n </div>\n\n <div class=\"b-file-uploader-file-card__actions\">\n <bento-button\n v-if=\"hasLoadError\"\n ref=\"retryFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${retryFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('retry')\"\n >\n <template #iconLeft>\n <refresh-icon :id=\"retryFileButtonId\" :svg-title=\"`${t('retry')} - ${file.data.name} `\" />\n </template>\n {{ t('retry') }}\n </bento-button>\n <bento-button\n v-if=\"isLoading || hasError\"\n ref=\"cancelFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${cancelFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('cancel')\"\n >\n <template #iconLeft>\n <cross-icon :id=\"cancelFileButtonId\" :svg-title=\"`${t('cancel')} - ${file.data.name}`\" />\n </template>\n </bento-button>\n <bento-button\n v-else\n ref=\"removeFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${removeFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('remove')\"\n >\n <template #iconLeft>\n <bin-icon :id=\"removeFileButtonId\" :svg-title=\"`${t('remove')} - ${file.data.name}`\" />\n </template>\n </bento-button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, watch } from 'vue';\n import { isVue2 } from 'vue-demi';\n import { FileUploaderFileCardAnimation } from './components';\n import BinIcon from '@adyen/ui-assets-icons-16/vue/bin';\n import CheckmarkCircleFilledIcon from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import WarningFilledIcon from '@adyen/ui-assets-icons-16/vue/warning-filled';\n\n import { BentoTooltipDirective as vBentoTooltipDirective } from '@/directives';\n import { BentoButton } from '@/components/button';\n import { BentoLink } from '@/components/link';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n import { BentoTypography } from '@/components/typography';\n import { useTruncatedFileName } from './composables/use-truncated-file-name';\n import { generateUid } from '@/core/utils/ts';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { formatFileSize } from '../../utils';\n import { getFileIcon, getFileIconColor } from './utils';\n import { FileErrorType, FileState } from '@/components/file-uploader/file-uploader.types';\n import type { FileUploaderFileCardProps } from './file-uploader-file-card.types';\n import type { VueInstance } from '@/types/elements';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const ICON_TIMER = 1200;\n\n const props = defineProps({\n file: null,\n supportedFileTypes: { default: null }\n});\n\n const emit = defineEmits([\"cancel\", \"remove\", \"retry\"]);\n\n const { t, locale } = useI18n<{ message: MessageSchema }>({ messages });\n\n const removeFileButtonRef = ref(null);\n const cancelFileButtonRef = ref(null);\n const retryFileButtonRef = ref(null);\n const fileErrorsSectionId = generateUid('file-errors-section');\n const cancelFileButtonId = generateUid('cancel-file-button');\n const removeFileButtonId = generateUid('remove-file-button');\n const retryFileButtonId = generateUid('retry-file-button');\n\n // If initial state is success, immediately show file icon\n const showFileIcon = ref(props.file.state === FileState.SUCCESS);\n\n const downloadUrl = computed(() => URL.createObjectURL(props.file.data));\n const hasError = computed(() => props.file.state === FileState.ERROR);\n const hasLoadError = computed(() => props.file.errors.includes(FileErrorType.ERROR_LOAD));\n const hasSizeError = computed(() => props.file.errors.includes(FileErrorType.ERROR_SIZE));\n const hasDimensionsError = computed(() => props.file.errors.includes(FileErrorType.ERROR_DIMENSIONS));\n const hasTypeError = computed(() => props.file.errors.includes(FileErrorType.ERROR_TYPE));\n const isLoading = computed(() => props.file.state === FileState.LOADING);\n const progressLabel = computed(() => props.file.progress && `(${props.file.progress.toFixed(0)}%)`);\n const sizeLabel = computed(() => formatFileSize(locale.value, props.file.data.size));\n\n // Truncation tooltip\n const fileNameRef = ref<VueInstance>();\n const fileNameContainerRef = ref<HTMLDivElement>();\n\n const isFileNameTruncated = useTruncatedFileName(fileNameRef, fileNameContainerRef);\n\n const conditionalClasses = computed(() => ({\n 'b-file-uploader-file-card--error': hasError.value,\n }));\n\n const conditionalIconClasses = computed(() => ({\n [`b-file-uploader-file-card__icon--${getFileIconColor(props.file)}`]: showFileIcon.value,\n 'b-file-uploader-file-card__icon--error': hasError.value,\n }));\n\n // Compute the icon to be displayed\n const fileUploaderIcon = computed(() => {\n if (isLoading.value) {\n return BentoLoadingIndicator;\n }\n if (hasError.value) {\n return WarningFilledIcon;\n }\n return showFileIcon.value ? getFileIcon(props.file) : CheckmarkCircleFilledIcon;\n });\n\n // Animation when success icon turns to file icon.\n watch(\n () => props.file.state,\n value => {\n if (value === FileState.SUCCESS && !showFileIcon.value) {\n const changeTimer = setTimeout(() => {\n showFileIcon.value = true;\n clearTimeout(changeTimer);\n }, ICON_TIMER);\n }\n }\n );\n\n /**\n * Places the focus on the button element.\n */\n function focus() {\n if (retryFileButtonRef.value) {\n retryFileButtonRef.value.$el.focus();\n return;\n }\n\n if (removeFileButtonRef.value) {\n removeFileButtonRef.value.$el.focus();\n return;\n }\n\n if (cancelFileButtonRef.value) {\n cancelFileButtonRef.value.$el.focus();\n return;\n }\n }\n\n defineExpose({\n focus,\n });\n</script>\n\n<script lang=\"ts\">\n /**\n *\n * Individual file items that are listed inside \"bento-file-uploader\" that can\n * be retried, removed or cancelled as they are being uploaded.\n *\n * @example\n * import { FileUploaderFileCard, FileObject } from './';\n *\n * export default {\n * components: { FileUploaderFileCard },\n * template: `\n * <file-uploader-file-card\n * :file=\"file\"\n * supportedFileTypes=\"video files, image files\"\n * @retry=\"retryFile(file)\"\n * @cancel=\"removeFile(file)\"\n * @remove=\"removeFile(file)\"\n * />\n * `,\n * setup() {\n * const file = ref<FileObject>({\n * id: 'stub-file',\n * type: FileType.AUDIO,\n * data: new File(['blob'], 'File name'),\n * state: FileState.SUCCESS,\n * progress: 99,\n * });\n * }\n * }\n */\n export default {\n name: 'file-uploader-file-card',\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader-file-card.scss\" />\n","<template>\n <div class=\"b-file-uploader-restrictions\" :class=\"conditionalClasses\">\n <bento-typography v-if=\"supportedFileTypes\" :class=\"setRestrictionErrorClass(supportedFileTypes.error)\">\n {{ t('supportedFileTypes', { list: supportedFileTypes.value }) }}\n </bento-typography>\n <bento-typography v-if=\"maxSize\" :class=\"setRestrictionErrorClass(maxSize.error)\">\n {{ t('maxFileSize', { size: formatFileSize(locale, maxSize.value) }) }}\n </bento-typography>\n <bento-typography v-if=\"maxDimensions\" :class=\"setRestrictionErrorClass(maxDimensions.error)\">\n {{ maxDimensionsLabel }}\n </bento-typography>\n <bento-typography v-if=\"maxCount\" :class=\"setRestrictionErrorClass(maxCount.error)\">\n {{ tc('maxUpload', maxCount.value, { count: n(maxCount.value) }) }}\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { useI18n } from '@/utils/ts/i18n';\n import { formatFileSize } from '../../utils';\n import type { FileUploaderRestrictionsProps } from './file-uploader-restrictions.types';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n condensed: { default: null },\n disabled: { default: null },\n maxCount: { default: null },\n maxDimensions: { default: null },\n maxSize: { default: null },\n supportedFileTypes: { default: null }\n});\n\n const { t, tc, n, locale } = useI18n<{ message: MessageSchema }>({ messages });\n\n const conditionalClasses = computed(() => ({\n ['b-file-uploader-restrictions--condensed']: props.condensed,\n ['b-file-uploader-restrictions--disabled']: props.disabled,\n }));\n\n /**\n * Returns the error class to be set if a restriction has an error\n * @param error Indicates if the restriction has errored\n * @returns Conditional error class\n */\n function setRestrictionErrorClass(error: boolean) {\n return {\n 'b-file-uploader-restrictions--error': error,\n };\n }\n\n const maxDimensionsLabel = computed(() => {\n if (!props.maxDimensions) {\n return null;\n }\n\n const {\n value: { width, height },\n } = props.maxDimensions;\n\n if (width && height) {\n return t('maxImageDimensions', { width: n(width), height: n(height) });\n }\n if (width) {\n return t('maxImageWidth', { width: n(width) });\n }\n if (height) {\n return t('maxImageHeight', { height: n(height) });\n }\n return null;\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * List of restrictions defined for \"bento-file-uploader\".\n *\n * @example\n * import { FileUploaderRestrictions } from './';\n *\n * export default {\n * components: { FileUploaderRestrictions },\n * template: `\n * <file-uploader-restrictions\n * :maxCount=\"1\"\n * :maxSize=\"5000\"\n * :maxDimensions=\"{ width: 100, height: 200 }\"\n * supportedFileTypes=\"audio/*,.pdf,.jpg\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader-restrictions.scss\" />\n","const types = {\n 'application/prs.cww': ['cww'],\n 'application/prs.xsf+xml': ['xsf'],\n 'application/vnd.1000minds.decision-model+xml': ['1km'],\n 'application/vnd.3gpp.pic-bw-large': ['plb'],\n 'application/vnd.3gpp.pic-bw-small': ['psb'],\n 'application/vnd.3gpp.pic-bw-var': ['pvb'],\n 'application/vnd.3gpp2.tcap': ['tcap'],\n 'application/vnd.3m.post-it-notes': ['pwn'],\n 'application/vnd.accpac.simply.aso': ['aso'],\n 'application/vnd.accpac.simply.imp': ['imp'],\n 'application/vnd.acucobol': ['acu'],\n 'application/vnd.acucorp': ['atc', 'acutc'],\n 'application/vnd.adobe.air-application-installer-package+zip': ['air'],\n 'application/vnd.adobe.formscentral.fcdt': ['fcdt'],\n 'application/vnd.adobe.fxp': ['fxp', 'fxpl'],\n 'application/vnd.adobe.xdp+xml': ['xdp'],\n 'application/vnd.adobe.xfdf': ['*xfdf'],\n 'application/vnd.age': ['age'],\n 'application/vnd.ahead.space': ['ahead'],\n 'application/vnd.airzip.filesecure.azf': ['azf'],\n 'application/vnd.airzip.filesecure.azs': ['azs'],\n 'application/vnd.amazon.ebook': ['azw'],\n 'application/vnd.americandynamics.acc': ['acc'],\n 'application/vnd.amiga.ami': ['ami'],\n 'application/vnd.android.package-archive': ['apk'],\n 'application/vnd.anser-web-certificate-issue-initiation': ['cii'],\n 'application/vnd.anser-web-funds-transfer-initiation': ['fti'],\n 'application/vnd.antix.game-component': ['atx'],\n 'application/vnd.apple.installer+xml': ['mpkg'],\n 'application/vnd.apple.keynote': ['key'],\n 'application/vnd.apple.mpegurl': ['m3u8'],\n 'application/vnd.apple.numbers': ['numbers'],\n 'application/vnd.apple.pages': ['pages'],\n 'application/vnd.apple.pkpass': ['pkpass'],\n 'application/vnd.aristanetworks.swi': ['swi'],\n 'application/vnd.astraea-software.iota': ['iota'],\n 'application/vnd.audiograph': ['aep'],\n 'application/vnd.balsamiq.bmml+xml': ['bmml'],\n 'application/vnd.blueice.multipass': ['mpm'],\n 'application/vnd.bmi': ['bmi'],\n 'application/vnd.businessobjects': ['rep'],\n 'application/vnd.chemdraw+xml': ['cdxml'],\n 'application/vnd.chipnuts.karaoke-mmd': ['mmd'],\n 'application/vnd.cinderella': ['cdy'],\n 'application/vnd.citationstyles.style+xml': ['csl'],\n 'application/vnd.claymore': ['cla'],\n 'application/vnd.cloanto.rp9': ['rp9'],\n 'application/vnd.clonk.c4group': ['c4g', 'c4d', 'c4f', 'c4p', 'c4u'],\n 'application/vnd.cluetrust.cartomobile-config': ['c11amc'],\n 'application/vnd.cluetrust.cartomobile-config-pkg': ['c11amz'],\n 'application/vnd.commonspace': ['csp'],\n 'application/vnd.contact.cmsg': ['cdbcmsg'],\n 'application/vnd.cosmocaller': ['cmc'],\n 'application/vnd.crick.clicker': ['clkx'],\n 'application/vnd.crick.clicker.keyboard': ['clkk'],\n 'application/vnd.crick.clicker.palette': ['clkp'],\n 'application/vnd.crick.clicker.template': ['clkt'],\n 'application/vnd.crick.clicker.wordbank': ['clkw'],\n 'application/vnd.criticaltools.wbs+xml': ['wbs'],\n 'application/vnd.ctc-posml': ['pml'],\n 'application/vnd.cups-ppd': ['ppd'],\n 'application/vnd.curl.car': ['car'],\n 'application/vnd.curl.pcurl': ['pcurl'],\n 'application/vnd.dart': ['dart'],\n 'application/vnd.data-vision.rdz': ['rdz'],\n 'application/vnd.dbf': ['dbf'],\n 'application/vnd.dece.data': ['uvf', 'uvvf', 'uvd', 'uvvd'],\n 'application/vnd.dece.ttml+xml': ['uvt', 'uvvt'],\n 'application/vnd.dece.unspecified': ['uvx', 'uvvx'],\n 'application/vnd.dece.zip': ['uvz', 'uvvz'],\n 'application/vnd.denovo.fcselayout-link': ['fe_launch'],\n 'application/vnd.dna': ['dna'],\n 'application/vnd.dolby.mlp': ['mlp'],\n 'application/vnd.dpgraph': ['dpg'],\n 'application/vnd.dreamfactory': ['dfac'],\n 'application/vnd.ds-keypoint': ['kpxx'],\n 'application/vnd.dvb.ait': ['ait'],\n 'application/vnd.dvb.service': ['svc'],\n 'application/vnd.dynageo': ['geo'],\n 'application/vnd.ecowin.chart': ['mag'],\n 'application/vnd.enliven': ['nml'],\n 'application/vnd.epson.esf': ['esf'],\n 'application/vnd.epson.msf': ['msf'],\n 'application/vnd.epson.quickanime': ['qam'],\n 'application/vnd.epson.salt': ['slt'],\n 'application/vnd.epson.ssf': ['ssf'],\n 'application/vnd.eszigno3+xml': ['es3', 'et3'],\n 'application/vnd.ezpix-album': ['ez2'],\n 'application/vnd.ezpix-package': ['ez3'],\n 'application/vnd.fdf': ['*fdf'],\n 'application/vnd.fdsn.mseed': ['mseed'],\n 'application/vnd.fdsn.seed': ['seed', 'dataless'],\n 'application/vnd.flographit': ['gph'],\n 'application/vnd.fluxtime.clip': ['ftc'],\n 'application/vnd.framemaker': ['fm', 'frame', 'maker', 'book'],\n 'application/vnd.frogans.fnc': ['fnc'],\n 'application/vnd.frogans.ltf': ['ltf'],\n 'application/vnd.fsc.weblaunch': ['fsc'],\n 'application/vnd.fujitsu.oasys': ['oas'],\n 'application/vnd.fujitsu.oasys2': ['oa2'],\n 'application/vnd.fujitsu.oasys3': ['oa3'],\n 'application/vnd.fujitsu.oasysgp': ['fg5'],\n 'application/vnd.fujitsu.oasysprs': ['bh2'],\n 'application/vnd.fujixerox.ddd': ['ddd'],\n 'application/vnd.fujixerox.docuworks': ['xdw'],\n 'application/vnd.fujixerox.docuworks.binder': ['xbd'],\n 'application/vnd.fuzzysheet': ['fzs'],\n 'application/vnd.genomatix.tuxedo': ['txd'],\n 'application/vnd.geogebra.file': ['ggb'],\n 'application/vnd.geogebra.slides': ['ggs'],\n 'application/vnd.geogebra.tool': ['ggt'],\n 'application/vnd.geometry-explorer': ['gex', 'gre'],\n 'application/vnd.geonext': ['gxt'],\n 'application/vnd.geoplan': ['g2w'],\n 'application/vnd.geospace': ['g3w'],\n 'application/vnd.gmx': ['gmx'],\n 'application/vnd.google-apps.document': ['gdoc'],\n 'application/vnd.google-apps.presentation': ['gslides'],\n 'application/vnd.google-apps.spreadsheet': ['gsheet'],\n 'application/vnd.google-earth.kml+xml': ['kml'],\n 'application/vnd.google-earth.kmz': ['kmz'],\n 'application/vnd.gov.sk.xmldatacontainer+xml': ['xdcf'],\n 'application/vnd.grafeq': ['gqf', 'gqs'],\n 'application/vnd.groove-account': ['gac'],\n 'application/vnd.groove-help': ['ghf'],\n 'application/vnd.groove-identity-message': ['gim'],\n 'application/vnd.groove-injector': ['grv'],\n 'application/vnd.groove-tool-message': ['gtm'],\n 'application/vnd.groove-tool-template': ['tpl'],\n 'application/vnd.groove-vcard': ['vcg'],\n 'application/vnd.hal+xml': ['hal'],\n 'application/vnd.handheld-entertainment+xml': ['zmm'],\n 'application/vnd.hbci': ['hbci'],\n 'application/vnd.hhe.lesson-player': ['les'],\n 'application/vnd.hp-hpgl': ['hpgl'],\n 'application/vnd.hp-hpid': ['hpid'],\n 'application/vnd.hp-hps': ['hps'],\n 'application/vnd.hp-jlyt': ['jlt'],\n 'application/vnd.hp-pcl': ['pcl'],\n 'application/vnd.hp-pclxl': ['pclxl'],\n 'application/vnd.hydrostatix.sof-data': ['sfd-hdstx'],\n 'application/vnd.ibm.minipay': ['mpy'],\n 'application/vnd.ibm.modcap': ['afp', 'listafp', 'list3820'],\n 'application/vnd.ibm.rights-management': ['irm'],\n 'application/vnd.ibm.secure-container': ['sc'],\n 'application/vnd.iccprofile': ['icc', 'icm'],\n 'application/vnd.igloader': ['igl'],\n 'application/vnd.immervision-ivp': ['ivp'],\n 'application/vnd.immervision-ivu': ['ivu'],\n 'application/vnd.insors.igm': ['igm'],\n 'application/vnd.intercon.formnet': ['xpw', 'xpx'],\n 'application/vnd.intergeo': ['i2g'],\n 'application/vnd.intu.qbo': ['qbo'],\n 'application/vnd.intu.qfx': ['qfx'],\n 'application/vnd.ipunplugged.rcprofile': ['rcprofile'],\n 'application/vnd.irepository.package+xml': ['irp'],\n 'application/vnd.is-xpr': ['xpr'],\n 'application/vnd.isac.fcs': ['fcs'],\n 'application/vnd.jam': ['jam'],\n 'application/vnd.jcp.javame.midlet-rms': ['rms'],\n 'application/vnd.jisp': ['jisp'],\n 'application/vnd.joost.joda-archive': ['joda'],\n 'application/vnd.kahootz': ['ktz', 'ktr'],\n 'application/vnd.kde.karbon': ['karbon'],\n 'application/vnd.kde.kchart': ['chrt'],\n 'application/vnd.kde.kformula': ['kfo'],\n 'application/vnd.kde.kivio': ['flw'],\n 'application/vnd.kde.kontour': ['kon'],\n 'application/vnd.kde.kpresenter': ['kpr', 'kpt'],\n 'application/vnd.kde.kspread': ['ksp'],\n 'application/vnd.kde.kword': ['kwd', 'kwt'],\n 'application/vnd.kenameaapp': ['htke'],\n 'application/vnd.kidspiration': ['kia'],\n 'application/vnd.kinar': ['kne', 'knp'],\n 'application/vnd.koan': ['skp', 'skd', 'skt', 'skm'],\n 'application/vnd.kodak-descriptor': ['sse'],\n 'application/vnd.las.las+xml': ['lasxml'],\n 'application/vnd.llamagraphics.life-balance.desktop': ['lbd'],\n 'application/vnd.llamagraphics.life-balance.exchange+xml': ['lbe'],\n 'application/vnd.lotus-1-2-3': ['123'],\n 'application/vnd.lotus-approach': ['apr'],\n 'application/vnd.lotus-freelance': ['pre'],\n 'application/vnd.lotus-notes': ['nsf'],\n 'application/vnd.lotus-organizer': ['org'],\n 'application/vnd.lotus-screencam': ['scm'],\n 'application/vnd.lotus-wordpro': ['lwp'],\n 'application/vnd.macports.portpkg': ['portpkg'],\n 'application/vnd.mapbox-vector-tile': ['mvt'],\n 'application/vnd.mcd': ['mcd'],\n 'application/vnd.medcalcdata': ['mc1'],\n 'application/vnd.mediastation.cdkey': ['cdkey'],\n 'application/vnd.mfer': ['mwf'],\n 'application/vnd.mfmp': ['mfm'],\n 'application/vnd.micrografx.flo': ['flo'],\n 'application/vnd.micrografx.igx': ['igx'],\n 'application/vnd.mif': ['mif'],\n 'application/vnd.mobius.daf': ['daf'],\n 'application/vnd.mobius.dis': ['dis'],\n 'application/vnd.mobius.mbk': ['mbk'],\n 'application/vnd.mobius.mqy': ['mqy'],\n 'application/vnd.mobius.msl': ['msl'],\n 'application/vnd.mobius.plc': ['plc'],\n 'application/vnd.mobius.txf': ['txf'],\n 'application/vnd.mophun.application': ['mpn'],\n 'application/vnd.mophun.certificate': ['mpc'],\n 'application/vnd.mozilla.xul+xml': ['xul'],\n 'application/vnd.ms-artgalry': ['cil'],\n 'application/vnd.ms-cab-compressed': ['cab'],\n 'application/vnd.ms-excel': ['xls', 'xlm', 'xla', 'xlc', 'xlt', 'xlw'],\n 'application/vnd.ms-excel.addin.macroenabled.12': ['xlam'],\n 'application/vnd.ms-excel.sheet.binary.macroenabled.12': ['xlsb'],\n 'application/vnd.ms-excel.sheet.macroenabled.12': ['xlsm'],\n 'application/vnd.ms-excel.template.macroenabled.12': ['xltm'],\n 'application/vnd.ms-fontobject': ['eot'],\n 'application/vnd.ms-htmlhelp': ['chm'],\n 'application/vnd.ms-ims': ['ims'],\n 'application/vnd.ms-lrm': ['lrm'],\n 'application/vnd.ms-officetheme': ['thmx'],\n 'application/vnd.ms-outlook': ['msg'],\n 'application/vnd.ms-pki.seccat': ['cat'],\n 'application/vnd.ms-pki.stl': ['*stl'],\n 'application/vnd.ms-powerpoint': ['ppt', 'pps', 'pot'],\n 'application/vnd.ms-powerpoint.addin.macroenabled.12': ['ppam'],\n 'application/vnd.ms-powerpoint.presentation.macroenabled.12': ['pptm'],\n 'application/vnd.ms-powerpoint.slide.macroenabled.12': ['sldm'],\n 'application/vnd.ms-powerpoint.slideshow.macroenabled.12': ['ppsm'],\n 'application/vnd.ms-powerpoint.template.macroenabled.12': ['potm'],\n 'application/vnd.ms-project': ['*mpp', 'mpt'],\n 'application/vnd.ms-word.document.macroenabled.12': ['docm'],\n 'application/vnd.ms-word.template.macroenabled.12': ['dotm'],\n 'application/vnd.ms-works': ['wps', 'wks', 'wcm', 'wdb'],\n 'application/vnd.ms-wpl': ['wpl'],\n 'application/vnd.ms-xpsdocument': ['xps'],\n 'application/vnd.mseq': ['mseq'],\n 'application/vnd.musician': ['mus'],\n 'application/vnd.muvee.style': ['msty'],\n 'application/vnd.mynfc': ['taglet'],\n 'application/vnd.nato.bindingdataobject+xml': ['bdo'],\n 'application/vnd.neurolanguage.nlu': ['nlu'],\n 'application/vnd.nitf': ['ntf', 'nitf'],\n 'application/vnd.noblenet-directory': ['nnd'],\n 'application/vnd.noblenet-sealer': ['nns'],\n 'application/vnd.noblenet-web': ['nnw'],\n 'application/vnd.nokia.n-gage.ac+xml': ['*ac'],\n 'application/vnd.nokia.n-gage.data': ['ngdat'],\n 'application/vnd.nokia.n-gage.symbian.install': ['n-gage'],\n 'application/vnd.nokia.radio-preset': ['rpst'],\n 'application/vnd.nokia.radio-presets': ['rpss'],\n 'application/vnd.novadigm.edm': ['edm'],\n 'application/vnd.novadigm.edx': ['edx'],\n 'application/vnd.novadigm.ext': ['ext'],\n 'application/vnd.oasis.opendocument.chart': ['odc'],\n 'application/vnd.oasis.opendocument.chart-template': ['otc'],\n 'application/vnd.oasis.opendocument.database': ['odb'],\n 'application/vnd.oasis.opendocument.formula': ['odf'],\n 'application/vnd.oasis.opendocument.formula-template': ['odft'],\n 'application/vnd.oasis.opendocument.graphics': ['odg'],\n 'application/vnd.oasis.opendocument.graphics-template': ['otg'],\n 'application/vnd.oasis.opendocument.image': ['odi'],\n 'application/vnd.oasis.opendocument.image-template': ['oti'],\n 'application/vnd.oasis.opendocument.presentation': ['odp'],\n 'application/vnd.oasis.opendocument.presentation-template': ['otp'],\n 'application/vnd.oasis.opendocument.spreadsheet': ['ods'],\n 'application/vnd.oasis.opendocument.spreadsheet-template': ['ots'],\n 'application/vnd.oasis.opendocument.text': ['odt'],\n 'application/vnd.oasis.opendocument.text-master': ['odm'],\n 'application/vnd.oasis.opendocument.text-template': ['ott'],\n 'application/vnd.oasis.opendocument.text-web': ['oth'],\n 'application/vnd.olpc-sugar': ['xo'],\n 'application/vnd.oma.dd2+xml': ['dd2'],\n 'application/vnd.openblox.game+xml': ['obgx'],\n 'application/vnd.openofficeorg.extension': ['oxt'],\n 'application/vnd.openstreetmap.data+xml': ['osm'],\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': [\n 'pptx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slide': [\n 'sldx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow': [\n 'ppsx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.template': [\n 'potx',\n ],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['xlsx'],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': [\n 'xltx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': [\n 'docx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': [\n 'dotx',\n ],\n 'application/vnd.osgeo.mapguide.package': ['mgp'],\n 'application/vnd.osgi.dp': ['dp'],\n 'application/vnd.osgi.subsystem': ['esa'],\n 'application/vnd.palm': ['pdb', 'pqa', 'oprc'],\n 'application/vnd.pawaafile': ['paw'],\n 'application/vnd.pg.format': ['str'],\n 'application/vnd.pg.osasli': ['ei6'],\n 'application/vnd.picsel': ['efif'],\n 'application/vnd.pmi.widget': ['wg'],\n 'application/vnd.pocketlearn': ['plf'],\n 'application/vnd.powerbuilder6': ['pbd'],\n 'application/vnd.previewsystems.box': ['box'],\n 'application/vnd.proteus.magazine': ['mgz'],\n 'application/vnd.publishare-delta-tree': ['qps'],\n 'application/vnd.pvi.ptid1': ['ptid'],\n 'application/vnd.pwg-xhtml-print+xml': ['xhtm'],\n 'application/vnd.quark.quarkxpress': [\n 'qxd',\n 'qxt',\n 'qwd',\n 'qwt',\n 'qxl',\n 'qxb',\n ],\n 'application/vnd.rar': ['rar'],\n 'application/vnd.realvnc.bed': ['bed'],\n 'application/vnd.recordare.musicxml': ['mxl'],\n 'application/vnd.recordare.musicxml+xml': ['musicxml'],\n 'application/vnd.rig.cryptonote': ['cryptonote'],\n 'application/vnd.rim.cod': ['cod'],\n 'application/vnd.rn-realmedia': ['rm'],\n 'application/vnd.rn-realmedia-vbr': ['rmvb'],\n 'application/vnd.route66.link66+xml': ['link66'],\n 'application/vnd.sailingtracker.track': ['st'],\n 'application/vnd.seemail': ['see'],\n 'application/vnd.sema': ['sema'],\n 'application/vnd.semd': ['semd'],\n 'application/vnd.semf': ['semf'],\n 'application/vnd.shana.informed.formdata': ['ifm'],\n 'application/vnd.shana.informed.formtemplate': ['itp'],\n 'application/vnd.shana.informed.interchange': ['iif'],\n 'application/vnd.shana.informed.package': ['ipk'],\n 'application/vnd.simtech-mindmapper': ['twd', 'twds'],\n 'application/vnd.smaf': ['mmf'],\n 'application/vnd.smart.teacher': ['teacher'],\n 'application/vnd.software602.filler.form+xml': ['fo'],\n 'application/vnd.solent.sdkm+xml': ['sdkm', 'sdkd'],\n 'application/vnd.spotfire.dxp': ['dxp'],\n 'application/vnd.spotfire.sfs': ['sfs'],\n 'application/vnd.stardivision.calc': ['sdc'],\n 'application/vnd.stardivision.draw': ['sda'],\n 'application/vnd.stardivision.impress': ['sdd'],\n 'application/vnd.stardivision.math': ['smf'],\n 'application/vnd.stardivision.writer': ['sdw', 'vor'],\n 'application/vnd.stardivision.writer-global': ['sgl'],\n 'application/vnd.stepmania.package': ['smzip'],\n 'application/vnd.stepmania.stepchart': ['sm'],\n 'application/vnd.sun.wadl+xml': ['wadl'],\n 'application/vnd.sun.xml.calc': ['sxc'],\n 'application/vnd.sun.xml.calc.template': ['stc'],\n 'application/vnd.sun.xml.draw': ['sxd'],\n 'application/vnd.sun.xml.draw.template': ['std'],\n 'application/vnd.sun.xml.impress': ['sxi'],\n 'application/vnd.sun.xml.impress.template': ['sti'],\n 'application/vnd.sun.xml.math': ['sxm'],\n 'application/vnd.sun.xml.writer': ['sxw'],\n 'application/vnd.sun.xml.writer.global': ['sxg'],\n 'application/vnd.sun.xml.writer.template': ['stw'],\n 'application/vnd.sus-calendar': ['sus', 'susp'],\n 'application/vnd.svd': ['svd'],\n 'application/vnd.symbian.install': ['sis', 'sisx'],\n 'application/vnd.syncml+xml': ['xsm'],\n 'application/vnd.syncml.dm+wbxml': ['bdm'],\n 'application/vnd.syncml.dm+xml': ['xdm'],\n 'application/vnd.syncml.dmddf+xml': ['ddf'],\n 'application/vnd.tao.intent-module-archive': ['tao'],\n 'application/vnd.tcpdump.pcap': ['pcap', 'cap', 'dmp'],\n 'application/vnd.tmobile-livetv': ['tmo'],\n 'application/vnd.trid.tpt': ['tpt'],\n 'application/vnd.triscape.mxs': ['mxs'],\n 'application/vnd.trueapp': ['tra'],\n 'application/vnd.ufdl': ['ufd', 'ufdl'],\n 'application/vnd.uiq.theme': ['utz'],\n 'application/vnd.umajin': ['umj'],\n 'application/vnd.unity': ['unityweb'],\n 'application/vnd.uoml+xml': ['uoml', 'uo'],\n 'application/vnd.vcx': ['vcx'],\n 'application/vnd.visio': ['vsd', 'vst', 'vss', 'vsw'],\n 'application/vnd.visionary': ['vis'],\n 'application/vnd.vsf': ['vsf'],\n 'application/vnd.wap.wbxml': ['wbxml'],\n 'application/vnd.wap.wmlc': ['wmlc'],\n 'application/vnd.wap.wmlscriptc': ['wmlsc'],\n 'application/vnd.webturbo': ['wtb'],\n 'application/vnd.wolfram.player': ['nbp'],\n 'application/vnd.wordperfect': ['wpd'],\n 'application/vnd.wqd': ['wqd'],\n 'application/vnd.wt.stf': ['stf'],\n 'application/vnd.xara': ['xar'],\n 'application/vnd.xfdl': ['xfdl'],\n 'application/vnd.yamaha.hv-dic': ['hvd'],\n 'application/vnd.yamaha.hv-script': ['hvs'],\n 'application/vnd.yamaha.hv-voice': ['hvp'],\n 'application/vnd.yamaha.openscoreformat': ['osf'],\n 'application/vnd.yamaha.openscoreformat.osfpvg+xml': ['osfpvg'],\n 'application/vnd.yamaha.smaf-audio': ['saf'],\n 'application/vnd.yamaha.smaf-phrase': ['spf'],\n 'application/vnd.yellowriver-custom-menu': ['cmp'],\n 'application/vnd.zul': ['zir', 'zirz'],\n 'application/vnd.zzazz.deck+xml': ['zaz'],\n 'application/x-7z-compressed': ['7z'],\n 'application/x-abiword': ['abw'],\n 'application/x-ace-compressed': ['ace'],\n 'application/x-apple-diskimage': ['*dmg'],\n 'application/x-arj': ['arj'],\n 'application/x-authorware-bin': ['aab', 'x32', 'u32', 'vox'],\n 'application/x-authorware-map': ['aam'],\n 'application/x-authorware-seg': ['aas'],\n 'application/x-bcpio': ['bcpio'],\n 'application/x-bdoc': ['*bdoc'],\n 'application/x-bittorrent': ['torrent'],\n 'application/x-blorb': ['blb', 'blorb'],\n 'application/x-bzip': ['bz'],\n 'application/x-bzip2': ['bz2', 'boz'],\n 'application/x-cbr': ['cbr', 'cba', 'cbt', 'cbz', 'cb7'],\n 'application/x-cdlink': ['vcd'],\n 'application/x-cfs-compressed': ['cfs'],\n 'application/x-chat': ['chat'],\n 'application/x-chess-pgn': ['pgn'],\n 'application/x-chrome-extension': ['crx'],\n 'application/x-cocoa': ['cco'],\n 'application/x-conference': ['nsc'],\n 'application/x-cpio': ['cpio'],\n 'application/x-csh': ['csh'],\n 'application/x-debian-package': ['*deb', 'udeb'],\n 'application/x-dgc-compressed': ['dgc'],\n 'application/x-director': [\n 'dir',\n 'dcr',\n 'dxr',\n 'cst',\n 'cct',\n 'cxt',\n 'w3d',\n 'fgd',\n 'swa',\n ],\n 'application/x-doom': ['wad'],\n 'application/x-dtbncx+xml': ['ncx'],\n 'application/x-dtbook+xml': ['dtb'],\n 'application/x-dtbresource+xml': ['res'],\n 'application/x-dvi': ['dvi'],\n 'application/x-envoy': ['evy'],\n 'application/x-eva': ['eva'],\n 'application/x-font-bdf': ['bdf'],\n 'application/x-font-ghostscript': ['gsf'],\n 'application/x-font-linux-psf': ['psf'],\n 'application/x-font-pcf': ['pcf'],\n 'application/x-font-snf': ['snf'],\n 'application/x-font-type1': ['pfa', 'pfb', 'pfm', 'afm'],\n 'application/x-freearc': ['arc'],\n 'application/x-futuresplash': ['spl'],\n 'application/x-gca-compressed': ['gca'],\n 'application/x-glulx': ['ulx'],\n 'application/x-gnumeric': ['gnumeric'],\n 'application/x-gramps-xml': ['gramps'],\n 'application/x-gtar': ['gtar'],\n 'application/x-hdf': ['hdf'],\n 'application/x-httpd-php': ['php'],\n 'application/x-install-instructions': ['install'],\n 'application/x-iso9660-image': ['*iso'],\n 'application/x-iwork-keynote-sffkey': ['*key'],\n 'application/x-iwork-numbers-sffnumbers': ['*numbers'],\n 'application/x-iwork-pages-sffpages': ['*pages'],\n 'application/x-java-archive-diff': ['jardiff'],\n 'application/x-java-jnlp-file': ['jnlp'],\n 'application/x-keepass2': ['kdbx'],\n 'application/x-latex': ['latex'],\n 'application/x-lua-bytecode': ['luac'],\n 'application/x-lzh-compressed': ['lzh', 'lha'],\n 'application/x-makeself': ['run'],\n 'application/x-mie': ['mie'],\n 'application/x-mobipocket-ebook': ['*prc', 'mobi'],\n 'application/x-ms-application': ['application'],\n 'application/x-ms-shortcut': ['lnk'],\n 'application/x-ms-wmd': ['wmd'],\n 'application/x-ms-wmz': ['wmz'],\n 'application/x-ms-xbap': ['xbap'],\n 'application/x-msaccess': ['mdb'],\n 'application/x-msbinder': ['obd'],\n 'application/x-mscardfile': ['crd'],\n 'application/x-msclip': ['clp'],\n 'application/x-msdos-program': ['*exe'],\n 'application/x-msdownload': ['*exe', '*dll', 'com', 'bat', '*msi'],\n 'application/x-msmediaview': ['mvb', 'm13', 'm14'],\n 'application/x-msmetafile': ['*wmf', '*wmz', '*emf', 'emz'],\n 'application/x-msmoney': ['mny'],\n 'application/x-mspublisher': ['pub'],\n 'application/x-msschedule': ['scd'],\n 'application/x-msterminal': ['trm'],\n 'application/x-mswrite': ['wri'],\n 'application/x-netcdf': ['nc', 'cdf'],\n 'application/x-ns-proxy-autoconfig': ['pac'],\n 'application/x-nzb': ['nzb'],\n 'application/x-perl': ['pl', 'pm'],\n 'application/x-pilot': ['*prc', '*pdb'],\n 'application/x-pkcs12': ['p12', 'pfx'],\n 'application/x-pkcs7-certificates': ['p7b', 'spc'],\n 'application/x-pkcs7-certreqresp': ['p7r'],\n 'application/x-rar-compressed': ['*rar'],\n 'application/x-redhat-package-manager': ['rpm'],\n 'application/x-research-info-systems': ['ris'],\n 'application/x-sea': ['sea'],\n 'application/x-sh': ['sh'],\n 'application/x-shar': ['shar'],\n 'application/x-shockwave-flash': ['swf'],\n 'application/x-silverlight-app': ['xap'],\n 'application/x-sql': ['*sql'],\n 'application/x-stuffit': ['sit'],\n 'application/x-stuffitx': ['sitx'],\n 'application/x-subrip': ['srt'],\n 'application/x-sv4cpio': ['sv4cpio'],\n 'application/x-sv4crc': ['sv4crc'],\n 'application/x-t3vm-image': ['t3'],\n 'application/x-tads': ['gam'],\n 'application/x-tar': ['tar'],\n 'application/x-tcl': ['tcl', 'tk'],\n 'application/x-tex': ['tex'],\n 'application/x-tex-tfm': ['tfm'],\n 'application/x-texinfo': ['texinfo', 'texi'],\n 'application/x-tgif': ['*obj'],\n 'application/x-ustar': ['ustar'],\n 'application/x-virtualbox-hdd': ['hdd'],\n 'application/x-virtualbox-ova': ['ova'],\n 'application/x-virtualbox-ovf': ['ovf'],\n 'application/x-virtualbox-vbox': ['vbox'],\n 'application/x-virtualbox-vbox-extpack': ['vbox-extpack'],\n 'application/x-virtualbox-vdi': ['vdi'],\n 'application/x-virtualbox-vhd': ['vhd'],\n 'application/x-virtualbox-vmdk': ['vmdk'],\n 'application/x-wais-source': ['src'],\n 'application/x-web-app-manifest+json': ['webapp'],\n 'application/x-x509-ca-cert': ['der', 'crt', 'pem'],\n 'application/x-xfig': ['fig'],\n 'application/x-xliff+xml': ['*xlf'],\n 'application/x-xpinstall': ['xpi'],\n 'application/x-xz': ['xz'],\n 'application/x-zmachine': ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'],\n 'audio/vnd.dece.audio': ['uva', 'uvva'],\n 'audio/vnd.digital-winds': ['eol'],\n 'audio/vnd.dra': ['dra'],\n 'audio/vnd.dts': ['dts'],\n 'audio/vnd.dts.hd': ['dtshd'],\n 'audio/vnd.lucent.voice': ['lvp'],\n 'audio/vnd.ms-playready.media.pya': ['pya'],\n 'audio/vnd.nuera.ecelp4800': ['ecelp4800'],\n 'audio/vnd.nuera.ecelp7470': ['ecelp7470'],\n 'audio/vnd.nuera.ecelp9600': ['ecelp9600'],\n 'audio/vnd.rip': ['rip'],\n 'audio/x-aac': ['*aac'],\n 'audio/x-aiff': ['aif', 'aiff', 'aifc'],\n 'audio/x-caf': ['caf'],\n 'audio/x-flac': ['flac'],\n 'audio/x-m4a': ['*m4a'],\n 'audio/x-matroska': ['mka'],\n 'audio/x-mpegurl': ['m3u'],\n 'audio/x-ms-wax': ['wax'],\n 'audio/x-ms-wma': ['wma'],\n 'audio/x-pn-realaudio': ['ram', 'ra'],\n 'audio/x-pn-realaudio-plugin': ['rmp'],\n 'audio/x-realaudio': ['*ra'],\n 'audio/x-wav': ['*wav'],\n 'chemical/x-cdx': ['cdx'],\n 'chemical/x-cif': ['cif'],\n 'chemical/x-cmdf': ['cmdf'],\n 'chemical/x-cml': ['cml'],\n 'chemical/x-csml': ['csml'],\n 'chemical/x-xyz': ['xyz'],\n 'image/prs.btif': ['btif', 'btf'],\n 'image/prs.pti': ['pti'],\n 'image/vnd.adobe.photoshop': ['psd'],\n 'image/vnd.airzip.accelerator.azv': ['azv'],\n 'image/vnd.dece.graphic': ['uvi', 'uvvi', 'uvg', 'uvvg'],\n 'image/vnd.djvu': ['djvu', 'djv'],\n 'image/vnd.dvb.subtitle': ['*sub'],\n 'image/vnd.dwg': ['dwg'],\n 'image/vnd.dxf': ['dxf'],\n 'image/vnd.fastbidsheet': ['fbs'],\n 'image/vnd.fpx': ['fpx'],\n 'image/vnd.fst': ['fst'],\n 'image/vnd.fujixerox.edmics-mmr': ['mmr'],\n 'image/vnd.fujixerox.edmics-rlc': ['rlc'],\n 'image/vnd.microsoft.icon': ['ico'],\n 'image/vnd.ms-dds': ['dds'],\n 'image/vnd.ms-modi': ['mdi'],\n 'image/vnd.ms-photo': ['wdp'],\n 'image/vnd.net-fpx': ['npx'],\n 'image/vnd.pco.b16': ['b16'],\n 'image/vnd.tencent.tap': ['tap'],\n 'image/vnd.valve.source.texture': ['vtf'],\n 'image/vnd.wap.wbmp': ['wbmp'],\n 'image/vnd.xiff': ['xif'],\n 'image/vnd.zbrush.pcx': ['pcx'],\n 'image/x-3ds': ['3ds'],\n 'image/x-cmu-raster': ['ras'],\n 'image/x-cmx': ['cmx'],\n 'image/x-freehand': ['fh', 'fhc', 'fh4', 'fh5', 'fh7'],\n 'image/x-icon': ['*ico'],\n 'image/x-jng': ['jng'],\n 'image/x-mrsid-image': ['sid'],\n 'image/x-ms-bmp': ['*bmp'],\n 'image/x-pcx': ['*pcx'],\n 'image/x-pict': ['pic', 'pct'],\n 'image/x-portable-anymap': ['pnm'],\n 'image/x-portable-bitmap': ['pbm'],\n 'image/x-portable-graymap': ['pgm'],\n 'image/x-portable-pixmap': ['ppm'],\n 'image/x-rgb': ['rgb'],\n 'image/x-tga': ['tga'],\n 'image/x-xbitmap': ['xbm'],\n 'image/x-xpixmap': ['xpm'],\n 'image/x-xwindowdump': ['xwd'],\n 'message/vnd.wfa.wsc': ['wsc'],\n 'model/vnd.bary': ['bary'],\n 'model/vnd.cld': ['cld'],\n 'model/vnd.collada+xml': ['dae'],\n 'model/vnd.dwf': ['dwf'],\n 'model/vnd.gdl': ['gdl'],\n 'model/vnd.gtw': ['gtw'],\n 'model/vnd.mts': ['*mts'],\n 'model/vnd.opengex': ['ogex'],\n 'model/vnd.parasolid.transmit.binary': ['x_b'],\n 'model/vnd.parasolid.transmit.text': ['x_t'],\n 'model/vnd.pytha.pyox': ['pyo', 'pyox'],\n 'model/vnd.sap.vds': ['vds'],\n 'model/vnd.usda': ['usda'],\n 'model/vnd.usdz+zip': ['usdz'],\n 'model/vnd.valve.source.compiled-map': ['bsp'],\n 'model/vnd.vtu': ['vtu'],\n 'text/prs.lines.tag': ['dsc'],\n 'text/vnd.curl': ['curl'],\n 'text/vnd.curl.dcurl': ['dcurl'],\n 'text/vnd.curl.mcurl': ['mcurl'],\n 'text/vnd.curl.scurl': ['scurl'],\n 'text/vnd.dvb.subtitle': ['sub'],\n 'text/vnd.familysearch.gedcom': ['ged'],\n 'text/vnd.fly': ['fly'],\n 'text/vnd.fmi.flexstor': ['flx'],\n 'text/vnd.graphviz': ['gv'],\n 'text/vnd.in3d.3dml': ['3dml'],\n 'text/vnd.in3d.spot': ['spot'],\n 'text/vnd.sun.j2me.app-descriptor': ['jad'],\n 'text/vnd.wap.wml': ['wml'],\n 'text/vnd.wap.wmlscript': ['wmls'],\n 'text/x-asm': ['s', 'asm'],\n 'text/x-c': ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'],\n 'text/x-component': ['htc'],\n 'text/x-fortran': ['f', 'for', 'f77', 'f90'],\n 'text/x-handlebars-template': ['hbs'],\n 'text/x-java-source': ['java'],\n 'text/x-lua': ['lua'],\n 'text/x-markdown': ['mkd'],\n 'text/x-nfo': ['nfo'],\n 'text/x-opml': ['opml'],\n 'text/x-org': ['*org'],\n 'text/x-pascal': ['p', 'pas'],\n 'text/x-processing': ['pde'],\n 'text/x-sass': ['sass'],\n 'text/x-scss': ['scss'],\n 'text/x-setext': ['etx'],\n 'text/x-sfv': ['sfv'],\n 'text/x-suse-ymp': ['ymp'],\n 'text/x-uuencode': ['uu'],\n 'text/x-vcalendar': ['vcs'],\n 'text/x-vcard': ['vcf'],\n 'video/vnd.dece.hd': ['uvh', 'uvvh'],\n 'video/vnd.dece.mobile': ['uvm', 'uvvm'],\n 'video/vnd.dece.pd': ['uvp', 'uvvp'],\n 'video/vnd.dece.sd': ['uvs', 'uvvs'],\n 'video/vnd.dece.video': ['uvv', 'uvvv'],\n 'video/vnd.dvb.file': ['dvb'],\n 'video/vnd.fvt': ['fvt'],\n 'video/vnd.mpegurl': ['mxu', 'm4u'],\n 'video/vnd.ms-playready.media.pyv': ['pyv'],\n 'video/vnd.uvvu.mp4': ['uvu', 'uvvu'],\n 'video/vnd.vivo': ['viv'],\n 'video/x-f4v': ['f4v'],\n 'video/x-fli': ['fli'],\n 'video/x-flv': ['flv'],\n 'video/x-m4v': ['m4v'],\n 'video/x-matroska': ['mkv', 'mk3d', 'mks'],\n 'video/x-mng': ['mng'],\n 'video/x-ms-asf': ['asf', 'asx'],\n 'video/x-ms-vob': ['vob'],\n 'video/x-ms-wm': ['wm'],\n 'video/x-ms-wmv': ['wmv'],\n 'video/x-ms-wmx': ['wmx'],\n 'video/x-ms-wvx': ['wvx'],\n 'video/x-msvideo': ['avi'],\n 'video/x-sgi-movie': ['movie'],\n 'video/x-smv': ['smv'],\n 'x-conference/x-cooltalk': ['ice'],\n};\nObject.freeze(types);\nexport default types;\n","const types = {\n 'application/andrew-inset': ['ez'],\n 'application/appinstaller': ['appinstaller'],\n 'application/applixware': ['aw'],\n 'application/appx': ['appx'],\n 'application/appxbundle': ['appxbundle'],\n 'application/atom+xml': ['atom'],\n 'application/atomcat+xml': ['atomcat'],\n 'application/atomdeleted+xml': ['atomdeleted'],\n 'application/atomsvc+xml': ['atomsvc'],\n 'application/atsc-dwd+xml': ['dwd'],\n 'application/atsc-held+xml': ['held'],\n 'application/atsc-rsat+xml': ['rsat'],\n 'application/automationml-aml+xml': ['aml'],\n 'application/automationml-amlx+zip': ['amlx'],\n 'application/bdoc': ['bdoc'],\n 'application/calendar+xml': ['xcs'],\n 'application/ccxml+xml': ['ccxml'],\n 'application/cdfx+xml': ['cdfx'],\n 'application/cdmi-capability': ['cdmia'],\n 'application/cdmi-container': ['cdmic'],\n 'application/cdmi-domain': ['cdmid'],\n 'application/cdmi-object': ['cdmio'],\n 'application/cdmi-queue': ['cdmiq'],\n 'application/cpl+xml': ['cpl'],\n 'application/cu-seeme': ['cu'],\n 'application/cwl': ['cwl'],\n 'application/dash+xml': ['mpd'],\n 'application/dash-patch+xml': ['mpp'],\n 'application/davmount+xml': ['davmount'],\n 'application/docbook+xml': ['dbk'],\n 'application/dssc+der': ['dssc'],\n 'application/dssc+xml': ['xdssc'],\n 'application/ecmascript': ['ecma'],\n 'application/emma+xml': ['emma'],\n 'application/emotionml+xml': ['emotionml'],\n 'application/epub+zip': ['epub'],\n 'application/exi': ['exi'],\n 'application/express': ['exp'],\n 'application/fdf': ['fdf'],\n 'application/fdt+xml': ['fdt'],\n 'application/font-tdpfr': ['pfr'],\n 'application/geo+json': ['geojson'],\n 'application/gml+xml': ['gml'],\n 'application/gpx+xml': ['gpx'],\n 'application/gxf': ['gxf'],\n 'application/gzip': ['gz'],\n 'application/hjson': ['hjson'],\n 'application/hyperstudio': ['stk'],\n 'application/inkml+xml': ['ink', 'inkml'],\n 'application/ipfix': ['ipfix'],\n 'application/its+xml': ['its'],\n 'application/java-archive': ['jar', 'war', 'ear'],\n 'application/java-serialized-object': ['ser'],\n 'application/java-vm': ['class'],\n 'application/javascript': ['*js'],\n 'application/json': ['json', 'map'],\n 'application/json5': ['json5'],\n 'application/jsonml+json': ['jsonml'],\n 'application/ld+json': ['jsonld'],\n 'application/lgr+xml': ['lgr'],\n 'application/lost+xml': ['lostxml'],\n 'application/mac-binhex40': ['hqx'],\n 'application/mac-compactpro': ['cpt'],\n 'application/mads+xml': ['mads'],\n 'application/manifest+json': ['webmanifest'],\n 'application/marc': ['mrc'],\n 'application/marcxml+xml': ['mrcx'],\n 'application/mathematica': ['ma', 'nb', 'mb'],\n 'application/mathml+xml': ['mathml'],\n 'application/mbox': ['mbox'],\n 'application/media-policy-dataset+xml': ['mpf'],\n 'application/mediaservercontrol+xml': ['mscml'],\n 'application/metalink+xml': ['metalink'],\n 'application/metalink4+xml': ['meta4'],\n 'application/mets+xml': ['mets'],\n 'application/mmt-aei+xml': ['maei'],\n 'application/mmt-usd+xml': ['musd'],\n 'application/mods+xml': ['mods'],\n 'application/mp21': ['m21', 'mp21'],\n 'application/mp4': ['*mp4', '*mpg4', 'mp4s', 'm4p'],\n 'application/msix': ['msix'],\n 'application/msixbundle': ['msixbundle'],\n 'application/msword': ['doc', 'dot'],\n 'application/mxf': ['mxf'],\n 'application/n-quads': ['nq'],\n 'application/n-triples': ['nt'],\n 'application/node': ['cjs'],\n 'application/octet-stream': [\n 'bin',\n 'dms',\n 'lrf',\n 'mar',\n 'so',\n 'dist',\n 'distz',\n 'pkg',\n 'bpk',\n 'dump',\n 'elc',\n 'deploy',\n 'exe',\n 'dll',\n 'deb',\n 'dmg',\n 'iso',\n 'img',\n 'msi',\n 'msp',\n 'msm',\n 'buffer',\n ],\n 'application/oda': ['oda'],\n 'application/oebps-package+xml': ['opf'],\n 'application/ogg': ['ogx'],\n 'application/omdoc+xml': ['omdoc'],\n 'application/onenote': ['onetoc', 'onetoc2', 'onetmp', 'onepkg'],\n 'application/oxps': ['oxps'],\n 'application/p2p-overlay+xml': ['relo'],\n 'application/patch-ops-error+xml': ['xer'],\n 'application/pdf': ['pdf'],\n 'application/pgp-encrypted': ['pgp'],\n 'application/pgp-keys': ['asc'],\n 'application/pgp-signature': ['sig', '*asc'],\n 'application/pics-rules': ['prf'],\n 'application/pkcs10': ['p10'],\n 'application/pkcs7-mime': ['p7m', 'p7c'],\n 'application/pkcs7-signature': ['p7s'],\n 'application/pkcs8': ['p8'],\n 'application/pkix-attr-cert': ['ac'],\n 'application/pkix-cert': ['cer'],\n 'application/pkix-crl': ['crl'],\n 'application/pkix-pkipath': ['pkipath'],\n 'application/pkixcmp': ['pki'],\n 'application/pls+xml': ['pls'],\n 'application/postscript': ['ai', 'eps', 'ps'],\n 'application/provenance+xml': ['provx'],\n 'application/pskc+xml': ['pskcxml'],\n 'application/raml+yaml': ['raml'],\n 'application/rdf+xml': ['rdf', 'owl'],\n 'application/reginfo+xml': ['rif'],\n 'application/relax-ng-compact-syntax': ['rnc'],\n 'application/resource-lists+xml': ['rl'],\n 'application/resource-lists-diff+xml': ['rld'],\n 'application/rls-services+xml': ['rs'],\n 'application/route-apd+xml': ['rapd'],\n 'application/route-s-tsid+xml': ['sls'],\n 'application/route-usd+xml': ['rusd'],\n 'application/rpki-ghostbusters': ['gbr'],\n 'application/rpki-manifest': ['mft'],\n 'application/rpki-roa': ['roa'],\n 'application/rsd+xml': ['rsd'],\n 'application/rss+xml': ['rss'],\n 'application/rtf': ['rtf'],\n 'application/sbml+xml': ['sbml'],\n 'application/scvp-cv-request': ['scq'],\n 'application/scvp-cv-response': ['scs'],\n 'application/scvp-vp-request': ['spq'],\n 'application/scvp-vp-response': ['spp'],\n 'application/sdp': ['sdp'],\n 'application/senml+xml': ['senmlx'],\n 'application/sensml+xml': ['sensmlx'],\n 'application/set-payment-initiation': ['setpay'],\n 'application/set-registration-initiation': ['setreg'],\n 'application/shf+xml': ['shf'],\n 'application/sieve': ['siv', 'sieve'],\n 'application/smil+xml': ['smi', 'smil'],\n 'application/sparql-query': ['rq'],\n 'application/sparql-results+xml': ['srx'],\n 'application/sql': ['sql'],\n 'application/srgs': ['gram'],\n 'application/srgs+xml': ['grxml'],\n 'application/sru+xml': ['sru'],\n 'application/ssdl+xml': ['ssdl'],\n 'application/ssml+xml': ['ssml'],\n 'application/swid+xml': ['swidtag'],\n 'application/tei+xml': ['tei', 'teicorpus'],\n 'application/thraud+xml': ['tfi'],\n 'application/timestamped-data': ['tsd'],\n 'application/toml': ['toml'],\n 'application/trig': ['trig'],\n 'application/ttml+xml': ['ttml'],\n 'application/ubjson': ['ubj'],\n 'application/urc-ressheet+xml': ['rsheet'],\n 'application/urc-targetdesc+xml': ['td'],\n 'application/voicexml+xml': ['vxml'],\n 'application/wasm': ['wasm'],\n 'application/watcherinfo+xml': ['wif'],\n 'application/widget': ['wgt'],\n 'application/winhlp': ['hlp'],\n 'application/wsdl+xml': ['wsdl'],\n 'application/wspolicy+xml': ['wspolicy'],\n 'application/xaml+xml': ['xaml'],\n 'application/xcap-att+xml': ['xav'],\n 'application/xcap-caps+xml': ['xca'],\n 'application/xcap-diff+xml': ['xdf'],\n 'application/xcap-el+xml': ['xel'],\n 'application/xcap-ns+xml': ['xns'],\n 'application/xenc+xml': ['xenc'],\n 'application/xfdf': ['xfdf'],\n 'application/xhtml+xml': ['xhtml', 'xht'],\n 'application/xliff+xml': ['xlf'],\n 'application/xml': ['xml', 'xsl', 'xsd', 'rng'],\n 'application/xml-dtd': ['dtd'],\n 'application/xop+xml': ['xop'],\n 'application/xproc+xml': ['xpl'],\n 'application/xslt+xml': ['*xsl', 'xslt'],\n 'application/xspf+xml': ['xspf'],\n 'application/xv+xml': ['mxml', 'xhvml', 'xvml', 'xvm'],\n 'application/yang': ['yang'],\n 'application/yin+xml': ['yin'],\n 'application/zip': ['zip'],\n 'audio/3gpp': ['*3gpp'],\n 'audio/aac': ['adts', 'aac'],\n 'audio/adpcm': ['adp'],\n 'audio/amr': ['amr'],\n 'audio/basic': ['au', 'snd'],\n 'audio/midi': ['mid', 'midi', 'kar', 'rmi'],\n 'audio/mobile-xmf': ['mxmf'],\n 'audio/mp3': ['*mp3'],\n 'audio/mp4': ['m4a', 'mp4a'],\n 'audio/mpeg': ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'],\n 'audio/ogg': ['oga', 'ogg', 'spx', 'opus'],\n 'audio/s3m': ['s3m'],\n 'audio/silk': ['sil'],\n 'audio/wav': ['wav'],\n 'audio/wave': ['*wav'],\n 'audio/webm': ['weba'],\n 'audio/xm': ['xm'],\n 'font/collection': ['ttc'],\n 'font/otf': ['otf'],\n 'font/ttf': ['ttf'],\n 'font/woff': ['woff'],\n 'font/woff2': ['woff2'],\n 'image/aces': ['exr'],\n 'image/apng': ['apng'],\n 'image/avci': ['avci'],\n 'image/avcs': ['avcs'],\n 'image/avif': ['avif'],\n 'image/bmp': ['bmp', 'dib'],\n 'image/cgm': ['cgm'],\n 'image/dicom-rle': ['drle'],\n 'image/dpx': ['dpx'],\n 'image/emf': ['emf'],\n 'image/fits': ['fits'],\n 'image/g3fax': ['g3'],\n 'image/gif': ['gif'],\n 'image/heic': ['heic'],\n 'image/heic-sequence': ['heics'],\n 'image/heif': ['heif'],\n 'image/heif-sequence': ['heifs'],\n 'image/hej2k': ['hej2'],\n 'image/hsj2': ['hsj2'],\n 'image/ief': ['ief'],\n 'image/jls': ['jls'],\n 'image/jp2': ['jp2', 'jpg2'],\n 'image/jpeg': ['jpeg', 'jpg', 'jpe'],\n 'image/jph': ['jph'],\n 'image/jphc': ['jhc'],\n 'image/jpm': ['jpm', 'jpgm'],\n 'image/jpx': ['jpx', 'jpf'],\n 'image/jxl': ['jxl'],\n 'image/jxr': ['jxr'],\n 'image/jxra': ['jxra'],\n 'image/jxrs': ['jxrs'],\n 'image/jxs': ['jxs'],\n 'image/jxsc': ['jxsc'],\n 'image/jxsi': ['jxsi'],\n 'image/jxss': ['jxss'],\n 'image/ktx': ['ktx'],\n 'image/ktx2': ['ktx2'],\n 'image/png': ['png'],\n 'image/sgi': ['sgi'],\n 'image/svg+xml': ['svg', 'svgz'],\n 'image/t38': ['t38'],\n 'image/tiff': ['tif', 'tiff'],\n 'image/tiff-fx': ['tfx'],\n 'image/webp': ['webp'],\n 'image/wmf': ['wmf'],\n 'message/disposition-notification': ['disposition-notification'],\n 'message/global': ['u8msg'],\n 'message/global-delivery-status': ['u8dsn'],\n 'message/global-disposition-notification': ['u8mdn'],\n 'message/global-headers': ['u8hdr'],\n 'message/rfc822': ['eml', 'mime'],\n 'model/3mf': ['3mf'],\n 'model/gltf+json': ['gltf'],\n 'model/gltf-binary': ['glb'],\n 'model/iges': ['igs', 'iges'],\n 'model/jt': ['jt'],\n 'model/mesh': ['msh', 'mesh', 'silo'],\n 'model/mtl': ['mtl'],\n 'model/obj': ['obj'],\n 'model/prc': ['prc'],\n 'model/step+xml': ['stpx'],\n 'model/step+zip': ['stpz'],\n 'model/step-xml+zip': ['stpxz'],\n 'model/stl': ['stl'],\n 'model/u3d': ['u3d'],\n 'model/vrml': ['wrl', 'vrml'],\n 'model/x3d+binary': ['*x3db', 'x3dbz'],\n 'model/x3d+fastinfoset': ['x3db'],\n 'model/x3d+vrml': ['*x3dv', 'x3dvz'],\n 'model/x3d+xml': ['x3d', 'x3dz'],\n 'model/x3d-vrml': ['x3dv'],\n 'text/cache-manifest': ['appcache', 'manifest'],\n 'text/calendar': ['ics', 'ifb'],\n 'text/coffeescript': ['coffee', 'litcoffee'],\n 'text/css': ['css'],\n 'text/csv': ['csv'],\n 'text/html': ['html', 'htm', 'shtml'],\n 'text/jade': ['jade'],\n 'text/javascript': ['js', 'mjs'],\n 'text/jsx': ['jsx'],\n 'text/less': ['less'],\n 'text/markdown': ['md', 'markdown'],\n 'text/mathml': ['mml'],\n 'text/mdx': ['mdx'],\n 'text/n3': ['n3'],\n 'text/plain': ['txt', 'text', 'conf', 'def', 'list', 'log', 'in', 'ini'],\n 'text/richtext': ['rtx'],\n 'text/rtf': ['*rtf'],\n 'text/sgml': ['sgml', 'sgm'],\n 'text/shex': ['shex'],\n 'text/slim': ['slim', 'slm'],\n 'text/spdx': ['spdx'],\n 'text/stylus': ['stylus', 'styl'],\n 'text/tab-separated-values': ['tsv'],\n 'text/troff': ['t', 'tr', 'roff', 'man', 'me', 'ms'],\n 'text/turtle': ['ttl'],\n 'text/uri-list': ['uri', 'uris', 'urls'],\n 'text/vcard': ['vcard'],\n 'text/vtt': ['vtt'],\n 'text/wgsl': ['wgsl'],\n 'text/xml': ['*xml'],\n 'text/yaml': ['yaml', 'yml'],\n 'video/3gpp': ['3gp', '3gpp'],\n 'video/3gpp2': ['3g2'],\n 'video/h261': ['h261'],\n 'video/h263': ['h263'],\n 'video/h264': ['h264'],\n 'video/iso.segment': ['m4s'],\n 'video/jpeg': ['jpgv'],\n 'video/jpm': ['*jpm', '*jpgm'],\n 'video/mj2': ['mj2', 'mjp2'],\n 'video/mp2t': ['ts', 'm2t', 'm2ts', 'mts'],\n 'video/mp4': ['mp4', 'mp4v', 'mpg4'],\n 'video/mpeg': ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'],\n 'video/ogg': ['ogv'],\n 'video/quicktime': ['qt', 'mov'],\n 'video/webm': ['webm'],\n};\nObject.freeze(types);\nexport default types;\n","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Mime_extensionToType, _Mime_typeToExtension, _Mime_typeToExtensions;\nclass Mime {\n constructor(...args) {\n _Mime_extensionToType.set(this, new Map());\n _Mime_typeToExtension.set(this, new Map());\n _Mime_typeToExtensions.set(this, new Map());\n for (const arg of args) {\n this.define(arg);\n }\n }\n define(typeMap, force = false) {\n for (let [type, extensions] of Object.entries(typeMap)) {\n type = type.toLowerCase();\n extensions = extensions.map((ext) => ext.toLowerCase());\n if (!__classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").has(type)) {\n __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").set(type, new Set());\n }\n const allExtensions = __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type);\n let first = true;\n for (let extension of extensions) {\n const starred = extension.startsWith('*');\n extension = starred ? extension.slice(1) : extension;\n allExtensions?.add(extension);\n if (first) {\n __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").set(type, extension);\n }\n first = false;\n if (starred)\n continue;\n const currentType = __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(extension);\n if (currentType && currentType != type && !force) {\n throw new Error(`\"${type} -> ${extension}\" conflicts with \"${currentType} -> ${extension}\". Pass \\`force=true\\` to override this definition.`);\n }\n __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").set(extension, type);\n }\n }\n return this;\n }\n getType(path) {\n if (typeof path !== 'string')\n return null;\n const last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n const ext = last.replace(/^.*\\./, '').toLowerCase();\n const hasPath = last.length < path.length;\n const hasDot = ext.length < last.length - 1;\n if (!hasDot && hasPath)\n return null;\n return __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(ext) ?? null;\n }\n getExtension(type) {\n if (typeof type !== 'string')\n return null;\n type = type?.split?.(';')[0];\n return ((type && __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").get(type.trim().toLowerCase())) ?? null);\n }\n getAllExtensions(type) {\n if (typeof type !== 'string')\n return null;\n return __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type.toLowerCase()) ?? null;\n }\n _freeze() {\n this.define = () => {\n throw new Error('define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances');\n };\n Object.freeze(this);\n for (const extensions of __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").values()) {\n Object.freeze(extensions);\n }\n return this;\n }\n _getTestState() {\n return {\n types: __classPrivateFieldGet(this, _Mime_extensionToType, \"f\"),\n extensions: __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\"),\n };\n }\n}\n_Mime_extensionToType = new WeakMap(), _Mime_typeToExtension = new WeakMap(), _Mime_typeToExtensions = new WeakMap();\nexport default Mime;\n","import otherTypes from '../types/other.js';\nimport standardTypes from '../types/standard.js';\nimport Mime from './Mime.js';\nexport { default as Mime } from './Mime.js';\nexport default new Mime(standardTypes, otherTypes)._freeze();\n","import { computed, type Ref } from 'vue';\nimport { useI18n } from '@/utils/ts/i18n';\nimport mime from 'mime';\nimport messages from '../../messages.json';\n\ntype MessageSchema = (typeof messages)['en-US'];\n\n/**\n * Transforms a file extension to uppercase or a MIME type to an uppercase\n * extension prefixed by a dot:\n *\n * .jpeg -> .JPEG\n * application/pdf -> .PDF\n *\n * @param type Extension or Mime type string\n * @returns Extension\n */\nfunction getExtension(type: string) {\n // Is mimetype\n if (type.includes('/')) {\n return `.${mime.getExtension(type).toUpperCase()}`;\n }\n\n // Is extension\n return type.toUpperCase();\n}\n\n/**\n * Transforms a list of accepted file types or MIME types @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept}\n * into a human readable list of file extentions.\n *\n * .jpeg -> .JPEG\n * application/pdf -> .PDF\n *\n * @param accept String containing a list of unique file type specifiers.\n * @returns String with types transformed to human readable text\n */\nexport function useFileTypeList(accept?: Ref<string>) {\n const { locale, t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const supportedFileTypeList = computed<string>(() => {\n const formatter = new Intl.ListFormat(locale.value, { style: 'short', type: 'unit' });\n\n return accept?.value\n ? formatter.format(\n accept.value.split(',').map(type => {\n const value = type.trim();\n switch (value) {\n case 'audio/*':\n return t('audioFiles');\n case 'image/*':\n return t('imageFiles');\n case 'video/*':\n return t('videoFiles');\n default:\n return getExtension(type);\n }\n })\n )\n : null;\n });\n\n return { supportedFileTypeList };\n}\n","import { computed, reactive } from 'vue';\nimport mime from 'mime';\nimport { type useDragDropStateProps } from './use-drag-drop-state.types';\n\n/**\n * Transforms a file extension to MIME type.\n * @param type Type or extension to be transformed\n * @returns Extension transformed into MIME type\n */\nfunction transformExtensionToMimeType(type: string) {\n // When getType is \"null\" the value is a mime type\n return mime.getType(type) ?? type;\n}\n\n/**\n * Provides a set of states for the Drag and drop component as well as a set of errors calculated\n * during the \"dragenter\" event.\n *\n * The errors prevent the files from being dropped.\n * The state helps indicating what's the current state of the component.\n *\n * @param options Properties used to validate files when they are dragged inside the file uploader\n * @returns Drag state and errors calculated during the validation perfomed on the Drag event\n */\nexport function useDragDropState({ maxCount, accept }: useDragDropStateProps) {\n const dragErrors = reactive({\n invalidTypes: false,\n partiallyInvalidTypes: false,\n maxCountOverflow: false,\n });\n\n const dragState = reactive({\n dragging: false,\n error: false,\n });\n\n // Convert all extensions to MIME types\n const acceptMimeTypes = computed<Array<string>>(() => {\n if (!accept.value) {\n return undefined;\n }\n\n const types = accept.value\n .split(',') // Split all comma values\n .map(type => transformExtensionToMimeType(type.trim().toLocaleLowerCase()));\n return types;\n });\n\n /**\n * Resets to default the states provided by the composable\n */\n function resetDragState() {\n dragState.dragging = false;\n dragState.error = false;\n dragErrors.invalidTypes = false;\n dragErrors.partiallyInvalidTypes = false;\n dragErrors.maxCountOverflow = false;\n }\n\n /**\n * Validates if the files being dragged into the component meet all\n * restrictions applied by the MIME type through the \"action\" and\n * with the \"maxCount\" props\n *\n * @param totalFilesCount Total amount of files currently uploded\n * @param event Event triggered by the \"onenter\" action\n */\n function onDragEnterValidations(totalFilesCount: number, event: DragEvent) {\n // Enable dragging\n dragState.dragging = true;\n\n // Show error when the amount of files being dragged is higher than \"maxCount\"\n if (!event.dataTransfer.types.includes('Files') || totalFilesCount > maxCount.value) {\n dragErrors.maxCountOverflow = true;\n dragState.error = true;\n }\n\n // Do nothing if no file type/extension restrictions are set\n if (!acceptMimeTypes.value) {\n return;\n }\n\n let countValidFiles = 0;\n\n for (const file of event.dataTransfer.items) {\n if (acceptMimeTypes.value.includes(file.type)) {\n countValidFiles++;\n }\n }\n\n if (countValidFiles === 0) {\n dragState.error = true;\n dragErrors.invalidTypes = true;\n return;\n }\n\n // If some files have non-accepted types\n if (!dragErrors.invalidTypes && countValidFiles !== event.dataTransfer.items.length) {\n dragState.error = true;\n dragErrors.partiallyInvalidTypes = true;\n }\n }\n\n return {\n dragState,\n dragErrors,\n resetDragState,\n onDragEnterValidations,\n };\n}\n","<template>\n <div class=\"b-file-uploader\" :class=\"conditionalClasses\">\n <field-label\n class=\"b-file-uploader__label\"\n :for=\"inputFieldId\"\n :label=\"label\"\n :optional=\"optional\"\n :required=\"required\"\n :tooltip-text=\"tooltipText\"\n />\n\n <input\n :id=\"inputFieldId\"\n ref=\"inputRef\"\n aria-hidden=\"true\"\n type=\"file\"\n tabindex=\"-1\"\n data-testid=\"input\"\n class=\"b-file-uploader__input\"\n :accept=\"accept\"\n :disabled=\"disabled\"\n :multiple=\"isMultiple\"\n @change=\"onInputChange\"\n @click=\"onInputClick\"\n />\n\n <!-- Used to separate the a11y text with breaks for the reader. Hidden to users -->\n <span :id=\"commaTextId\" aria-hidden=\"true\" class=\"b-file-uploader__invisible-comma\"> , </span>\n\n <div\n v-if=\"!hideArea\"\n ref=\"dropAreaRef\"\n :aria-labelledby=\"fileUploadAriaLabelledBy\"\n class=\"b-file-uploader__area\"\n role=\"button\"\n :tabindex=\"disabled ? -1 : 0\"\n @click=\"inputRef.click()\"\n @dragenter.stop.prevent=\"onDragEnter\"\n @dragleave.stop.prevent=\"onDragLeave\"\n @drop.stop.prevent=\"onDrop\"\n @dragover=\"onDragOver\"\n @keydown.enter.prevent.capture=\"inputRef.click()\"\n @keydown.space.prevent.capture=\"inputRef.click()\"\n >\n <div class=\"b-file-uploader__icon\" aria-hidden=\"true\">\n <warning-filled-icon v-if=\"hasError\" />\n <upload-icon v-else />\n </div>\n\n <template v-if=\"!condensed\">\n <bento-typography :id=\"dropFilesTextId\" el=\"span\" strongest class=\"b-file-uploader__title\">\n {{ tc('dropFiles', maxCount) }}\n </bento-typography>\n\n <bento-typography v-if=\"description\" :id=\"customTextId\" el=\"span\" class=\"b-file-uploader__description\">\n {{ description }}\n </bento-typography>\n\n <file-uploader-restrictions v-bind=\"fileUploadRestrictionsProps\" :id=\"fileUploaderRestrictionsId\" />\n </template>\n\n <bento-typography :id=\"browseFilesButtonId\" stronger class=\"b-file-uploader__button\">\n {{ t('browseFiles') }}\n </bento-typography>\n </div>\n\n <error-message\n v-if=\"hasError && errorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-file-uploader__error-message\"\n />\n\n <bento-typography\n v-if=\"condensed && description\"\n :id=\"customTextId\"\n aria-hidden=\"true\"\n el=\"span\"\n class=\"b-file-uploader__description b-file-uploader__description--condensed\"\n >\n {{ description }}\n </bento-typography>\n\n <file-uploader-restrictions\n v-if=\"condensed\"\n v-bind=\"fileUploadRestrictionsProps\"\n :id=\"fileUploaderRestrictionsId\"\n />\n\n <bento-alert v-if=\"maxFileCountError\" type=\"critical\">\n {{ t('tooManyFiles') }}\n <template #description>\n {{ t('youHaveExceededTheMaximum', { count: n(props.maxCount) }) }}\n </template>\n </bento-alert>\n\n <div v-show=\"files?.length\" class=\"b-file-uploader__files\">\n <file-uploader-file-card\n v-for=\"(file, index) in files\"\n :ref=\"registerFileCardRef(index)\"\n :key=\"file.id\"\n :file=\"file\"\n :supported-file-types=\"supportedFileTypeList\"\n @cancel=\"removeFile(file)\"\n @remove=\"removeFile(file)\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, onMounted, reactive, ref, toRef, watch } from 'vue';\n import UploadIcon from '@adyen/ui-assets-icons-16/vue/upload';\n import WarningFilledIcon from '@adyen/ui-assets-icons-16/vue/warning-filled';\n\n import { BentoAlert } from '@/components/alert';\n import { BentoTypography } from '@/components/typography';\n import { ErrorMessage, FieldLabel } from '@/internal';\n import { FileUploaderFileCard } from './components/file-uploader-file-card';\n import { FileUploaderRestrictions } from './components/file-uploader-restrictions';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/core/utils/ts';\n import { getFileType, readFile } from './utils';\n import { useFileTypeList } from './composables';\n import { useDragDropState } from '@/components/file-uploader/composables/use-drag-drop-state/use-drag-drop-state';\n import { deprecate } from '@/utils/ts/deprecate';\n import { useFormFieldEmits } from '@/utils/ts/form-field/form-field';\n\n import {\n type BentoFileUploaderProps,\n type BentoFileUploaderValue,\n FileErrorType,\n type FileObject,\n FileState,\n FileUploaderState,\n } from './file-uploader.types';\n import type { FileUploaderRestrictionsProps } from '@/components/file-uploader/components/file-uploader-restrictions/file-uploader-restrictions.types';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t, tc, n } = useI18n<{ message: MessageSchema }>({ messages });\n\n const emit = defineEmits([\"change\", \"input\", \"update:model-value\", \"error:upload\"]);\n\n const props = defineProps({\n accept: { default: null },\n condensed: { type: Boolean },\n description: { default: null },\n disabled: { type: Boolean },\n errorMessage: { default: null },\n label: null,\n maxCount: { default: 1 },\n maxDimensions: { default: null },\n maxSize: { default: null },\n modelValue: { default: null },\n optional: { type: Boolean },\n required: { type: Boolean },\n tooltipText: { default: null }\n});\n\n const { emitValue } = useFormFieldEmits<BentoFileUploaderValue>(emit);\n\n /**\n * Model value checks\n * Filter out type string, array and file as FileList is the only type un-deprecated for modelValue\n * */\n\n /**\n * Type guard to check if the value is a FileList.\n * @param files The value to check.\n */\n function isFileList(files: BentoFileUploaderValue): files is FileList {\n return (\n !!files && typeof (files as FileList).length === 'number' && typeof (files as FileList).item === 'function'\n );\n }\n\n /**\n * Used as vitest recognizes FileList as an Array of Files which then\n * causes any tests with pre-uploaded files to fail as isFileList will fail.\n * */\n onMounted(() => {\n // Model is not a FileList\n if (!isFileList(props.modelValue)) {\n deprecate(\n 'BentoFileUploaderValue types: string | Array<string> | File | Array<File>',\n 'Use FileList instead.',\n '2.0.0'\n );\n }\n });\n\n const { supportedFileTypeList } = useFileTypeList(toRef(props, 'accept'));\n\n const browseFilesButtonId = generateUid('browse-button');\n const customTextId = generateUid('custom-text');\n const dropFilesTextId = generateUid('drop-files-text');\n const commaTextId = generateUid('comma-text');\n const fileUploaderRestrictionsId = generateUid('file-uploader-restrictions');\n\n const files = ref<Array<FileObject>>(null);\n const fileCardRefs = ref<Array<InstanceType<typeof FileUploaderFileCard>>>([]);\n const inputRef = ref<HTMLInputElement>(null);\n const dropAreaRef = ref<HTMLDivElement>(null);\n const inputFieldId = generateUid('input');\n const errorId = generateUid('input-error');\n\n const fileUploadAriaLabelledBy = computed(() => {\n const formattedDropFileTextId = !props.condensed ? `${dropFilesTextId} ${commaTextId}` : '';\n const formattedCustomTextId = props.description ? `${customTextId} ${commaTextId}` : '';\n const formattedFileUploaderRestrictionsId = `${fileUploaderRestrictionsId} ${commaTextId}`;\n return `${formattedDropFileTextId} ${formattedCustomTextId} ${formattedFileUploaderRestrictionsId} ${browseFilesButtonId}`;\n });\n\n const { dragState, dragErrors, resetDragState, onDragEnterValidations } = useDragDropState({\n accept: toRef(props, 'accept'),\n maxCount: toRef(props, 'maxCount'),\n });\n\n const fileUploadRestrictionsProps = computed<FileUploaderRestrictionsProps>(() => ({\n condensed: props.condensed,\n disabled: props.disabled,\n maxCount: isMultiple.value\n ? {\n value: props.maxCount,\n error: dragErrors.maxCountOverflow || maxFileCountError.value,\n }\n : null,\n maxDimensions: props.maxDimensions\n ? {\n value: props.maxDimensions,\n error: files.value?.some(file => file.errors.includes(FileErrorType.ERROR_DIMENSIONS)),\n }\n : null,\n maxSize: props.maxSize\n ? {\n value: props.maxSize,\n error: files.value?.some(file => file.errors.includes(FileErrorType.ERROR_SIZE)),\n }\n : null,\n supportedFileTypes: supportedFileTypeList.value\n ? {\n value: supportedFileTypeList.value,\n error:\n dragErrors.invalidTypes ||\n dragErrors.partiallyInvalidTypes ||\n files.value?.some(file => file.errors.includes(FileErrorType.ERROR_TYPE)),\n }\n : null,\n }));\n // Prevents triggering \"dragleave\" events on children elements\n const enterTarget = ref<EventTarget>();\n\n const conditionalClasses = computed(() => ({\n [`b-file-uploader--${FileUploaderState.DISABLED}`]: props.disabled,\n [`b-file-uploader--${FileUploaderState.DRAG_OVER}`]: dragState.dragging,\n [`b-file-uploader--${FileUploaderState.ERROR}`]: hasError.value,\n [`b-file-uploader--condensed`]: props.condensed,\n }));\n const isMultiple = computed(() => props.maxCount > 1);\n const hideArea = computed(() => props.maxCount && files.value?.length >= props.maxCount);\n const loadingStateExists = computed(() => files.value?.some(file => file.state === 'loading'));\n\n const registerFileCardRef = (cardIndex: number) => fileCardRef => {\n fileCardRefs.value[cardIndex] = fileCardRef;\n };\n\n /**\n * Verifies the new list of files and emits the `change` and `update:modelValue` events.\n * @param newList The new list of files to process and emit.\n */\n function emitUpdate(newList: Array<FileObject>) {\n if (newList) {\n verifyFileCount(newList);\n verifyFileSize(newList);\n\n const value = convertToFileList(newList);\n\n emit('change', value);\n emitValue(value);\n } else {\n emit('change', undefined);\n emitValue(undefined);\n }\n }\n\n /** Errors */\n const hasError = computed(() => !!props.errorMessage || dragState.error);\n const maxFileCountError = computed(() => files.value?.length > props.maxCount);\n const maxFileError = ref(false);\n const hasRestrictionError = computed(() => files.value?.some(file => file.state === 'error'));\n\n watch(hasRestrictionError, newValue => {\n // Without this, when files are initially uploaded the component\n // will immediately and unnecessarily emit 'false' and then\n // emit 'true' once processing has done, if errors exists.\n if (loadingStateExists.value) {\n return;\n }\n\n emit('error:upload', newValue);\n });\n\n /**\n * Places the focus to the \"drop area\" after adding or removing a file.\n * If more files can be added, the focus is moved to the \"drop area\".\n * If no more files can be added, the focus is moved to the first file card.\n */\n async function resetFocus() {\n await nextTick();\n\n if (files.value.length === props.maxCount) {\n fileCardRefs.value[0]?.focus();\n return;\n }\n\n dropAreaRef.value.focus();\n }\n\n /**\n * Removes the file from the list of files when the\n * \"remove\" or \"cancel\" events are triggered from\n * the file card component\n * @param file File to be removed\n */\n async function removeFile(file: FileObject) {\n files.value = files.value.filter(({ id }) => id !== file.id);\n\n await resetFocus();\n emitUpdate(files.value);\n }\n\n /** Drag n Drop functions */\n\n /**\n * Creates a FileObject from a native File and tracks its client-load progress.\n * @param file The native File object.\n * @returns A FileObject.\n */\n function processFile(file: File) {\n const fileObject = reactive<FileObject>({\n id: generateUid('file'),\n data: file,\n errors: [],\n progress: null,\n state: FileState.LOADING,\n type: getFileType(file),\n });\n readFile(fileObject, props.accept, props.maxDimensions);\n return fileObject;\n }\n\n /**\n * Prevent opening the file browser when no\n * more files can be added (until one file is removed).\n * @param event Triggered event\n */\n function onInputClick(event: MouseEvent) {\n if (files.value?.length === props.maxCount) {\n event.preventDefault();\n }\n }\n\n /**\n * Sets the file/files to track their progress while being processed\n * @param fileList File or list of files to be processed.\n */\n async function onFileInput(fileList: FileList) {\n // Prevent adding many files if maxCount is 1\n if (props.maxCount === 1 && fileList.length > props.maxCount) {\n resetEnterTarget();\n resetDragState();\n return;\n }\n\n if (isMultiple.value) {\n // Add the new files to the file selection.\n // Removing files should be done by interacting with the file list below the area.\n files.value = [...(files.value || []), ...Array.from(fileList).map(file => processFile(file))];\n } else {\n files.value = [processFile(fileList[0])];\n await resetFocus();\n }\n\n emitUpdate(files.value);\n }\n\n /**\n * Handles the \"dragenter\" event, triggered when the mouse enters the draggable area.\n * Enables the dragging state and sets the dragging error to true to\n * prevent dropping files from being added if there's a general error.\n * @param event Drag event\n */\n function onDragEnter(event: DragEvent) {\n // Prevent changing state if disabled\n if (props.disabled) {\n return;\n }\n\n /**\n * Allows internal components as part of the dragable area.\n * Prevents trigerring \"dragleave\" events on children elements.\n * Set the \"dragarea\" as target\n */\n enterTarget.value = event.target;\n\n const totalFilesCount = (event.dataTransfer.items?.length ?? 0) + (files.value?.length ?? 0);\n onDragEnterValidations(totalFilesCount, event);\n }\n\n /**\n * Resets the reference to the target.\n * This helps preventing loosing the state when dragging over children\n */\n function resetEnterTarget() {\n enterTarget.value = null;\n }\n\n /**\n * Handles the \"dragleave\" event, triggered when the mouse leaves the draggable area.\n * Maintains the dragging state while dragging over children.\n * Resets the states when the mouse leaves the draggable area\n * @param event Drag event\n */\n function onDragLeave(event: DragEvent) {\n // If target enter and leave are the same it means the drag has left the \"dragarea\"\n if (enterTarget.value === event.target) {\n resetEnterTarget();\n resetDragState();\n }\n }\n\n /**\n * Handles the \"dragover\" event, triggered when the mouse moves over the draggable area.\n * Disables the cursor when the component is disabled.\n * @param event Drag event\n */\n function onDragOver(event: DragEvent) {\n event.preventDefault();\n\n // Disable drag n drop and change the cursor if disabled\n if (props.disabled) {\n // eslint-disable-next-line no-param-reassign\n event.dataTransfer.dropEffect = 'none';\n }\n }\n\n /**\n * Hadles the \"drop\" event, triggered when files are dropped inside the draggable area.\n * Processes the files that are dropped.\n * @param event Drag event\n */\n async function onDrop(event: DragEvent) {\n // Prevent events when the input is disabled\n if (props.disabled) {\n return;\n }\n\n if (!dragErrors.invalidTypes && event.dataTransfer.files?.length) {\n onFileInput(event.dataTransfer.files);\n }\n resetEnterTarget();\n resetDragState();\n }\n\n /**\n * Handles the \"change\" event over the \"input\" element.\n * Processes the files that are selected through the browser's file explorer.\n */\n async function onInputChange() {\n if (inputRef.value.files?.length) {\n onFileInput(inputRef.value.files);\n }\n\n // Reset input value\n inputRef.value.value = '';\n await resetFocus();\n }\n\n /** End of drag and drop functions */\n\n /**\n * Watches the modelValue and if set\n * and the type is not deprecated, it processes the files\n * but doesn't emit them as the user already has those files.\n */\n watch(\n () => props.modelValue,\n (newValue: BentoFileUploaderValue) => {\n // Sets the new value if it is a `FileList`. This ignores deprecated value types.\n if (newValue && isFileList(newValue)) {\n const fileList = newValue as FileList;\n\n const fileListArray: Array<File> = Array.from(fileList);\n\n files.value = fileListArray.map(file => processFile(file));\n } else if (!newValue && files.value) {\n // Clear the file list when the value is programmatically unset.\n files.value = null;\n }\n },\n { immediate: true }\n );\n\n function verifyFileCount(fileList: Array<FileObject>) {\n const isValid = props.maxCount && fileList.length <= props.maxCount;\n maxFileError.value = !isValid;\n }\n\n function verifyFileSize(fileList: Array<FileObject>) {\n if (props.maxSize) {\n fileList.forEach(file => {\n const item = file; // Prevent eslint no-param-reassign\n if (item.data.size > props.maxSize) {\n item.state = FileState.ERROR;\n item.errors.push(FileErrorType.ERROR_SIZE);\n }\n });\n }\n }\n\n function convertToFileList(fileList: Array<FileObject>) {\n // Filter out files with errors\n const validFiles = fileList.filter(\n ({ errors }) => !errors.includes(FileErrorType.ERROR_LOAD) && !errors.includes(FileErrorType.ERROR_SIZE)\n );\n\n if (validFiles.length) {\n const dataTransfer = new DataTransfer();\n validFiles.forEach(({ data, id }) => {\n dataTransfer.items.add(data);\n });\n return dataTransfer.files;\n }\n return undefined;\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * The file uploader component enables users to upload one or multiple files from their device to our system.\n *\n * @example\n * import { BentoFileUploader, type BentoFileValue } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoFileUploader },\n * template: `\n * <bento-file-uploader\n * accept=\"image/*,video/*,.pdf,.png\"\n * condensed\n * description=\"Custom supporting text\"\n * disabled\n * errorMessage=\"Custom error message\"\n * label=\"Bento file uploader\"\n * :maxCount=\"1\"\n * :maxDimensions=\"{ width: 200, height: 100 }\"\n * :maxSize=\"1000\"\n * v-model=\"files\"\n * :optional=\"false\"\n * required\n * tooltipText=\"Useful information\"\n * />\n * `,\n * setup() {\n * const files = ref<BentoFileValue>()\n * }\n * }\n */\n export default {\n model: { prop: 'modelValue' },\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader.scss\" />\n"],"names":["uuid$9","_sfc_main$d","useTruncatedFileName","target","container","isContainerTruncating","ref","observer","disconnectObserver","onUnmounted","onMounted","entries","UNITS","formatFileSize","locale","size","unitIndex","FileState","FileState2","FileErrorType","FileErrorType2","FileUploaderState","FileUploaderState2","FileType","FileType2","textFileExtraTypes","tableFileTypes","slidesFileTypes","compressedFileTypes","getFileType","file","isFileTypeAccepted","accept","acceptPatterns","type","pattern","category","readFile","fileObject","maxDimensions","reader","event","blob","url","img","uuid$8","_sfc_main$b","uuid$7","_sfc_main$a","uuid$6","_sfc_main$9","uuid$5","_sfc_main$8","uuid$4","_sfc_main$7","uuid$3","_sfc_main$6","uuid$2","_sfc_main$5","uuid$1","_sfc_main$4","uuid","_sfc_main$3","FILE_TYPE_ICON_MAP","SoundIcon","FolderIcon","AttachmentIcon","ImageIcon","DocumentIcon","CollectionIcon","TableIcon","DocumentLinesIcon","PlayCircleIcon","getFileIcon","getFileIconColor","__default__$2","messages$2","ICON_TIMER","t","useI18n","removeFileButtonRef","cancelFileButtonRef","retryFileButtonRef","fileErrorsSectionId","generateUid","cancelFileButtonId","removeFileButtonId","retryFileButtonId","showFileIcon","props","downloadUrl","computed","hasError","hasLoadError","hasSizeError","hasDimensionsError","hasTypeError","isLoading","progressLabel","sizeLabel","fileNameRef","fileNameContainerRef","isFileNameTruncated","conditionalClasses","conditionalIconClasses","fileUploaderIcon","BentoLoadingIndicator","WarningFilledIcon","CheckmarkCircleFillIcon","watch","value","changeTimer","focus","expose","__default__$1","messages$1","tc","n","setRestrictionErrorClass","error","maxDimensionsLabel","width","height","types$1","types","__classPrivateFieldGet","receiver","state","kind","f","_Mime_extensionToType","_Mime_typeToExtension","_Mime_typeToExtensions","Mime","args","arg","typeMap","force","extensions","ext","allExtensions","first","extension","starred","currentType","path","last","hasPath","_a","mime","getExtension","useFileTypeList","formatter","transformExtensionToMimeType","useDragDropState","maxCount","dragErrors","reactive","dragState","acceptMimeTypes","resetDragState","onDragEnterValidations","totalFilesCount","countValidFiles","__default__","messages","emitValue","useFormFieldEmits","emit","isFileList","files2","deprecate","supportedFileTypeList","toRef","browseFilesButtonId","customTextId","dropFilesTextId","commaTextId","fileUploaderRestrictionsId","files","fileCardRefs","inputRef","dropAreaRef","inputFieldId","errorId","fileUploadAriaLabelledBy","formattedDropFileTextId","formattedCustomTextId","formattedFileUploaderRestrictionsId","fileUploadRestrictionsProps","isMultiple","maxFileCountError","_b","_c","enterTarget","hideArea","loadingStateExists","registerFileCardRef","cardIndex","fileCardRef","emitUpdate","newList","verifyFileCount","verifyFileSize","convertToFileList","maxFileError","hasRestrictionError","newValue","resetFocus","nextTick","removeFile","id","processFile","onInputClick","onFileInput","fileList","resetEnterTarget","onDragEnter","onDragLeave","onDragOver","onDrop","onInputChange","fileListArray","isValid","item","validFiles","errors","dataTransfer","data"],"mappings":"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","x_google_ignoreList":[19,20,21,22]}
|
|
1
|
+
{"version":3,"file":"file-uploader.DsvADlNb.js","sources":["../../../ui-assets/icons-16/dist/vue/upload.vue","../../src/components/file-uploader/components/file-uploader-file-card/composables/use-truncated-file-name.ts","../../src/components/file-uploader/utils/format-file-size/format-file-size.ts","../../src/components/file-uploader/file-uploader.types.ts","../../src/components/file-uploader/utils/get-file-type/get-file-type.ts","../../src/components/file-uploader/utils/read-file/read-file.ts","../../../ui-assets/icons-16/dist/vue/attachment.vue","../../../ui-assets/icons-16/dist/vue/collection.vue","../../../ui-assets/icons-16/dist/vue/document-1.vue","../../../ui-assets/icons-16/dist/vue/document-lines.vue","../../../ui-assets/icons-16/dist/vue/folder.vue","../../../ui-assets/icons-16/dist/vue/image.vue","../../../ui-assets/icons-16/dist/vue/play-circle.vue","../../../ui-assets/icons-16/dist/vue/sound.vue","../../../ui-assets/icons-16/dist/vue/table.vue","../../src/components/file-uploader/components/file-uploader-file-card/utils/get-file-icon/get-file-icon.ts","../../src/components/file-uploader/components/file-uploader-file-card/utils/get-file-icon-color/get-file-icon-color.ts","../../src/components/file-uploader/components/file-uploader-file-card/file-uploader-file-card.vue","../../src/components/file-uploader/components/file-uploader-restrictions/file-uploader-restrictions.vue","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/types/other.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/types/standard.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/Mime.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/index.js","../../src/components/file-uploader/composables/use-file-type-list/use-file-type-list.ts","../../src/components/file-uploader/composables/use-drag-drop-state/use-drag-drop-state.ts","../../src/components/file-uploader/file-uploader.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.75 12C2.75 12.6904 3.30964 13.25 4 13.25H12C12.6904 13.25 13.25 12.6904 13.25 12V10.25H14.75V12C14.75 13.5188 13.5188 14.75 12 14.75H4C2.48122 14.75 1.25 13.5188 1.25 12V10.25H2.75V12Z\"/><path fill=\"#001222\" d=\"M12.0605 5L11 6.06055L8.75 3.81055V11.75H7.25V3.81055L5 6.06055L3.93945 5L8 0.939453L12.0605 5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import { type VueInstance } from '@/types/elements';\nimport { onMounted, onUnmounted, ref, type Ref } from 'vue';\n\n/**\n * Verifies if the content defined is being truncated when it is overflowing the container.\n *\n * @param target Element that contains the text to be truncated\n * @param container Scrollable container that defines the boundaries\n * @returns Boolean indicating whether or not the content will be truncated\n */\nexport function useTruncatedFileName(target: Ref<VueInstance>, container: Ref<HTMLElement>) {\n const isContainerTruncating = ref<boolean>(false);\n let observer: IntersectionObserver;\n\n function disconnectObserver() {\n if (observer) {\n observer.disconnect();\n }\n }\n\n onUnmounted(() => {\n disconnectObserver();\n });\n\n onMounted(() => {\n disconnectObserver();\n\n observer = new IntersectionObserver(\n entries => {\n isContainerTruncating.value = !entries[0].isIntersecting;\n },\n {\n root: container.value,\n threshold: 1.0,\n }\n );\n\n observer.observe(target.value.$el);\n });\n\n return isContainerTruncating;\n}\n","const UNITS = ['byte', 'kilobyte', 'megabyte', 'gigabyte', 'terabyte', 'petabyte'];\n\n/**\n * Converts size in bytes to a human readable format using Binary Prefixes IEC standard\n * For example, it transforms \"1024\" to \"1kB\"\n *\n * Source: https://physics.nist.gov/cuu/Units/binary.html\n *\n * @param locale App's set locale (e.g. en, es, pt-BR)\n * @param size Size of file in bytes\n * @returns Size of file using metrics\n */\nexport function formatFileSize(locale: string, size: number) {\n const unitIndex = Math.max(0, Math.min(Math.floor(Math.log(size) / Math.log(1024)), UNITS.length - 1));\n\n return Intl.NumberFormat(locale, {\n style: 'unit',\n unit: UNITS[unitIndex],\n }).format(size / 1024 ** unitIndex);\n}\n","export type BentoFileUploaderValue = string | Array<string> | File | Array<File> | FileList;\nexport interface BentoFileUploaderProps {\n /**\n * A string that defines the file types the file input should accept.\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept\n */\n accept?: HTMLInputElement['accept'];\n\n /**\n * Reduces the size of the uploader area.\n */\n condensed?: boolean;\n\n /**\n * Descriptive supporting text visbile underneath the label.\n */\n description?: string;\n\n /**\n * Disable the radio button (optional).\n */\n disabled?: boolean;\n\n /**\n * Renders file-uploader with an error state and the error message beneath the input box\n */\n errorMessage?: string;\n\n /**\n * The label of the component.\n */\n label: string;\n\n /**\n * Sets a maximum file count. Allows for uploading multiple files.\n */\n maxCount?: number;\n\n /**\n * Sets a maximum image size (for image file types only).\n */\n maxDimensions?: { width?: number; height?: number };\n\n /**\n * Sets a maximum file size in Bytes\n */\n maxSize?: number;\n\n /**\n * Used to support `v-model`. Can be used to set value of FileUploader if FileList\n */\n modelValue?: BentoFileUploaderValue;\n\n /**\n * Sets the field as optional.\n */\n optional?: boolean;\n\n /**\n * Sets the field as required.\n */\n required?: boolean;\n\n /**\n * Adds a info icon next to the label to display the passed tooltip message.\n */\n tooltipText?: string;\n}\n\n/**\n * Private types\n */\nexport enum FileState {\n LOADING = 'loading',\n SUCCESS = 'success',\n ERROR = 'error',\n}\n\nexport enum FileErrorType {\n ERROR_SIZE = 'error-size',\n ERROR_LOAD = 'error-load',\n ERROR_DIMENSIONS = 'error-dimensions',\n ERROR_TYPE = 'error-type',\n}\n\nexport enum FileUploaderState {\n DISABLED = 'disabled',\n DRAG_OVER = 'drag-over',\n ERROR = 'error',\n READONLY = 'readonly',\n}\n\nexport enum FileType {\n TABLE = 'table',\n IMAGE = 'image',\n VIDEO = 'video',\n AUDIO = 'audio',\n TEXT = 'text',\n PDF = 'pdf',\n SLIDES = 'slides',\n COMPRESSED = 'compressed',\n GENERIC = 'generic',\n}\n\nexport interface FileObject {\n id: string;\n data: File;\n state: FileState;\n errors: Array<FileErrorType>;\n type: FileType;\n progress: number | null;\n dimensions?: { width: number; height: number };\n}\n\nexport type SupportedFileTypes = string;\n","import { FileType } from '@/components/file-uploader/file-uploader.types';\n\nconst textFileExtraTypes = [\n 'application/msword', // .doc\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // .docx\n 'application/rtf', // .rtf\n];\n\nconst tableFileTypes = [\n 'application/vnd.ms-excel', // .xls\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', // .xlsx\n 'application/vnd.oasis.opendocument.spreadsheet', //.ods\n 'application/vnd.apple.numbers', // .numbers\n 'application/x-iwork-numbers-sffnumbers', // .numbers\n 'text/csv', // .csv\n];\n\nconst slidesFileTypes = [\n 'application/vnd.ms-powerpoint', // .ppt\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation', // .pptx\n 'application/vnd.oasis.opendocument.presentation', // .odp\n];\n\nconst compressedFileTypes = [\n 'application/zip', // .zip\n 'application/vnd.rar', // .rar\n 'application/x-7z-compressed', // .7z\n 'application/gzip', // .gz, .tar.gz, .tgz\n 'application/x-tar', // .tar\n 'application/x-bzip2', // .bz2\n 'application/x-xz', // .xz\n 'application/x-lzma', // .lzma\n 'application/x-compress', // .Z\n 'application/vnd.ms-cab-compressed', // .cab\n];\n\n/**\n * Categorizes the type of a file. Maps all types of text, image, video,\n * audio and documents to an specific category such as \"text/*\" or \"image/*\" respectively\n * @param file File to be typed\n * @returns Type category of the file being uploaded\n */\nexport function getFileType(file: File) {\n if (tableFileTypes.includes(file.type)) {\n return FileType.TABLE;\n }\n\n if (file.type.startsWith('text/') || textFileExtraTypes.includes(file.type)) {\n return FileType.TEXT;\n }\n\n if (file.type.startsWith('image/')) {\n return FileType.IMAGE;\n }\n\n if (file.type.startsWith('video/')) {\n return FileType.VIDEO;\n }\n\n if (file.type.startsWith('audio/')) {\n return FileType.AUDIO;\n }\n\n if (file.type === 'application/pdf') {\n return FileType.PDF;\n }\n\n if (slidesFileTypes.includes(file.type)) {\n return FileType.SLIDES;\n }\n\n if (compressedFileTypes.includes(file.type)) {\n return FileType.COMPRESSED;\n }\n\n return FileType.GENERIC;\n}\n","import { FileErrorType, type FileObject, FileState, FileType } from '@/components/file-uploader/file-uploader.types';\n\n/**\n * Validates if a File has the correct type accepted for the current instance of\n * BentoFileUploader.\n *\n * @param file File being processed\n * @param accept HTML MIME types valid for the file to be processed\n * @returns Whether or not the file has the right type\n */\nexport function isFileTypeAccepted(file: File, accept?: string) {\n if (!accept) {\n return true;\n }\n\n // Split accept attribute into individual rules (e.g., 'image/*', '.png')\n const acceptPatterns = accept.split(',').map(type => type.trim());\n\n for (const pattern of acceptPatterns) {\n if (pattern.startsWith('.')) {\n // Check for file extension\n if (file.name.endsWith(pattern)) {\n return true;\n }\n } else if (pattern.endsWith('/*')) {\n // Check for type category (e.g., 'image/*')\n const category = pattern.split('/')[0];\n if (file.type.startsWith(category)) {\n return true;\n }\n } else {\n // Check for exact MIME type match\n if (file.type === pattern) {\n return true;\n }\n }\n }\n\n return false; // No matches found\n}\n\n/**\n * Process a file to verify if it fulfills the accepted type restrictions defined in \"accept\",\n * the dimensions for \"image/*\" types defined by \"maxDimensions\". The state of the \"fileObject\" will\n * be updated according to the restrictions or if it was successfully uploaded.\n *\n * @param fileObject File to be processed\n * @param accept HTML MIME types valid for the file to be processed\n * @param maxDimensions Width and height restrictions for \"image/*\" files\n */\nexport function readFile(\n fileObject: FileObject,\n accept?: string,\n maxDimensions?: { width?: number; height?: number }\n): void {\n const reader = new FileReader();\n // Can't be cloned because the events are async\n const file = fileObject; // avoid ESLint no-param-reassign\n\n // Verify file type - skip the rest if invalid\n if (!isFileTypeAccepted(file.data, accept)) {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_TYPE);\n return;\n }\n\n reader.onload = event => {\n if (maxDimensions && file.type === FileType.IMAGE) {\n const blob = new Blob([event.target.result], { type: file.data.type });\n const url = URL.createObjectURL(blob);\n const img = new Image();\n\n img.onload = function () {\n if (img.width > maxDimensions.width || img.height > maxDimensions.height) {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_DIMENSIONS);\n }\n URL.revokeObjectURL(url);\n };\n\n img.onerror = function () {\n URL.revokeObjectURL(url);\n };\n\n img.src = url;\n }\n };\n\n reader.onprogress = event => {\n if (event.lengthComputable) {\n file.progress = (event.loaded / event.total) * 100;\n }\n };\n\n reader.onloadend = () => {\n if (file.state !== FileState.ERROR) {\n file.state = FileState.SUCCESS;\n }\n\n file.progress = null;\n };\n\n reader.onerror = () => {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_LOAD);\n file.progress = null;\n };\n\n reader.readAsArrayBuffer(file.data);\n}\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-attachment__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M7.10655 3.02949C8.98948 1.14706 12.0441 1.14675 13.9269 3.02949C15.8095 4.91225 15.8093 7.96692 13.9269 9.84981L11.1564 12.6203L10.0958 11.5598L12.8663 8.78926C14.1629 7.49216 14.1631 5.38701 12.8663 4.09004C11.5694 2.79309 9.46424 2.79339 8.1671 4.09004L2.72667 9.53047C1.95976 10.2976 1.95963 11.5427 2.72667 12.3098C3.49372 13.0766 4.7389 13.0766 5.50597 12.3098L10.9464 6.86934C11.183 6.63224 11.1832 6.24693 10.9464 6.00996C10.7094 5.77301 10.3242 5.77331 10.087 6.00996L4.4962 11.6008L3.43565 10.5402L9.02647 4.94942C9.8494 4.12698 11.1842 4.12668 12.0069 4.94942C12.8296 5.77217 12.8293 7.107 12.0069 7.92989L6.56651 13.3703C5.21366 14.723 3.01896 14.723 1.66612 13.3703C0.313294 12.0175 0.313425 9.82283 1.66612 8.46992L7.10655 3.02949Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-attachment__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" fill-rule=\"evenodd\" d=\"M11 0.25C12.5188 0.25 13.75 1.48122 13.75 3V7C13.75 7.85389 13.3607 8.6167 12.75 9.12109V10C12.75 10.8539 12.3607 11.6167 11.75 12.1211V13C11.75 14.5188 10.5188 15.75 9 15.75H7C5.48122 15.75 4.25 14.5188 4.25 13V12.1211C3.63934 11.6167 3.25 10.8539 3.25 10V9.12109C2.63934 8.6167 2.25 7.85389 2.25 7V3C2.25 1.48122 3.48122 0.25 5 0.25H11ZM10 12.75H6C5.91565 12.75 5.83241 12.7438 5.75 12.7363V13C5.75 13.6904 6.30964 14.25 7 14.25H9C9.69036 14.25 10.25 13.6904 10.25 13V12.7363C10.1676 12.7438 10.0843 12.75 10 12.75ZM11 9.75H5C4.91565 9.75 4.83241 9.74376 4.75 9.73633V10C4.75 10.6904 5.30964 11.25 6 11.25H10C10.6904 11.25 11.25 10.6904 11.25 10V9.73633C11.1676 9.74376 11.0843 9.75 11 9.75ZM5 1.75C4.30964 1.75 3.75 2.30964 3.75 3V7C3.75 7.69036 4.30964 8.25 5 8.25H11C11.6904 8.25 12.25 7.69036 12.25 7V3C12.25 2.30964 11.6904 1.75 11 1.75H5Z\" clip-rule=\"evenodd\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.25 0.25V15.75H13.75V4.68934L9.31066 0.25H2.25ZM7.25 1.75V6.75H12.25V14.25H3.75V1.75H7.25ZM12.1893 5.25H8.75V1.81066L12.1893 5.25Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.24609 8.25H10.7461V9.75H5.24609V8.25Z\"/><path fill=\"#001222\" d=\"M10.7461 11.25H5.24609V12.75H10.7461V11.25Z\"/><path fill=\"#001222\" d=\"M2.24609 0.25V15.75H13.7461V4.68934L9.30675 0.25H2.24609ZM7.24609 1.75V6.75H12.2461V14.25H3.74609V1.75H7.24609ZM12.1854 5.25H8.74609V1.81066L12.1854 5.25Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M1.24609 12V5C1.24609 3.48579 2.48188 2.25 3.99609 2.25H7.30664L10.3066 5.25H11.9961C13.5103 5.25 14.7461 6.48579 14.7461 8V12C14.7461 13.5142 13.5103 14.75 11.9961 14.75H3.99609C2.48188 14.75 1.24609 13.5142 1.24609 12ZM2.74609 12C2.74609 12.6858 3.31031 13.25 3.99609 13.25H11.9961C12.6819 13.25 13.2461 12.6858 13.2461 12V8C13.2461 7.31421 12.6819 6.75 11.9961 6.75H9.68555L6.68555 3.75H3.99609C3.31031 3.75 2.74609 4.31421 2.74609 5V12Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M9.74609 3.74805C11.1268 3.74805 12.2461 4.86733 12.2461 6.24805C12.2461 7.62876 11.1268 8.74805 9.74609 8.74805C8.36538 8.74805 7.24609 7.62876 7.24609 6.24805C7.24609 4.86733 8.36538 3.74805 9.74609 3.74805ZM9.74609 5.24805C9.19381 5.24805 8.74609 5.69576 8.74609 6.24805C8.74609 6.80033 9.19381 7.24805 9.74609 7.24805C10.2984 7.24805 10.7461 6.80033 10.7461 6.24805C10.7461 5.69576 10.2984 5.24805 9.74609 5.24805Z\"/><path fill=\"#001222\" d=\"M11.9961 1.24805C13.5149 1.24805 14.7461 2.47926 14.7461 3.99805V11.998C14.7461 13.5168 13.5149 14.748 11.9961 14.748H3.99609C2.47731 14.748 1.24609 13.5168 1.24609 11.998V3.99805C1.24609 2.47926 2.47731 1.24805 3.99609 1.24805H11.9961ZM2.74609 11.3105V11.998C2.74609 12.6884 3.30574 13.248 3.99609 13.248H9.18359L4.99609 9.06055L2.74609 11.3105ZM3.99609 2.74805C3.30574 2.74805 2.74609 3.30769 2.74609 3.99805V9.18945L4.99609 6.93945L11.3047 13.248H11.9961C12.6864 13.248 13.2461 12.6884 13.2461 11.998V3.99805C13.2461 3.30769 12.6865 2.74805 11.9961 2.74805H3.99609Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-play_circle__a' + uuid + ')'\"><path d=\"M10.9722 8.00002L6.62012 5.09863V10.9014L10.9722 8.00002Z\"/><path d=\"M5.0342 0.839937C6.45033 0.253358 8.0086 0.0998821 9.51195 0.398918C11.0153 0.697953 12.3962 1.43607 13.4801 2.51993C14.5639 3.60378 15.3021 4.9847 15.6011 6.48805C15.9001 7.99141 15.7466 9.54967 15.1601 10.9658C14.5735 12.3819 13.5801 13.5923 12.3057 14.4439C11.0312 15.2955 9.53281 15.75 8 15.75C5.94457 15.75 3.97333 14.9335 2.51992 13.4801C1.06652 12.0267 0.25 10.0554 0.25 8C0.25 6.4672 0.704529 4.96881 1.55611 3.69433C2.40769 2.41985 3.61808 1.42652 5.0342 0.839937ZM9.21931 1.8701C8.00693 1.62894 6.75027 1.75271 5.60823 2.22576C4.46619 2.6988 3.49007 3.49988 2.80331 4.52769C2.11656 5.5555 1.75 6.76387 1.75 8C1.75 9.65761 2.40848 11.2473 3.58058 12.4194C4.75268 13.5915 6.3424 14.25 8 14.25C9.23613 14.25 10.4445 13.8834 11.4723 13.1967C12.5001 12.5099 13.3012 11.5338 13.7742 10.3918C14.2473 9.24974 14.3711 7.99307 14.1299 6.78069C13.8887 5.56831 13.2935 4.45466 12.4194 3.58059C11.5453 2.70651 10.4317 2.11125 9.21931 1.8701Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-play_circle__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.68934 2.25H8.75V13.75H5.68934L2.68934 10.75H0.25V5.25H2.68934L5.68934 2.25ZM6.31066 3.75L3.31066 6.75H1.75V9.25H3.31066L6.31066 12.25H7.25V3.75H6.31066Z\"/><path fill=\"#001222\" d=\"M13.0111 4.99174C12.2099 4.19982 11.1294 3.75 10 3.75V2.25C11.53 2.25 12.9888 2.85964 14.0675 3.92684L14.0703 3.92966C15.1527 5.01199 15.75 6.47347 15.75 8C15.75 9.52995 15.1404 10.9888 14.0732 12.0675L14.0703 12.0703C12.988 13.1527 11.5265 13.75 10 13.75V12.25C11.1328 12.25 12.2107 11.8079 13.0082 11.0111C13.8002 10.21 14.25 9.1294 14.25 8C14.25 6.8672 13.8079 5.78927 13.0111 4.99174Z\"/><path fill=\"#001222\" d=\"M10 6.75V5.25C10.7257 5.25 11.4295 5.53694 11.9438 6.06319C12.4593 6.58041 12.75 7.26849 12.75 8C12.75 8.72573 12.4631 9.42951 11.9368 9.94383C11.4196 10.4593 10.7315 10.75 10 10.75V9.25C10.3268 9.25 10.6373 9.12206 10.8797 8.87967L10.8868 8.87265C11.1182 8.64727 11.25 8.33261 11.25 8C11.25 7.67317 11.1221 7.36272 10.8797 7.12033L10.8726 7.11321C10.6473 6.88175 10.3326 6.75 10 6.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M12 1.25C13.5188 1.25 14.75 2.48122 14.75 4V12C14.75 13.5188 13.5188 14.75 12 14.75H4C2.48122 14.75 1.25 13.5188 1.25 12V4C1.25 2.48122 2.48122 1.25 4 1.25H12ZM6.75 13.25H12C12.6904 13.25 13.25 12.6904 13.25 12V10.75H6.75V13.25ZM2.75 12C2.75 12.6904 3.30964 13.25 4 13.25H5.25V10.75H2.75V12ZM6.75 9.25H13.25V6.75H6.75V9.25ZM2.75 9.25H5.25V6.75H2.75V9.25ZM6.75 5.25H13.25V4C13.25 3.30964 12.6904 2.75 12 2.75H6.75V5.25ZM4 2.75C3.30964 2.75 2.75 3.30964 2.75 4V5.25H5.25V2.75H4Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import { type VueNodeElement } from '@/types/elements';\nimport { type FileObject, FileType } from '@/components/file-uploader/file-uploader.types';\n\nimport AttachmentIcon from '@adyen/ui-assets-icons-16/vue/attachment';\nimport CollectionIcon from '@adyen/ui-assets-icons-16/vue/collection';\nimport DocumentIcon from '@adyen/ui-assets-icons-16/vue/document-1';\nimport DocumentLinesIcon from '@adyen/ui-assets-icons-16/vue/document-lines';\nimport FolderIcon from '@adyen/ui-assets-icons-16/vue/folder';\nimport ImageIcon from '@adyen/ui-assets-icons-16/vue/image';\nimport PlayCircleIcon from '@adyen/ui-assets-icons-16/vue/play-circle';\nimport SoundIcon from '@adyen/ui-assets-icons-16/vue/sound';\nimport TableIcon from '@adyen/ui-assets-icons-16/vue/table';\n\nconst FILE_TYPE_ICON_MAP: Record<FileType, VueNodeElement> = {\n [FileType.AUDIO]: SoundIcon,\n [FileType.COMPRESSED]: FolderIcon,\n [FileType.GENERIC]: AttachmentIcon,\n [FileType.IMAGE]: ImageIcon,\n [FileType.PDF]: DocumentIcon,\n [FileType.SLIDES]: CollectionIcon,\n [FileType.TABLE]: TableIcon,\n [FileType.TEXT]: DocumentLinesIcon,\n [FileType.VIDEO]: PlayCircleIcon,\n};\n\n/**\n * Return an icon Vue component that can be used with a given File type @see FileType\n * @param file File object containing a type\n * @returns Icon for the respective type\n */\nexport function getFileIcon(file: FileObject) {\n return FILE_TYPE_ICON_MAP[file.type];\n}\n","import { type FileObject, FileType } from '@/components/file-uploader/file-uploader.types';\n\n/**\n * Returns the color to be used for the icon of a given type.\n *\n * @param file File with a given type\n * @returns Color to be used with their respective file type\n */\nexport function getFileIconColor(file: FileObject) {\n switch (file.type) {\n case FileType.COMPRESSED:\n case FileType.GENERIC:\n return 'grey';\n case FileType.PDF:\n case FileType.SLIDES:\n return 'orange';\n case FileType.TEXT:\n return 'blue';\n default:\n return 'green';\n }\n}\n","<template>\n <div class=\"b-file-uploader-file-card\" :class=\"conditionalClasses\">\n <div class=\"b-file-uploader-file-card__details\">\n <div class=\"b-file-uploader-file-card__info\">\n <file-uploader-file-card-animation\n :name=\"\n isVue2 ? 'b-file-uploader-file-card__animation' : 'b-file-uploader-file-card__animation--vue3'\n \"\n :show-file-icon=\"showFileIcon\"\n >\n <component\n :is=\"fileUploaderIcon\"\n :key=\"JSON.stringify(fileUploaderIcon)\"\n small\n aria-hidden=\"true\"\n class=\"b-file-uploader-file-card__icon\"\n :class=\"conditionalIconClasses\"\n data-testid=\"file-uploader-item-icon\"\n />\n </file-uploader-file-card-animation>\n\n <div ref=\"fileNameContainerRef\" class=\"b-file-uploader-file-card__file-name\">\n <bento-link\n aria-hidden=\"true\"\n tabindex=\"-1\"\n :download=\"file.data.name\"\n :to=\"downloadUrl\"\n disable-typography\n is-not-routing\n variant=\"quiet\"\n >\n <bento-typography\n ref=\"fileNameRef\"\n v-bento-tooltip-directive=\"isFileNameTruncated ? file.data.name : null\"\n stronger\n el=\"span\"\n >\n {{ file.data.name }}\n </bento-typography>\n </bento-link>\n </div>\n\n <bento-typography v-if=\"file.progress\" el=\"span\">{{ progressLabel }}</bento-typography>\n <bento-typography\n v-else-if=\"file.data.size\"\n class=\"b-file-uploader-file-card__file-size\"\n aria-hidden=\"true\"\n el=\"span\"\n >\n {{ sizeLabel }}\n </bento-typography>\n </div>\n\n <div\n v-if=\"hasSizeError || hasDimensionsError || (hasTypeError && supportedFileTypes)\"\n :id=\"fileErrorsSectionId\"\n role=\"alert\"\n >\n <bento-typography v-if=\"hasSizeError\" class=\"b-file-uploader-file-card__error-message\">\n {{ t('fileExceedsSizeLimit') }}\n </bento-typography>\n <bento-typography v-if=\"hasDimensionsError\" class=\"b-file-uploader-file-card__error-message\">\n {{ t('imageDimensionsExceedLimits') }}\n </bento-typography>\n <bento-typography\n v-if=\"hasTypeError && supportedFileTypes\"\n class=\"b-file-uploader-file-card__error-message\"\n >\n {{ t('fileTypeMustBe', { list: supportedFileTypes }) }}\n </bento-typography>\n </div>\n </div>\n\n <div class=\"b-file-uploader-file-card__actions\">\n <bento-button\n v-if=\"hasLoadError\"\n ref=\"retryFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${retryFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('retry')\"\n >\n <template #iconLeft>\n <refresh-icon :id=\"retryFileButtonId\" :svg-title=\"`${t('retry')} - ${file.data.name} `\" />\n </template>\n {{ t('retry') }}\n </bento-button>\n <bento-button\n v-if=\"isLoading || hasError\"\n ref=\"cancelFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${cancelFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('cancel')\"\n >\n <template #iconLeft>\n <cross-icon :id=\"cancelFileButtonId\" :svg-title=\"`${t('cancel')} - ${file.data.name}`\" />\n </template>\n </bento-button>\n <bento-button\n v-else\n ref=\"removeFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${removeFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('remove')\"\n >\n <template #iconLeft>\n <bin-icon :id=\"removeFileButtonId\" :svg-title=\"`${t('remove')} - ${file.data.name}`\" />\n </template>\n </bento-button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, watch } from 'vue';\n import { isVue2 } from 'vue-demi';\n import { FileUploaderFileCardAnimation } from './components';\n import BinIcon from '@adyen/ui-assets-icons-16/vue/bin';\n import CheckmarkCircleFilledIcon from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import WarningFilledIcon from '@adyen/ui-assets-icons-16/vue/warning-filled';\n\n import { BentoTooltipDirective as vBentoTooltipDirective } from '@/directives';\n import { BentoButton } from '@/components/button';\n import { BentoLink } from '@/components/link';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n import { BentoTypography } from '@/components/typography';\n import { useTruncatedFileName } from './composables/use-truncated-file-name';\n import { generateUid } from '@/core/utils/ts';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { formatFileSize } from '../../utils';\n import { getFileIcon, getFileIconColor } from './utils';\n import { FileErrorType, FileState } from '@/components/file-uploader/file-uploader.types';\n import type { FileUploaderFileCardProps } from './file-uploader-file-card.types';\n import type { VueInstance } from '@/types/elements';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const ICON_TIMER = 1200;\n\n const props = defineProps({\n file: null,\n supportedFileTypes: { default: null }\n});\n\n const emit = defineEmits([\"cancel\", \"remove\", \"retry\"]);\n\n const { t, locale } = useI18n<{ message: MessageSchema }>({ messages });\n\n const removeFileButtonRef = ref(null);\n const cancelFileButtonRef = ref(null);\n const retryFileButtonRef = ref(null);\n const fileErrorsSectionId = generateUid('file-errors-section');\n const cancelFileButtonId = generateUid('cancel-file-button');\n const removeFileButtonId = generateUid('remove-file-button');\n const retryFileButtonId = generateUid('retry-file-button');\n\n // If initial state is success, immediately show file icon\n const showFileIcon = ref(props.file.state === FileState.SUCCESS);\n\n const downloadUrl = computed(() => URL.createObjectURL(props.file.data));\n const hasError = computed(() => props.file.state === FileState.ERROR);\n const hasLoadError = computed(() => props.file.errors.includes(FileErrorType.ERROR_LOAD));\n const hasSizeError = computed(() => props.file.errors.includes(FileErrorType.ERROR_SIZE));\n const hasDimensionsError = computed(() => props.file.errors.includes(FileErrorType.ERROR_DIMENSIONS));\n const hasTypeError = computed(() => props.file.errors.includes(FileErrorType.ERROR_TYPE));\n const isLoading = computed(() => props.file.state === FileState.LOADING);\n const progressLabel = computed(() => props.file.progress && `(${props.file.progress.toFixed(0)}%)`);\n const sizeLabel = computed(() => formatFileSize(locale.value, props.file.data.size));\n\n // Truncation tooltip\n const fileNameRef = ref<VueInstance>();\n const fileNameContainerRef = ref<HTMLDivElement>();\n\n const isFileNameTruncated = useTruncatedFileName(fileNameRef, fileNameContainerRef);\n\n const conditionalClasses = computed(() => ({\n 'b-file-uploader-file-card--error': hasError.value,\n }));\n\n const conditionalIconClasses = computed(() => ({\n [`b-file-uploader-file-card__icon--${getFileIconColor(props.file)}`]: showFileIcon.value,\n 'b-file-uploader-file-card__icon--error': hasError.value,\n }));\n\n // Compute the icon to be displayed\n const fileUploaderIcon = computed(() => {\n if (isLoading.value) {\n return BentoLoadingIndicator;\n }\n if (hasError.value) {\n return WarningFilledIcon;\n }\n return showFileIcon.value ? getFileIcon(props.file) : CheckmarkCircleFilledIcon;\n });\n\n // Animation when success icon turns to file icon.\n watch(\n () => props.file.state,\n value => {\n if (value === FileState.SUCCESS && !showFileIcon.value) {\n const changeTimer = setTimeout(() => {\n showFileIcon.value = true;\n clearTimeout(changeTimer);\n }, ICON_TIMER);\n }\n }\n );\n\n /**\n * Places the focus on the button element.\n */\n function focus() {\n if (retryFileButtonRef.value) {\n retryFileButtonRef.value.$el.focus();\n return;\n }\n\n if (removeFileButtonRef.value) {\n removeFileButtonRef.value.$el.focus();\n return;\n }\n\n if (cancelFileButtonRef.value) {\n cancelFileButtonRef.value.$el.focus();\n return;\n }\n }\n\n defineExpose({\n focus,\n });\n</script>\n\n<script lang=\"ts\">\n /**\n *\n * Individual file items that are listed inside \"bento-file-uploader\" that can\n * be retried, removed or cancelled as they are being uploaded.\n *\n * @example\n * import { FileUploaderFileCard, FileObject } from './';\n *\n * export default {\n * components: { FileUploaderFileCard },\n * template: `\n * <file-uploader-file-card\n * :file=\"file\"\n * supportedFileTypes=\"video files, image files\"\n * @retry=\"retryFile(file)\"\n * @cancel=\"removeFile(file)\"\n * @remove=\"removeFile(file)\"\n * />\n * `,\n * setup() {\n * const file = ref<FileObject>({\n * id: 'stub-file',\n * type: FileType.AUDIO,\n * data: new File(['blob'], 'File name'),\n * state: FileState.SUCCESS,\n * progress: 99,\n * });\n * }\n * }\n */\n export default {\n name: 'file-uploader-file-card',\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader-file-card.scss\" />\n","<template>\n <div class=\"b-file-uploader-restrictions\" :class=\"conditionalClasses\">\n <bento-typography v-if=\"supportedFileTypes\" :class=\"setRestrictionErrorClass(supportedFileTypes.error)\">\n {{ t('supportedFileTypes', { list: supportedFileTypes.value }) }}\n </bento-typography>\n <bento-typography v-if=\"maxSize\" :class=\"setRestrictionErrorClass(maxSize.error)\">\n {{ t('maxFileSize', { size: formatFileSize(locale, maxSize.value) }) }}\n </bento-typography>\n <bento-typography v-if=\"maxDimensions\" :class=\"setRestrictionErrorClass(maxDimensions.error)\">\n {{ maxDimensionsLabel }}\n </bento-typography>\n <bento-typography v-if=\"maxCount\" :class=\"setRestrictionErrorClass(maxCount.error)\">\n {{ tc('maxUpload', maxCount.value, { count: n(maxCount.value) }) }}\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { useI18n } from '@/utils/ts/i18n';\n import { formatFileSize } from '../../utils';\n import type { FileUploaderRestrictionsProps } from './file-uploader-restrictions.types';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n condensed: { default: null },\n disabled: { default: null },\n maxCount: { default: null },\n maxDimensions: { default: null },\n maxSize: { default: null },\n supportedFileTypes: { default: null }\n});\n\n const { t, tc, n, locale } = useI18n<{ message: MessageSchema }>({ messages });\n\n const conditionalClasses = computed(() => ({\n ['b-file-uploader-restrictions--condensed']: props.condensed,\n ['b-file-uploader-restrictions--disabled']: props.disabled,\n }));\n\n /**\n * Returns the error class to be set if a restriction has an error\n * @param error Indicates if the restriction has errored\n * @returns Conditional error class\n */\n function setRestrictionErrorClass(error: boolean) {\n return {\n 'b-file-uploader-restrictions--error': error,\n };\n }\n\n const maxDimensionsLabel = computed(() => {\n if (!props.maxDimensions) {\n return null;\n }\n\n const {\n value: { width, height },\n } = props.maxDimensions;\n\n if (width && height) {\n return t('maxImageDimensions', { width: n(width), height: n(height) });\n }\n if (width) {\n return t('maxImageWidth', { width: n(width) });\n }\n if (height) {\n return t('maxImageHeight', { height: n(height) });\n }\n return null;\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * List of restrictions defined for \"bento-file-uploader\".\n *\n * @example\n * import { FileUploaderRestrictions } from './';\n *\n * export default {\n * components: { FileUploaderRestrictions },\n * template: `\n * <file-uploader-restrictions\n * :maxCount=\"1\"\n * :maxSize=\"5000\"\n * :maxDimensions=\"{ width: 100, height: 200 }\"\n * supportedFileTypes=\"audio/*,.pdf,.jpg\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader-restrictions.scss\" />\n","const types = {\n 'application/prs.cww': ['cww'],\n 'application/prs.xsf+xml': ['xsf'],\n 'application/vnd.1000minds.decision-model+xml': ['1km'],\n 'application/vnd.3gpp.pic-bw-large': ['plb'],\n 'application/vnd.3gpp.pic-bw-small': ['psb'],\n 'application/vnd.3gpp.pic-bw-var': ['pvb'],\n 'application/vnd.3gpp2.tcap': ['tcap'],\n 'application/vnd.3m.post-it-notes': ['pwn'],\n 'application/vnd.accpac.simply.aso': ['aso'],\n 'application/vnd.accpac.simply.imp': ['imp'],\n 'application/vnd.acucobol': ['acu'],\n 'application/vnd.acucorp': ['atc', 'acutc'],\n 'application/vnd.adobe.air-application-installer-package+zip': ['air'],\n 'application/vnd.adobe.formscentral.fcdt': ['fcdt'],\n 'application/vnd.adobe.fxp': ['fxp', 'fxpl'],\n 'application/vnd.adobe.xdp+xml': ['xdp'],\n 'application/vnd.adobe.xfdf': ['*xfdf'],\n 'application/vnd.age': ['age'],\n 'application/vnd.ahead.space': ['ahead'],\n 'application/vnd.airzip.filesecure.azf': ['azf'],\n 'application/vnd.airzip.filesecure.azs': ['azs'],\n 'application/vnd.amazon.ebook': ['azw'],\n 'application/vnd.americandynamics.acc': ['acc'],\n 'application/vnd.amiga.ami': ['ami'],\n 'application/vnd.android.package-archive': ['apk'],\n 'application/vnd.anser-web-certificate-issue-initiation': ['cii'],\n 'application/vnd.anser-web-funds-transfer-initiation': ['fti'],\n 'application/vnd.antix.game-component': ['atx'],\n 'application/vnd.apple.installer+xml': ['mpkg'],\n 'application/vnd.apple.keynote': ['key'],\n 'application/vnd.apple.mpegurl': ['m3u8'],\n 'application/vnd.apple.numbers': ['numbers'],\n 'application/vnd.apple.pages': ['pages'],\n 'application/vnd.apple.pkpass': ['pkpass'],\n 'application/vnd.aristanetworks.swi': ['swi'],\n 'application/vnd.astraea-software.iota': ['iota'],\n 'application/vnd.audiograph': ['aep'],\n 'application/vnd.balsamiq.bmml+xml': ['bmml'],\n 'application/vnd.blueice.multipass': ['mpm'],\n 'application/vnd.bmi': ['bmi'],\n 'application/vnd.businessobjects': ['rep'],\n 'application/vnd.chemdraw+xml': ['cdxml'],\n 'application/vnd.chipnuts.karaoke-mmd': ['mmd'],\n 'application/vnd.cinderella': ['cdy'],\n 'application/vnd.citationstyles.style+xml': ['csl'],\n 'application/vnd.claymore': ['cla'],\n 'application/vnd.cloanto.rp9': ['rp9'],\n 'application/vnd.clonk.c4group': ['c4g', 'c4d', 'c4f', 'c4p', 'c4u'],\n 'application/vnd.cluetrust.cartomobile-config': ['c11amc'],\n 'application/vnd.cluetrust.cartomobile-config-pkg': ['c11amz'],\n 'application/vnd.commonspace': ['csp'],\n 'application/vnd.contact.cmsg': ['cdbcmsg'],\n 'application/vnd.cosmocaller': ['cmc'],\n 'application/vnd.crick.clicker': ['clkx'],\n 'application/vnd.crick.clicker.keyboard': ['clkk'],\n 'application/vnd.crick.clicker.palette': ['clkp'],\n 'application/vnd.crick.clicker.template': ['clkt'],\n 'application/vnd.crick.clicker.wordbank': ['clkw'],\n 'application/vnd.criticaltools.wbs+xml': ['wbs'],\n 'application/vnd.ctc-posml': ['pml'],\n 'application/vnd.cups-ppd': ['ppd'],\n 'application/vnd.curl.car': ['car'],\n 'application/vnd.curl.pcurl': ['pcurl'],\n 'application/vnd.dart': ['dart'],\n 'application/vnd.data-vision.rdz': ['rdz'],\n 'application/vnd.dbf': ['dbf'],\n 'application/vnd.dece.data': ['uvf', 'uvvf', 'uvd', 'uvvd'],\n 'application/vnd.dece.ttml+xml': ['uvt', 'uvvt'],\n 'application/vnd.dece.unspecified': ['uvx', 'uvvx'],\n 'application/vnd.dece.zip': ['uvz', 'uvvz'],\n 'application/vnd.denovo.fcselayout-link': ['fe_launch'],\n 'application/vnd.dna': ['dna'],\n 'application/vnd.dolby.mlp': ['mlp'],\n 'application/vnd.dpgraph': ['dpg'],\n 'application/vnd.dreamfactory': ['dfac'],\n 'application/vnd.ds-keypoint': ['kpxx'],\n 'application/vnd.dvb.ait': ['ait'],\n 'application/vnd.dvb.service': ['svc'],\n 'application/vnd.dynageo': ['geo'],\n 'application/vnd.ecowin.chart': ['mag'],\n 'application/vnd.enliven': ['nml'],\n 'application/vnd.epson.esf': ['esf'],\n 'application/vnd.epson.msf': ['msf'],\n 'application/vnd.epson.quickanime': ['qam'],\n 'application/vnd.epson.salt': ['slt'],\n 'application/vnd.epson.ssf': ['ssf'],\n 'application/vnd.eszigno3+xml': ['es3', 'et3'],\n 'application/vnd.ezpix-album': ['ez2'],\n 'application/vnd.ezpix-package': ['ez3'],\n 'application/vnd.fdf': ['*fdf'],\n 'application/vnd.fdsn.mseed': ['mseed'],\n 'application/vnd.fdsn.seed': ['seed', 'dataless'],\n 'application/vnd.flographit': ['gph'],\n 'application/vnd.fluxtime.clip': ['ftc'],\n 'application/vnd.framemaker': ['fm', 'frame', 'maker', 'book'],\n 'application/vnd.frogans.fnc': ['fnc'],\n 'application/vnd.frogans.ltf': ['ltf'],\n 'application/vnd.fsc.weblaunch': ['fsc'],\n 'application/vnd.fujitsu.oasys': ['oas'],\n 'application/vnd.fujitsu.oasys2': ['oa2'],\n 'application/vnd.fujitsu.oasys3': ['oa3'],\n 'application/vnd.fujitsu.oasysgp': ['fg5'],\n 'application/vnd.fujitsu.oasysprs': ['bh2'],\n 'application/vnd.fujixerox.ddd': ['ddd'],\n 'application/vnd.fujixerox.docuworks': ['xdw'],\n 'application/vnd.fujixerox.docuworks.binder': ['xbd'],\n 'application/vnd.fuzzysheet': ['fzs'],\n 'application/vnd.genomatix.tuxedo': ['txd'],\n 'application/vnd.geogebra.file': ['ggb'],\n 'application/vnd.geogebra.slides': ['ggs'],\n 'application/vnd.geogebra.tool': ['ggt'],\n 'application/vnd.geometry-explorer': ['gex', 'gre'],\n 'application/vnd.geonext': ['gxt'],\n 'application/vnd.geoplan': ['g2w'],\n 'application/vnd.geospace': ['g3w'],\n 'application/vnd.gmx': ['gmx'],\n 'application/vnd.google-apps.document': ['gdoc'],\n 'application/vnd.google-apps.presentation': ['gslides'],\n 'application/vnd.google-apps.spreadsheet': ['gsheet'],\n 'application/vnd.google-earth.kml+xml': ['kml'],\n 'application/vnd.google-earth.kmz': ['kmz'],\n 'application/vnd.gov.sk.xmldatacontainer+xml': ['xdcf'],\n 'application/vnd.grafeq': ['gqf', 'gqs'],\n 'application/vnd.groove-account': ['gac'],\n 'application/vnd.groove-help': ['ghf'],\n 'application/vnd.groove-identity-message': ['gim'],\n 'application/vnd.groove-injector': ['grv'],\n 'application/vnd.groove-tool-message': ['gtm'],\n 'application/vnd.groove-tool-template': ['tpl'],\n 'application/vnd.groove-vcard': ['vcg'],\n 'application/vnd.hal+xml': ['hal'],\n 'application/vnd.handheld-entertainment+xml': ['zmm'],\n 'application/vnd.hbci': ['hbci'],\n 'application/vnd.hhe.lesson-player': ['les'],\n 'application/vnd.hp-hpgl': ['hpgl'],\n 'application/vnd.hp-hpid': ['hpid'],\n 'application/vnd.hp-hps': ['hps'],\n 'application/vnd.hp-jlyt': ['jlt'],\n 'application/vnd.hp-pcl': ['pcl'],\n 'application/vnd.hp-pclxl': ['pclxl'],\n 'application/vnd.hydrostatix.sof-data': ['sfd-hdstx'],\n 'application/vnd.ibm.minipay': ['mpy'],\n 'application/vnd.ibm.modcap': ['afp', 'listafp', 'list3820'],\n 'application/vnd.ibm.rights-management': ['irm'],\n 'application/vnd.ibm.secure-container': ['sc'],\n 'application/vnd.iccprofile': ['icc', 'icm'],\n 'application/vnd.igloader': ['igl'],\n 'application/vnd.immervision-ivp': ['ivp'],\n 'application/vnd.immervision-ivu': ['ivu'],\n 'application/vnd.insors.igm': ['igm'],\n 'application/vnd.intercon.formnet': ['xpw', 'xpx'],\n 'application/vnd.intergeo': ['i2g'],\n 'application/vnd.intu.qbo': ['qbo'],\n 'application/vnd.intu.qfx': ['qfx'],\n 'application/vnd.ipunplugged.rcprofile': ['rcprofile'],\n 'application/vnd.irepository.package+xml': ['irp'],\n 'application/vnd.is-xpr': ['xpr'],\n 'application/vnd.isac.fcs': ['fcs'],\n 'application/vnd.jam': ['jam'],\n 'application/vnd.jcp.javame.midlet-rms': ['rms'],\n 'application/vnd.jisp': ['jisp'],\n 'application/vnd.joost.joda-archive': ['joda'],\n 'application/vnd.kahootz': ['ktz', 'ktr'],\n 'application/vnd.kde.karbon': ['karbon'],\n 'application/vnd.kde.kchart': ['chrt'],\n 'application/vnd.kde.kformula': ['kfo'],\n 'application/vnd.kde.kivio': ['flw'],\n 'application/vnd.kde.kontour': ['kon'],\n 'application/vnd.kde.kpresenter': ['kpr', 'kpt'],\n 'application/vnd.kde.kspread': ['ksp'],\n 'application/vnd.kde.kword': ['kwd', 'kwt'],\n 'application/vnd.kenameaapp': ['htke'],\n 'application/vnd.kidspiration': ['kia'],\n 'application/vnd.kinar': ['kne', 'knp'],\n 'application/vnd.koan': ['skp', 'skd', 'skt', 'skm'],\n 'application/vnd.kodak-descriptor': ['sse'],\n 'application/vnd.las.las+xml': ['lasxml'],\n 'application/vnd.llamagraphics.life-balance.desktop': ['lbd'],\n 'application/vnd.llamagraphics.life-balance.exchange+xml': ['lbe'],\n 'application/vnd.lotus-1-2-3': ['123'],\n 'application/vnd.lotus-approach': ['apr'],\n 'application/vnd.lotus-freelance': ['pre'],\n 'application/vnd.lotus-notes': ['nsf'],\n 'application/vnd.lotus-organizer': ['org'],\n 'application/vnd.lotus-screencam': ['scm'],\n 'application/vnd.lotus-wordpro': ['lwp'],\n 'application/vnd.macports.portpkg': ['portpkg'],\n 'application/vnd.mapbox-vector-tile': ['mvt'],\n 'application/vnd.mcd': ['mcd'],\n 'application/vnd.medcalcdata': ['mc1'],\n 'application/vnd.mediastation.cdkey': ['cdkey'],\n 'application/vnd.mfer': ['mwf'],\n 'application/vnd.mfmp': ['mfm'],\n 'application/vnd.micrografx.flo': ['flo'],\n 'application/vnd.micrografx.igx': ['igx'],\n 'application/vnd.mif': ['mif'],\n 'application/vnd.mobius.daf': ['daf'],\n 'application/vnd.mobius.dis': ['dis'],\n 'application/vnd.mobius.mbk': ['mbk'],\n 'application/vnd.mobius.mqy': ['mqy'],\n 'application/vnd.mobius.msl': ['msl'],\n 'application/vnd.mobius.plc': ['plc'],\n 'application/vnd.mobius.txf': ['txf'],\n 'application/vnd.mophun.application': ['mpn'],\n 'application/vnd.mophun.certificate': ['mpc'],\n 'application/vnd.mozilla.xul+xml': ['xul'],\n 'application/vnd.ms-artgalry': ['cil'],\n 'application/vnd.ms-cab-compressed': ['cab'],\n 'application/vnd.ms-excel': ['xls', 'xlm', 'xla', 'xlc', 'xlt', 'xlw'],\n 'application/vnd.ms-excel.addin.macroenabled.12': ['xlam'],\n 'application/vnd.ms-excel.sheet.binary.macroenabled.12': ['xlsb'],\n 'application/vnd.ms-excel.sheet.macroenabled.12': ['xlsm'],\n 'application/vnd.ms-excel.template.macroenabled.12': ['xltm'],\n 'application/vnd.ms-fontobject': ['eot'],\n 'application/vnd.ms-htmlhelp': ['chm'],\n 'application/vnd.ms-ims': ['ims'],\n 'application/vnd.ms-lrm': ['lrm'],\n 'application/vnd.ms-officetheme': ['thmx'],\n 'application/vnd.ms-outlook': ['msg'],\n 'application/vnd.ms-pki.seccat': ['cat'],\n 'application/vnd.ms-pki.stl': ['*stl'],\n 'application/vnd.ms-powerpoint': ['ppt', 'pps', 'pot'],\n 'application/vnd.ms-powerpoint.addin.macroenabled.12': ['ppam'],\n 'application/vnd.ms-powerpoint.presentation.macroenabled.12': ['pptm'],\n 'application/vnd.ms-powerpoint.slide.macroenabled.12': ['sldm'],\n 'application/vnd.ms-powerpoint.slideshow.macroenabled.12': ['ppsm'],\n 'application/vnd.ms-powerpoint.template.macroenabled.12': ['potm'],\n 'application/vnd.ms-project': ['*mpp', 'mpt'],\n 'application/vnd.ms-word.document.macroenabled.12': ['docm'],\n 'application/vnd.ms-word.template.macroenabled.12': ['dotm'],\n 'application/vnd.ms-works': ['wps', 'wks', 'wcm', 'wdb'],\n 'application/vnd.ms-wpl': ['wpl'],\n 'application/vnd.ms-xpsdocument': ['xps'],\n 'application/vnd.mseq': ['mseq'],\n 'application/vnd.musician': ['mus'],\n 'application/vnd.muvee.style': ['msty'],\n 'application/vnd.mynfc': ['taglet'],\n 'application/vnd.nato.bindingdataobject+xml': ['bdo'],\n 'application/vnd.neurolanguage.nlu': ['nlu'],\n 'application/vnd.nitf': ['ntf', 'nitf'],\n 'application/vnd.noblenet-directory': ['nnd'],\n 'application/vnd.noblenet-sealer': ['nns'],\n 'application/vnd.noblenet-web': ['nnw'],\n 'application/vnd.nokia.n-gage.ac+xml': ['*ac'],\n 'application/vnd.nokia.n-gage.data': ['ngdat'],\n 'application/vnd.nokia.n-gage.symbian.install': ['n-gage'],\n 'application/vnd.nokia.radio-preset': ['rpst'],\n 'application/vnd.nokia.radio-presets': ['rpss'],\n 'application/vnd.novadigm.edm': ['edm'],\n 'application/vnd.novadigm.edx': ['edx'],\n 'application/vnd.novadigm.ext': ['ext'],\n 'application/vnd.oasis.opendocument.chart': ['odc'],\n 'application/vnd.oasis.opendocument.chart-template': ['otc'],\n 'application/vnd.oasis.opendocument.database': ['odb'],\n 'application/vnd.oasis.opendocument.formula': ['odf'],\n 'application/vnd.oasis.opendocument.formula-template': ['odft'],\n 'application/vnd.oasis.opendocument.graphics': ['odg'],\n 'application/vnd.oasis.opendocument.graphics-template': ['otg'],\n 'application/vnd.oasis.opendocument.image': ['odi'],\n 'application/vnd.oasis.opendocument.image-template': ['oti'],\n 'application/vnd.oasis.opendocument.presentation': ['odp'],\n 'application/vnd.oasis.opendocument.presentation-template': ['otp'],\n 'application/vnd.oasis.opendocument.spreadsheet': ['ods'],\n 'application/vnd.oasis.opendocument.spreadsheet-template': ['ots'],\n 'application/vnd.oasis.opendocument.text': ['odt'],\n 'application/vnd.oasis.opendocument.text-master': ['odm'],\n 'application/vnd.oasis.opendocument.text-template': ['ott'],\n 'application/vnd.oasis.opendocument.text-web': ['oth'],\n 'application/vnd.olpc-sugar': ['xo'],\n 'application/vnd.oma.dd2+xml': ['dd2'],\n 'application/vnd.openblox.game+xml': ['obgx'],\n 'application/vnd.openofficeorg.extension': ['oxt'],\n 'application/vnd.openstreetmap.data+xml': ['osm'],\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': [\n 'pptx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slide': [\n 'sldx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow': [\n 'ppsx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.template': [\n 'potx',\n ],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['xlsx'],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': [\n 'xltx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': [\n 'docx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': [\n 'dotx',\n ],\n 'application/vnd.osgeo.mapguide.package': ['mgp'],\n 'application/vnd.osgi.dp': ['dp'],\n 'application/vnd.osgi.subsystem': ['esa'],\n 'application/vnd.palm': ['pdb', 'pqa', 'oprc'],\n 'application/vnd.pawaafile': ['paw'],\n 'application/vnd.pg.format': ['str'],\n 'application/vnd.pg.osasli': ['ei6'],\n 'application/vnd.picsel': ['efif'],\n 'application/vnd.pmi.widget': ['wg'],\n 'application/vnd.pocketlearn': ['plf'],\n 'application/vnd.powerbuilder6': ['pbd'],\n 'application/vnd.previewsystems.box': ['box'],\n 'application/vnd.proteus.magazine': ['mgz'],\n 'application/vnd.publishare-delta-tree': ['qps'],\n 'application/vnd.pvi.ptid1': ['ptid'],\n 'application/vnd.pwg-xhtml-print+xml': ['xhtm'],\n 'application/vnd.quark.quarkxpress': [\n 'qxd',\n 'qxt',\n 'qwd',\n 'qwt',\n 'qxl',\n 'qxb',\n ],\n 'application/vnd.rar': ['rar'],\n 'application/vnd.realvnc.bed': ['bed'],\n 'application/vnd.recordare.musicxml': ['mxl'],\n 'application/vnd.recordare.musicxml+xml': ['musicxml'],\n 'application/vnd.rig.cryptonote': ['cryptonote'],\n 'application/vnd.rim.cod': ['cod'],\n 'application/vnd.rn-realmedia': ['rm'],\n 'application/vnd.rn-realmedia-vbr': ['rmvb'],\n 'application/vnd.route66.link66+xml': ['link66'],\n 'application/vnd.sailingtracker.track': ['st'],\n 'application/vnd.seemail': ['see'],\n 'application/vnd.sema': ['sema'],\n 'application/vnd.semd': ['semd'],\n 'application/vnd.semf': ['semf'],\n 'application/vnd.shana.informed.formdata': ['ifm'],\n 'application/vnd.shana.informed.formtemplate': ['itp'],\n 'application/vnd.shana.informed.interchange': ['iif'],\n 'application/vnd.shana.informed.package': ['ipk'],\n 'application/vnd.simtech-mindmapper': ['twd', 'twds'],\n 'application/vnd.smaf': ['mmf'],\n 'application/vnd.smart.teacher': ['teacher'],\n 'application/vnd.software602.filler.form+xml': ['fo'],\n 'application/vnd.solent.sdkm+xml': ['sdkm', 'sdkd'],\n 'application/vnd.spotfire.dxp': ['dxp'],\n 'application/vnd.spotfire.sfs': ['sfs'],\n 'application/vnd.stardivision.calc': ['sdc'],\n 'application/vnd.stardivision.draw': ['sda'],\n 'application/vnd.stardivision.impress': ['sdd'],\n 'application/vnd.stardivision.math': ['smf'],\n 'application/vnd.stardivision.writer': ['sdw', 'vor'],\n 'application/vnd.stardivision.writer-global': ['sgl'],\n 'application/vnd.stepmania.package': ['smzip'],\n 'application/vnd.stepmania.stepchart': ['sm'],\n 'application/vnd.sun.wadl+xml': ['wadl'],\n 'application/vnd.sun.xml.calc': ['sxc'],\n 'application/vnd.sun.xml.calc.template': ['stc'],\n 'application/vnd.sun.xml.draw': ['sxd'],\n 'application/vnd.sun.xml.draw.template': ['std'],\n 'application/vnd.sun.xml.impress': ['sxi'],\n 'application/vnd.sun.xml.impress.template': ['sti'],\n 'application/vnd.sun.xml.math': ['sxm'],\n 'application/vnd.sun.xml.writer': ['sxw'],\n 'application/vnd.sun.xml.writer.global': ['sxg'],\n 'application/vnd.sun.xml.writer.template': ['stw'],\n 'application/vnd.sus-calendar': ['sus', 'susp'],\n 'application/vnd.svd': ['svd'],\n 'application/vnd.symbian.install': ['sis', 'sisx'],\n 'application/vnd.syncml+xml': ['xsm'],\n 'application/vnd.syncml.dm+wbxml': ['bdm'],\n 'application/vnd.syncml.dm+xml': ['xdm'],\n 'application/vnd.syncml.dmddf+xml': ['ddf'],\n 'application/vnd.tao.intent-module-archive': ['tao'],\n 'application/vnd.tcpdump.pcap': ['pcap', 'cap', 'dmp'],\n 'application/vnd.tmobile-livetv': ['tmo'],\n 'application/vnd.trid.tpt': ['tpt'],\n 'application/vnd.triscape.mxs': ['mxs'],\n 'application/vnd.trueapp': ['tra'],\n 'application/vnd.ufdl': ['ufd', 'ufdl'],\n 'application/vnd.uiq.theme': ['utz'],\n 'application/vnd.umajin': ['umj'],\n 'application/vnd.unity': ['unityweb'],\n 'application/vnd.uoml+xml': ['uoml', 'uo'],\n 'application/vnd.vcx': ['vcx'],\n 'application/vnd.visio': ['vsd', 'vst', 'vss', 'vsw'],\n 'application/vnd.visionary': ['vis'],\n 'application/vnd.vsf': ['vsf'],\n 'application/vnd.wap.wbxml': ['wbxml'],\n 'application/vnd.wap.wmlc': ['wmlc'],\n 'application/vnd.wap.wmlscriptc': ['wmlsc'],\n 'application/vnd.webturbo': ['wtb'],\n 'application/vnd.wolfram.player': ['nbp'],\n 'application/vnd.wordperfect': ['wpd'],\n 'application/vnd.wqd': ['wqd'],\n 'application/vnd.wt.stf': ['stf'],\n 'application/vnd.xara': ['xar'],\n 'application/vnd.xfdl': ['xfdl'],\n 'application/vnd.yamaha.hv-dic': ['hvd'],\n 'application/vnd.yamaha.hv-script': ['hvs'],\n 'application/vnd.yamaha.hv-voice': ['hvp'],\n 'application/vnd.yamaha.openscoreformat': ['osf'],\n 'application/vnd.yamaha.openscoreformat.osfpvg+xml': ['osfpvg'],\n 'application/vnd.yamaha.smaf-audio': ['saf'],\n 'application/vnd.yamaha.smaf-phrase': ['spf'],\n 'application/vnd.yellowriver-custom-menu': ['cmp'],\n 'application/vnd.zul': ['zir', 'zirz'],\n 'application/vnd.zzazz.deck+xml': ['zaz'],\n 'application/x-7z-compressed': ['7z'],\n 'application/x-abiword': ['abw'],\n 'application/x-ace-compressed': ['ace'],\n 'application/x-apple-diskimage': ['*dmg'],\n 'application/x-arj': ['arj'],\n 'application/x-authorware-bin': ['aab', 'x32', 'u32', 'vox'],\n 'application/x-authorware-map': ['aam'],\n 'application/x-authorware-seg': ['aas'],\n 'application/x-bcpio': ['bcpio'],\n 'application/x-bdoc': ['*bdoc'],\n 'application/x-bittorrent': ['torrent'],\n 'application/x-blorb': ['blb', 'blorb'],\n 'application/x-bzip': ['bz'],\n 'application/x-bzip2': ['bz2', 'boz'],\n 'application/x-cbr': ['cbr', 'cba', 'cbt', 'cbz', 'cb7'],\n 'application/x-cdlink': ['vcd'],\n 'application/x-cfs-compressed': ['cfs'],\n 'application/x-chat': ['chat'],\n 'application/x-chess-pgn': ['pgn'],\n 'application/x-chrome-extension': ['crx'],\n 'application/x-cocoa': ['cco'],\n 'application/x-conference': ['nsc'],\n 'application/x-cpio': ['cpio'],\n 'application/x-csh': ['csh'],\n 'application/x-debian-package': ['*deb', 'udeb'],\n 'application/x-dgc-compressed': ['dgc'],\n 'application/x-director': [\n 'dir',\n 'dcr',\n 'dxr',\n 'cst',\n 'cct',\n 'cxt',\n 'w3d',\n 'fgd',\n 'swa',\n ],\n 'application/x-doom': ['wad'],\n 'application/x-dtbncx+xml': ['ncx'],\n 'application/x-dtbook+xml': ['dtb'],\n 'application/x-dtbresource+xml': ['res'],\n 'application/x-dvi': ['dvi'],\n 'application/x-envoy': ['evy'],\n 'application/x-eva': ['eva'],\n 'application/x-font-bdf': ['bdf'],\n 'application/x-font-ghostscript': ['gsf'],\n 'application/x-font-linux-psf': ['psf'],\n 'application/x-font-pcf': ['pcf'],\n 'application/x-font-snf': ['snf'],\n 'application/x-font-type1': ['pfa', 'pfb', 'pfm', 'afm'],\n 'application/x-freearc': ['arc'],\n 'application/x-futuresplash': ['spl'],\n 'application/x-gca-compressed': ['gca'],\n 'application/x-glulx': ['ulx'],\n 'application/x-gnumeric': ['gnumeric'],\n 'application/x-gramps-xml': ['gramps'],\n 'application/x-gtar': ['gtar'],\n 'application/x-hdf': ['hdf'],\n 'application/x-httpd-php': ['php'],\n 'application/x-install-instructions': ['install'],\n 'application/x-iso9660-image': ['*iso'],\n 'application/x-iwork-keynote-sffkey': ['*key'],\n 'application/x-iwork-numbers-sffnumbers': ['*numbers'],\n 'application/x-iwork-pages-sffpages': ['*pages'],\n 'application/x-java-archive-diff': ['jardiff'],\n 'application/x-java-jnlp-file': ['jnlp'],\n 'application/x-keepass2': ['kdbx'],\n 'application/x-latex': ['latex'],\n 'application/x-lua-bytecode': ['luac'],\n 'application/x-lzh-compressed': ['lzh', 'lha'],\n 'application/x-makeself': ['run'],\n 'application/x-mie': ['mie'],\n 'application/x-mobipocket-ebook': ['*prc', 'mobi'],\n 'application/x-ms-application': ['application'],\n 'application/x-ms-shortcut': ['lnk'],\n 'application/x-ms-wmd': ['wmd'],\n 'application/x-ms-wmz': ['wmz'],\n 'application/x-ms-xbap': ['xbap'],\n 'application/x-msaccess': ['mdb'],\n 'application/x-msbinder': ['obd'],\n 'application/x-mscardfile': ['crd'],\n 'application/x-msclip': ['clp'],\n 'application/x-msdos-program': ['*exe'],\n 'application/x-msdownload': ['*exe', '*dll', 'com', 'bat', '*msi'],\n 'application/x-msmediaview': ['mvb', 'm13', 'm14'],\n 'application/x-msmetafile': ['*wmf', '*wmz', '*emf', 'emz'],\n 'application/x-msmoney': ['mny'],\n 'application/x-mspublisher': ['pub'],\n 'application/x-msschedule': ['scd'],\n 'application/x-msterminal': ['trm'],\n 'application/x-mswrite': ['wri'],\n 'application/x-netcdf': ['nc', 'cdf'],\n 'application/x-ns-proxy-autoconfig': ['pac'],\n 'application/x-nzb': ['nzb'],\n 'application/x-perl': ['pl', 'pm'],\n 'application/x-pilot': ['*prc', '*pdb'],\n 'application/x-pkcs12': ['p12', 'pfx'],\n 'application/x-pkcs7-certificates': ['p7b', 'spc'],\n 'application/x-pkcs7-certreqresp': ['p7r'],\n 'application/x-rar-compressed': ['*rar'],\n 'application/x-redhat-package-manager': ['rpm'],\n 'application/x-research-info-systems': ['ris'],\n 'application/x-sea': ['sea'],\n 'application/x-sh': ['sh'],\n 'application/x-shar': ['shar'],\n 'application/x-shockwave-flash': ['swf'],\n 'application/x-silverlight-app': ['xap'],\n 'application/x-sql': ['*sql'],\n 'application/x-stuffit': ['sit'],\n 'application/x-stuffitx': ['sitx'],\n 'application/x-subrip': ['srt'],\n 'application/x-sv4cpio': ['sv4cpio'],\n 'application/x-sv4crc': ['sv4crc'],\n 'application/x-t3vm-image': ['t3'],\n 'application/x-tads': ['gam'],\n 'application/x-tar': ['tar'],\n 'application/x-tcl': ['tcl', 'tk'],\n 'application/x-tex': ['tex'],\n 'application/x-tex-tfm': ['tfm'],\n 'application/x-texinfo': ['texinfo', 'texi'],\n 'application/x-tgif': ['*obj'],\n 'application/x-ustar': ['ustar'],\n 'application/x-virtualbox-hdd': ['hdd'],\n 'application/x-virtualbox-ova': ['ova'],\n 'application/x-virtualbox-ovf': ['ovf'],\n 'application/x-virtualbox-vbox': ['vbox'],\n 'application/x-virtualbox-vbox-extpack': ['vbox-extpack'],\n 'application/x-virtualbox-vdi': ['vdi'],\n 'application/x-virtualbox-vhd': ['vhd'],\n 'application/x-virtualbox-vmdk': ['vmdk'],\n 'application/x-wais-source': ['src'],\n 'application/x-web-app-manifest+json': ['webapp'],\n 'application/x-x509-ca-cert': ['der', 'crt', 'pem'],\n 'application/x-xfig': ['fig'],\n 'application/x-xliff+xml': ['*xlf'],\n 'application/x-xpinstall': ['xpi'],\n 'application/x-xz': ['xz'],\n 'application/x-zmachine': ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'],\n 'audio/vnd.dece.audio': ['uva', 'uvva'],\n 'audio/vnd.digital-winds': ['eol'],\n 'audio/vnd.dra': ['dra'],\n 'audio/vnd.dts': ['dts'],\n 'audio/vnd.dts.hd': ['dtshd'],\n 'audio/vnd.lucent.voice': ['lvp'],\n 'audio/vnd.ms-playready.media.pya': ['pya'],\n 'audio/vnd.nuera.ecelp4800': ['ecelp4800'],\n 'audio/vnd.nuera.ecelp7470': ['ecelp7470'],\n 'audio/vnd.nuera.ecelp9600': ['ecelp9600'],\n 'audio/vnd.rip': ['rip'],\n 'audio/x-aac': ['*aac'],\n 'audio/x-aiff': ['aif', 'aiff', 'aifc'],\n 'audio/x-caf': ['caf'],\n 'audio/x-flac': ['flac'],\n 'audio/x-m4a': ['*m4a'],\n 'audio/x-matroska': ['mka'],\n 'audio/x-mpegurl': ['m3u'],\n 'audio/x-ms-wax': ['wax'],\n 'audio/x-ms-wma': ['wma'],\n 'audio/x-pn-realaudio': ['ram', 'ra'],\n 'audio/x-pn-realaudio-plugin': ['rmp'],\n 'audio/x-realaudio': ['*ra'],\n 'audio/x-wav': ['*wav'],\n 'chemical/x-cdx': ['cdx'],\n 'chemical/x-cif': ['cif'],\n 'chemical/x-cmdf': ['cmdf'],\n 'chemical/x-cml': ['cml'],\n 'chemical/x-csml': ['csml'],\n 'chemical/x-xyz': ['xyz'],\n 'image/prs.btif': ['btif', 'btf'],\n 'image/prs.pti': ['pti'],\n 'image/vnd.adobe.photoshop': ['psd'],\n 'image/vnd.airzip.accelerator.azv': ['azv'],\n 'image/vnd.dece.graphic': ['uvi', 'uvvi', 'uvg', 'uvvg'],\n 'image/vnd.djvu': ['djvu', 'djv'],\n 'image/vnd.dvb.subtitle': ['*sub'],\n 'image/vnd.dwg': ['dwg'],\n 'image/vnd.dxf': ['dxf'],\n 'image/vnd.fastbidsheet': ['fbs'],\n 'image/vnd.fpx': ['fpx'],\n 'image/vnd.fst': ['fst'],\n 'image/vnd.fujixerox.edmics-mmr': ['mmr'],\n 'image/vnd.fujixerox.edmics-rlc': ['rlc'],\n 'image/vnd.microsoft.icon': ['ico'],\n 'image/vnd.ms-dds': ['dds'],\n 'image/vnd.ms-modi': ['mdi'],\n 'image/vnd.ms-photo': ['wdp'],\n 'image/vnd.net-fpx': ['npx'],\n 'image/vnd.pco.b16': ['b16'],\n 'image/vnd.tencent.tap': ['tap'],\n 'image/vnd.valve.source.texture': ['vtf'],\n 'image/vnd.wap.wbmp': ['wbmp'],\n 'image/vnd.xiff': ['xif'],\n 'image/vnd.zbrush.pcx': ['pcx'],\n 'image/x-3ds': ['3ds'],\n 'image/x-cmu-raster': ['ras'],\n 'image/x-cmx': ['cmx'],\n 'image/x-freehand': ['fh', 'fhc', 'fh4', 'fh5', 'fh7'],\n 'image/x-icon': ['*ico'],\n 'image/x-jng': ['jng'],\n 'image/x-mrsid-image': ['sid'],\n 'image/x-ms-bmp': ['*bmp'],\n 'image/x-pcx': ['*pcx'],\n 'image/x-pict': ['pic', 'pct'],\n 'image/x-portable-anymap': ['pnm'],\n 'image/x-portable-bitmap': ['pbm'],\n 'image/x-portable-graymap': ['pgm'],\n 'image/x-portable-pixmap': ['ppm'],\n 'image/x-rgb': ['rgb'],\n 'image/x-tga': ['tga'],\n 'image/x-xbitmap': ['xbm'],\n 'image/x-xpixmap': ['xpm'],\n 'image/x-xwindowdump': ['xwd'],\n 'message/vnd.wfa.wsc': ['wsc'],\n 'model/vnd.bary': ['bary'],\n 'model/vnd.cld': ['cld'],\n 'model/vnd.collada+xml': ['dae'],\n 'model/vnd.dwf': ['dwf'],\n 'model/vnd.gdl': ['gdl'],\n 'model/vnd.gtw': ['gtw'],\n 'model/vnd.mts': ['*mts'],\n 'model/vnd.opengex': ['ogex'],\n 'model/vnd.parasolid.transmit.binary': ['x_b'],\n 'model/vnd.parasolid.transmit.text': ['x_t'],\n 'model/vnd.pytha.pyox': ['pyo', 'pyox'],\n 'model/vnd.sap.vds': ['vds'],\n 'model/vnd.usda': ['usda'],\n 'model/vnd.usdz+zip': ['usdz'],\n 'model/vnd.valve.source.compiled-map': ['bsp'],\n 'model/vnd.vtu': ['vtu'],\n 'text/prs.lines.tag': ['dsc'],\n 'text/vnd.curl': ['curl'],\n 'text/vnd.curl.dcurl': ['dcurl'],\n 'text/vnd.curl.mcurl': ['mcurl'],\n 'text/vnd.curl.scurl': ['scurl'],\n 'text/vnd.dvb.subtitle': ['sub'],\n 'text/vnd.familysearch.gedcom': ['ged'],\n 'text/vnd.fly': ['fly'],\n 'text/vnd.fmi.flexstor': ['flx'],\n 'text/vnd.graphviz': ['gv'],\n 'text/vnd.in3d.3dml': ['3dml'],\n 'text/vnd.in3d.spot': ['spot'],\n 'text/vnd.sun.j2me.app-descriptor': ['jad'],\n 'text/vnd.wap.wml': ['wml'],\n 'text/vnd.wap.wmlscript': ['wmls'],\n 'text/x-asm': ['s', 'asm'],\n 'text/x-c': ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'],\n 'text/x-component': ['htc'],\n 'text/x-fortran': ['f', 'for', 'f77', 'f90'],\n 'text/x-handlebars-template': ['hbs'],\n 'text/x-java-source': ['java'],\n 'text/x-lua': ['lua'],\n 'text/x-markdown': ['mkd'],\n 'text/x-nfo': ['nfo'],\n 'text/x-opml': ['opml'],\n 'text/x-org': ['*org'],\n 'text/x-pascal': ['p', 'pas'],\n 'text/x-processing': ['pde'],\n 'text/x-sass': ['sass'],\n 'text/x-scss': ['scss'],\n 'text/x-setext': ['etx'],\n 'text/x-sfv': ['sfv'],\n 'text/x-suse-ymp': ['ymp'],\n 'text/x-uuencode': ['uu'],\n 'text/x-vcalendar': ['vcs'],\n 'text/x-vcard': ['vcf'],\n 'video/vnd.dece.hd': ['uvh', 'uvvh'],\n 'video/vnd.dece.mobile': ['uvm', 'uvvm'],\n 'video/vnd.dece.pd': ['uvp', 'uvvp'],\n 'video/vnd.dece.sd': ['uvs', 'uvvs'],\n 'video/vnd.dece.video': ['uvv', 'uvvv'],\n 'video/vnd.dvb.file': ['dvb'],\n 'video/vnd.fvt': ['fvt'],\n 'video/vnd.mpegurl': ['mxu', 'm4u'],\n 'video/vnd.ms-playready.media.pyv': ['pyv'],\n 'video/vnd.uvvu.mp4': ['uvu', 'uvvu'],\n 'video/vnd.vivo': ['viv'],\n 'video/x-f4v': ['f4v'],\n 'video/x-fli': ['fli'],\n 'video/x-flv': ['flv'],\n 'video/x-m4v': ['m4v'],\n 'video/x-matroska': ['mkv', 'mk3d', 'mks'],\n 'video/x-mng': ['mng'],\n 'video/x-ms-asf': ['asf', 'asx'],\n 'video/x-ms-vob': ['vob'],\n 'video/x-ms-wm': ['wm'],\n 'video/x-ms-wmv': ['wmv'],\n 'video/x-ms-wmx': ['wmx'],\n 'video/x-ms-wvx': ['wvx'],\n 'video/x-msvideo': ['avi'],\n 'video/x-sgi-movie': ['movie'],\n 'video/x-smv': ['smv'],\n 'x-conference/x-cooltalk': ['ice'],\n};\nObject.freeze(types);\nexport default types;\n","const types = {\n 'application/andrew-inset': ['ez'],\n 'application/appinstaller': ['appinstaller'],\n 'application/applixware': ['aw'],\n 'application/appx': ['appx'],\n 'application/appxbundle': ['appxbundle'],\n 'application/atom+xml': ['atom'],\n 'application/atomcat+xml': ['atomcat'],\n 'application/atomdeleted+xml': ['atomdeleted'],\n 'application/atomsvc+xml': ['atomsvc'],\n 'application/atsc-dwd+xml': ['dwd'],\n 'application/atsc-held+xml': ['held'],\n 'application/atsc-rsat+xml': ['rsat'],\n 'application/automationml-aml+xml': ['aml'],\n 'application/automationml-amlx+zip': ['amlx'],\n 'application/bdoc': ['bdoc'],\n 'application/calendar+xml': ['xcs'],\n 'application/ccxml+xml': ['ccxml'],\n 'application/cdfx+xml': ['cdfx'],\n 'application/cdmi-capability': ['cdmia'],\n 'application/cdmi-container': ['cdmic'],\n 'application/cdmi-domain': ['cdmid'],\n 'application/cdmi-object': ['cdmio'],\n 'application/cdmi-queue': ['cdmiq'],\n 'application/cpl+xml': ['cpl'],\n 'application/cu-seeme': ['cu'],\n 'application/cwl': ['cwl'],\n 'application/dash+xml': ['mpd'],\n 'application/dash-patch+xml': ['mpp'],\n 'application/davmount+xml': ['davmount'],\n 'application/docbook+xml': ['dbk'],\n 'application/dssc+der': ['dssc'],\n 'application/dssc+xml': ['xdssc'],\n 'application/ecmascript': ['ecma'],\n 'application/emma+xml': ['emma'],\n 'application/emotionml+xml': ['emotionml'],\n 'application/epub+zip': ['epub'],\n 'application/exi': ['exi'],\n 'application/express': ['exp'],\n 'application/fdf': ['fdf'],\n 'application/fdt+xml': ['fdt'],\n 'application/font-tdpfr': ['pfr'],\n 'application/geo+json': ['geojson'],\n 'application/gml+xml': ['gml'],\n 'application/gpx+xml': ['gpx'],\n 'application/gxf': ['gxf'],\n 'application/gzip': ['gz'],\n 'application/hjson': ['hjson'],\n 'application/hyperstudio': ['stk'],\n 'application/inkml+xml': ['ink', 'inkml'],\n 'application/ipfix': ['ipfix'],\n 'application/its+xml': ['its'],\n 'application/java-archive': ['jar', 'war', 'ear'],\n 'application/java-serialized-object': ['ser'],\n 'application/java-vm': ['class'],\n 'application/javascript': ['*js'],\n 'application/json': ['json', 'map'],\n 'application/json5': ['json5'],\n 'application/jsonml+json': ['jsonml'],\n 'application/ld+json': ['jsonld'],\n 'application/lgr+xml': ['lgr'],\n 'application/lost+xml': ['lostxml'],\n 'application/mac-binhex40': ['hqx'],\n 'application/mac-compactpro': ['cpt'],\n 'application/mads+xml': ['mads'],\n 'application/manifest+json': ['webmanifest'],\n 'application/marc': ['mrc'],\n 'application/marcxml+xml': ['mrcx'],\n 'application/mathematica': ['ma', 'nb', 'mb'],\n 'application/mathml+xml': ['mathml'],\n 'application/mbox': ['mbox'],\n 'application/media-policy-dataset+xml': ['mpf'],\n 'application/mediaservercontrol+xml': ['mscml'],\n 'application/metalink+xml': ['metalink'],\n 'application/metalink4+xml': ['meta4'],\n 'application/mets+xml': ['mets'],\n 'application/mmt-aei+xml': ['maei'],\n 'application/mmt-usd+xml': ['musd'],\n 'application/mods+xml': ['mods'],\n 'application/mp21': ['m21', 'mp21'],\n 'application/mp4': ['*mp4', '*mpg4', 'mp4s', 'm4p'],\n 'application/msix': ['msix'],\n 'application/msixbundle': ['msixbundle'],\n 'application/msword': ['doc', 'dot'],\n 'application/mxf': ['mxf'],\n 'application/n-quads': ['nq'],\n 'application/n-triples': ['nt'],\n 'application/node': ['cjs'],\n 'application/octet-stream': [\n 'bin',\n 'dms',\n 'lrf',\n 'mar',\n 'so',\n 'dist',\n 'distz',\n 'pkg',\n 'bpk',\n 'dump',\n 'elc',\n 'deploy',\n 'exe',\n 'dll',\n 'deb',\n 'dmg',\n 'iso',\n 'img',\n 'msi',\n 'msp',\n 'msm',\n 'buffer',\n ],\n 'application/oda': ['oda'],\n 'application/oebps-package+xml': ['opf'],\n 'application/ogg': ['ogx'],\n 'application/omdoc+xml': ['omdoc'],\n 'application/onenote': ['onetoc', 'onetoc2', 'onetmp', 'onepkg'],\n 'application/oxps': ['oxps'],\n 'application/p2p-overlay+xml': ['relo'],\n 'application/patch-ops-error+xml': ['xer'],\n 'application/pdf': ['pdf'],\n 'application/pgp-encrypted': ['pgp'],\n 'application/pgp-keys': ['asc'],\n 'application/pgp-signature': ['sig', '*asc'],\n 'application/pics-rules': ['prf'],\n 'application/pkcs10': ['p10'],\n 'application/pkcs7-mime': ['p7m', 'p7c'],\n 'application/pkcs7-signature': ['p7s'],\n 'application/pkcs8': ['p8'],\n 'application/pkix-attr-cert': ['ac'],\n 'application/pkix-cert': ['cer'],\n 'application/pkix-crl': ['crl'],\n 'application/pkix-pkipath': ['pkipath'],\n 'application/pkixcmp': ['pki'],\n 'application/pls+xml': ['pls'],\n 'application/postscript': ['ai', 'eps', 'ps'],\n 'application/provenance+xml': ['provx'],\n 'application/pskc+xml': ['pskcxml'],\n 'application/raml+yaml': ['raml'],\n 'application/rdf+xml': ['rdf', 'owl'],\n 'application/reginfo+xml': ['rif'],\n 'application/relax-ng-compact-syntax': ['rnc'],\n 'application/resource-lists+xml': ['rl'],\n 'application/resource-lists-diff+xml': ['rld'],\n 'application/rls-services+xml': ['rs'],\n 'application/route-apd+xml': ['rapd'],\n 'application/route-s-tsid+xml': ['sls'],\n 'application/route-usd+xml': ['rusd'],\n 'application/rpki-ghostbusters': ['gbr'],\n 'application/rpki-manifest': ['mft'],\n 'application/rpki-roa': ['roa'],\n 'application/rsd+xml': ['rsd'],\n 'application/rss+xml': ['rss'],\n 'application/rtf': ['rtf'],\n 'application/sbml+xml': ['sbml'],\n 'application/scvp-cv-request': ['scq'],\n 'application/scvp-cv-response': ['scs'],\n 'application/scvp-vp-request': ['spq'],\n 'application/scvp-vp-response': ['spp'],\n 'application/sdp': ['sdp'],\n 'application/senml+xml': ['senmlx'],\n 'application/sensml+xml': ['sensmlx'],\n 'application/set-payment-initiation': ['setpay'],\n 'application/set-registration-initiation': ['setreg'],\n 'application/shf+xml': ['shf'],\n 'application/sieve': ['siv', 'sieve'],\n 'application/smil+xml': ['smi', 'smil'],\n 'application/sparql-query': ['rq'],\n 'application/sparql-results+xml': ['srx'],\n 'application/sql': ['sql'],\n 'application/srgs': ['gram'],\n 'application/srgs+xml': ['grxml'],\n 'application/sru+xml': ['sru'],\n 'application/ssdl+xml': ['ssdl'],\n 'application/ssml+xml': ['ssml'],\n 'application/swid+xml': ['swidtag'],\n 'application/tei+xml': ['tei', 'teicorpus'],\n 'application/thraud+xml': ['tfi'],\n 'application/timestamped-data': ['tsd'],\n 'application/toml': ['toml'],\n 'application/trig': ['trig'],\n 'application/ttml+xml': ['ttml'],\n 'application/ubjson': ['ubj'],\n 'application/urc-ressheet+xml': ['rsheet'],\n 'application/urc-targetdesc+xml': ['td'],\n 'application/voicexml+xml': ['vxml'],\n 'application/wasm': ['wasm'],\n 'application/watcherinfo+xml': ['wif'],\n 'application/widget': ['wgt'],\n 'application/winhlp': ['hlp'],\n 'application/wsdl+xml': ['wsdl'],\n 'application/wspolicy+xml': ['wspolicy'],\n 'application/xaml+xml': ['xaml'],\n 'application/xcap-att+xml': ['xav'],\n 'application/xcap-caps+xml': ['xca'],\n 'application/xcap-diff+xml': ['xdf'],\n 'application/xcap-el+xml': ['xel'],\n 'application/xcap-ns+xml': ['xns'],\n 'application/xenc+xml': ['xenc'],\n 'application/xfdf': ['xfdf'],\n 'application/xhtml+xml': ['xhtml', 'xht'],\n 'application/xliff+xml': ['xlf'],\n 'application/xml': ['xml', 'xsl', 'xsd', 'rng'],\n 'application/xml-dtd': ['dtd'],\n 'application/xop+xml': ['xop'],\n 'application/xproc+xml': ['xpl'],\n 'application/xslt+xml': ['*xsl', 'xslt'],\n 'application/xspf+xml': ['xspf'],\n 'application/xv+xml': ['mxml', 'xhvml', 'xvml', 'xvm'],\n 'application/yang': ['yang'],\n 'application/yin+xml': ['yin'],\n 'application/zip': ['zip'],\n 'audio/3gpp': ['*3gpp'],\n 'audio/aac': ['adts', 'aac'],\n 'audio/adpcm': ['adp'],\n 'audio/amr': ['amr'],\n 'audio/basic': ['au', 'snd'],\n 'audio/midi': ['mid', 'midi', 'kar', 'rmi'],\n 'audio/mobile-xmf': ['mxmf'],\n 'audio/mp3': ['*mp3'],\n 'audio/mp4': ['m4a', 'mp4a'],\n 'audio/mpeg': ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'],\n 'audio/ogg': ['oga', 'ogg', 'spx', 'opus'],\n 'audio/s3m': ['s3m'],\n 'audio/silk': ['sil'],\n 'audio/wav': ['wav'],\n 'audio/wave': ['*wav'],\n 'audio/webm': ['weba'],\n 'audio/xm': ['xm'],\n 'font/collection': ['ttc'],\n 'font/otf': ['otf'],\n 'font/ttf': ['ttf'],\n 'font/woff': ['woff'],\n 'font/woff2': ['woff2'],\n 'image/aces': ['exr'],\n 'image/apng': ['apng'],\n 'image/avci': ['avci'],\n 'image/avcs': ['avcs'],\n 'image/avif': ['avif'],\n 'image/bmp': ['bmp', 'dib'],\n 'image/cgm': ['cgm'],\n 'image/dicom-rle': ['drle'],\n 'image/dpx': ['dpx'],\n 'image/emf': ['emf'],\n 'image/fits': ['fits'],\n 'image/g3fax': ['g3'],\n 'image/gif': ['gif'],\n 'image/heic': ['heic'],\n 'image/heic-sequence': ['heics'],\n 'image/heif': ['heif'],\n 'image/heif-sequence': ['heifs'],\n 'image/hej2k': ['hej2'],\n 'image/hsj2': ['hsj2'],\n 'image/ief': ['ief'],\n 'image/jls': ['jls'],\n 'image/jp2': ['jp2', 'jpg2'],\n 'image/jpeg': ['jpeg', 'jpg', 'jpe'],\n 'image/jph': ['jph'],\n 'image/jphc': ['jhc'],\n 'image/jpm': ['jpm', 'jpgm'],\n 'image/jpx': ['jpx', 'jpf'],\n 'image/jxl': ['jxl'],\n 'image/jxr': ['jxr'],\n 'image/jxra': ['jxra'],\n 'image/jxrs': ['jxrs'],\n 'image/jxs': ['jxs'],\n 'image/jxsc': ['jxsc'],\n 'image/jxsi': ['jxsi'],\n 'image/jxss': ['jxss'],\n 'image/ktx': ['ktx'],\n 'image/ktx2': ['ktx2'],\n 'image/png': ['png'],\n 'image/sgi': ['sgi'],\n 'image/svg+xml': ['svg', 'svgz'],\n 'image/t38': ['t38'],\n 'image/tiff': ['tif', 'tiff'],\n 'image/tiff-fx': ['tfx'],\n 'image/webp': ['webp'],\n 'image/wmf': ['wmf'],\n 'message/disposition-notification': ['disposition-notification'],\n 'message/global': ['u8msg'],\n 'message/global-delivery-status': ['u8dsn'],\n 'message/global-disposition-notification': ['u8mdn'],\n 'message/global-headers': ['u8hdr'],\n 'message/rfc822': ['eml', 'mime'],\n 'model/3mf': ['3mf'],\n 'model/gltf+json': ['gltf'],\n 'model/gltf-binary': ['glb'],\n 'model/iges': ['igs', 'iges'],\n 'model/jt': ['jt'],\n 'model/mesh': ['msh', 'mesh', 'silo'],\n 'model/mtl': ['mtl'],\n 'model/obj': ['obj'],\n 'model/prc': ['prc'],\n 'model/step+xml': ['stpx'],\n 'model/step+zip': ['stpz'],\n 'model/step-xml+zip': ['stpxz'],\n 'model/stl': ['stl'],\n 'model/u3d': ['u3d'],\n 'model/vrml': ['wrl', 'vrml'],\n 'model/x3d+binary': ['*x3db', 'x3dbz'],\n 'model/x3d+fastinfoset': ['x3db'],\n 'model/x3d+vrml': ['*x3dv', 'x3dvz'],\n 'model/x3d+xml': ['x3d', 'x3dz'],\n 'model/x3d-vrml': ['x3dv'],\n 'text/cache-manifest': ['appcache', 'manifest'],\n 'text/calendar': ['ics', 'ifb'],\n 'text/coffeescript': ['coffee', 'litcoffee'],\n 'text/css': ['css'],\n 'text/csv': ['csv'],\n 'text/html': ['html', 'htm', 'shtml'],\n 'text/jade': ['jade'],\n 'text/javascript': ['js', 'mjs'],\n 'text/jsx': ['jsx'],\n 'text/less': ['less'],\n 'text/markdown': ['md', 'markdown'],\n 'text/mathml': ['mml'],\n 'text/mdx': ['mdx'],\n 'text/n3': ['n3'],\n 'text/plain': ['txt', 'text', 'conf', 'def', 'list', 'log', 'in', 'ini'],\n 'text/richtext': ['rtx'],\n 'text/rtf': ['*rtf'],\n 'text/sgml': ['sgml', 'sgm'],\n 'text/shex': ['shex'],\n 'text/slim': ['slim', 'slm'],\n 'text/spdx': ['spdx'],\n 'text/stylus': ['stylus', 'styl'],\n 'text/tab-separated-values': ['tsv'],\n 'text/troff': ['t', 'tr', 'roff', 'man', 'me', 'ms'],\n 'text/turtle': ['ttl'],\n 'text/uri-list': ['uri', 'uris', 'urls'],\n 'text/vcard': ['vcard'],\n 'text/vtt': ['vtt'],\n 'text/wgsl': ['wgsl'],\n 'text/xml': ['*xml'],\n 'text/yaml': ['yaml', 'yml'],\n 'video/3gpp': ['3gp', '3gpp'],\n 'video/3gpp2': ['3g2'],\n 'video/h261': ['h261'],\n 'video/h263': ['h263'],\n 'video/h264': ['h264'],\n 'video/iso.segment': ['m4s'],\n 'video/jpeg': ['jpgv'],\n 'video/jpm': ['*jpm', '*jpgm'],\n 'video/mj2': ['mj2', 'mjp2'],\n 'video/mp2t': ['ts', 'm2t', 'm2ts', 'mts'],\n 'video/mp4': ['mp4', 'mp4v', 'mpg4'],\n 'video/mpeg': ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'],\n 'video/ogg': ['ogv'],\n 'video/quicktime': ['qt', 'mov'],\n 'video/webm': ['webm'],\n};\nObject.freeze(types);\nexport default types;\n","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Mime_extensionToType, _Mime_typeToExtension, _Mime_typeToExtensions;\nclass Mime {\n constructor(...args) {\n _Mime_extensionToType.set(this, new Map());\n _Mime_typeToExtension.set(this, new Map());\n _Mime_typeToExtensions.set(this, new Map());\n for (const arg of args) {\n this.define(arg);\n }\n }\n define(typeMap, force = false) {\n for (let [type, extensions] of Object.entries(typeMap)) {\n type = type.toLowerCase();\n extensions = extensions.map((ext) => ext.toLowerCase());\n if (!__classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").has(type)) {\n __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").set(type, new Set());\n }\n const allExtensions = __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type);\n let first = true;\n for (let extension of extensions) {\n const starred = extension.startsWith('*');\n extension = starred ? extension.slice(1) : extension;\n allExtensions?.add(extension);\n if (first) {\n __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").set(type, extension);\n }\n first = false;\n if (starred)\n continue;\n const currentType = __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(extension);\n if (currentType && currentType != type && !force) {\n throw new Error(`\"${type} -> ${extension}\" conflicts with \"${currentType} -> ${extension}\". Pass \\`force=true\\` to override this definition.`);\n }\n __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").set(extension, type);\n }\n }\n return this;\n }\n getType(path) {\n if (typeof path !== 'string')\n return null;\n const last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n const ext = last.replace(/^.*\\./, '').toLowerCase();\n const hasPath = last.length < path.length;\n const hasDot = ext.length < last.length - 1;\n if (!hasDot && hasPath)\n return null;\n return __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(ext) ?? null;\n }\n getExtension(type) {\n if (typeof type !== 'string')\n return null;\n type = type?.split?.(';')[0];\n return ((type && __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").get(type.trim().toLowerCase())) ?? null);\n }\n getAllExtensions(type) {\n if (typeof type !== 'string')\n return null;\n return __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type.toLowerCase()) ?? null;\n }\n _freeze() {\n this.define = () => {\n throw new Error('define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances');\n };\n Object.freeze(this);\n for (const extensions of __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").values()) {\n Object.freeze(extensions);\n }\n return this;\n }\n _getTestState() {\n return {\n types: __classPrivateFieldGet(this, _Mime_extensionToType, \"f\"),\n extensions: __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\"),\n };\n }\n}\n_Mime_extensionToType = new WeakMap(), _Mime_typeToExtension = new WeakMap(), _Mime_typeToExtensions = new WeakMap();\nexport default Mime;\n","import otherTypes from '../types/other.js';\nimport standardTypes from '../types/standard.js';\nimport Mime from './Mime.js';\nexport { default as Mime } from './Mime.js';\nexport default new Mime(standardTypes, otherTypes)._freeze();\n","import { computed, type Ref } from 'vue';\nimport { useI18n } from '@/utils/ts/i18n';\nimport mime from 'mime';\nimport messages from '../../messages.json';\n\ntype MessageSchema = (typeof messages)['en-US'];\n\n/**\n * Transforms a file extension to uppercase or a MIME type to an uppercase\n * extension prefixed by a dot:\n *\n * .jpeg -> .JPEG\n * application/pdf -> .PDF\n *\n * @param type Extension or Mime type string\n * @returns Extension\n */\nfunction getExtension(type: string) {\n // Is mimetype\n if (type.includes('/')) {\n return `.${mime.getExtension(type).toUpperCase()}`;\n }\n\n // Is extension\n return type.toUpperCase();\n}\n\n/**\n * Transforms a list of accepted file types or MIME types @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept}\n * into a human readable list of file extentions.\n *\n * .jpeg -> .JPEG\n * application/pdf -> .PDF\n *\n * @param accept String containing a list of unique file type specifiers.\n * @returns String with types transformed to human readable text\n */\nexport function useFileTypeList(accept?: Ref<string>) {\n const { locale, t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const supportedFileTypeList = computed<string>(() => {\n const formatter = new Intl.ListFormat(locale.value, { style: 'short', type: 'unit' });\n\n return accept?.value\n ? formatter.format(\n accept.value.split(',').map(type => {\n const value = type.trim();\n switch (value) {\n case 'audio/*':\n return t('audioFiles');\n case 'image/*':\n return t('imageFiles');\n case 'video/*':\n return t('videoFiles');\n default:\n return getExtension(type);\n }\n })\n )\n : null;\n });\n\n return { supportedFileTypeList };\n}\n","import { computed, reactive } from 'vue';\nimport mime from 'mime';\nimport { type useDragDropStateProps } from './use-drag-drop-state.types';\n\n/**\n * Transforms a file extension to MIME type.\n * @param type Type or extension to be transformed\n * @returns Extension transformed into MIME type\n */\nfunction transformExtensionToMimeType(type: string) {\n // When getType is \"null\" the value is a mime type\n return mime.getType(type) ?? type;\n}\n\n/**\n * Provides a set of states for the Drag and drop component as well as a set of errors calculated\n * during the \"dragenter\" event.\n *\n * The errors prevent the files from being dropped.\n * The state helps indicating what's the current state of the component.\n *\n * @param options Properties used to validate files when they are dragged inside the file uploader\n * @returns Drag state and errors calculated during the validation perfomed on the Drag event\n */\nexport function useDragDropState({ maxCount, accept }: useDragDropStateProps) {\n const dragErrors = reactive({\n invalidTypes: false,\n partiallyInvalidTypes: false,\n maxCountOverflow: false,\n });\n\n const dragState = reactive({\n dragging: false,\n error: false,\n });\n\n // Convert all extensions to MIME types\n const acceptMimeTypes = computed<Array<string>>(() => {\n if (!accept.value) {\n return undefined;\n }\n\n const types = accept.value\n .split(',') // Split all comma values\n .map(type => transformExtensionToMimeType(type.trim().toLocaleLowerCase()));\n return types;\n });\n\n /**\n * Resets to default the states provided by the composable\n */\n function resetDragState() {\n dragState.dragging = false;\n dragState.error = false;\n dragErrors.invalidTypes = false;\n dragErrors.partiallyInvalidTypes = false;\n dragErrors.maxCountOverflow = false;\n }\n\n /**\n * Validates if the files being dragged into the component meet all\n * restrictions applied by the MIME type through the \"action\" and\n * with the \"maxCount\" props\n *\n * @param totalFilesCount Total amount of files currently uploded\n * @param event Event triggered by the \"onenter\" action\n */\n function onDragEnterValidations(totalFilesCount: number, event: DragEvent) {\n // Enable dragging\n dragState.dragging = true;\n\n // Show error when the amount of files being dragged is higher than \"maxCount\"\n if (!event.dataTransfer.types.includes('Files') || totalFilesCount > maxCount.value) {\n dragErrors.maxCountOverflow = true;\n dragState.error = true;\n }\n\n // Do nothing if no file type/extension restrictions are set\n if (!acceptMimeTypes.value) {\n return;\n }\n\n let countValidFiles = 0;\n\n for (const file of event.dataTransfer.items) {\n if (acceptMimeTypes.value.includes(file.type)) {\n countValidFiles++;\n }\n }\n\n if (countValidFiles === 0) {\n dragState.error = true;\n dragErrors.invalidTypes = true;\n return;\n }\n\n // If some files have non-accepted types\n if (!dragErrors.invalidTypes && countValidFiles !== event.dataTransfer.items.length) {\n dragState.error = true;\n dragErrors.partiallyInvalidTypes = true;\n }\n }\n\n return {\n dragState,\n dragErrors,\n resetDragState,\n onDragEnterValidations,\n };\n}\n","<template>\n <div class=\"b-file-uploader\" :class=\"conditionalClasses\">\n <field-label\n class=\"b-file-uploader__label\"\n :for=\"inputFieldId\"\n :label=\"label\"\n :optional=\"optional\"\n :required=\"required\"\n :tooltip-text=\"tooltipText\"\n />\n\n <input\n :id=\"inputFieldId\"\n ref=\"inputRef\"\n aria-hidden=\"true\"\n type=\"file\"\n tabindex=\"-1\"\n data-testid=\"input\"\n class=\"b-file-uploader__input\"\n :accept=\"accept\"\n :disabled=\"disabled\"\n :multiple=\"isMultiple\"\n @change=\"onInputChange\"\n @click=\"onInputClick\"\n />\n\n <!-- Used to separate the a11y text with breaks for the reader. Hidden to users -->\n <span :id=\"commaTextId\" aria-hidden=\"true\" class=\"b-file-uploader__invisible-comma\"> , </span>\n\n <div\n v-if=\"!hideArea\"\n ref=\"dropAreaRef\"\n :aria-labelledby=\"fileUploadAriaLabelledBy\"\n class=\"b-file-uploader__area\"\n role=\"button\"\n :tabindex=\"disabled ? -1 : 0\"\n @click=\"inputRef.click()\"\n @dragenter.stop.prevent=\"onDragEnter\"\n @dragleave.stop.prevent=\"onDragLeave\"\n @drop.stop.prevent=\"onDrop\"\n @dragover=\"onDragOver\"\n @keydown.enter.prevent.capture=\"inputRef.click()\"\n @keydown.space.prevent.capture=\"inputRef.click()\"\n >\n <div class=\"b-file-uploader__icon\" aria-hidden=\"true\">\n <warning-filled-icon v-if=\"hasError\" />\n <upload-icon v-else />\n </div>\n\n <template v-if=\"!condensed\">\n <bento-typography :id=\"dropFilesTextId\" el=\"span\" strongest class=\"b-file-uploader__title\">\n {{ tc('dropFiles', maxCount) }}\n </bento-typography>\n\n <bento-typography v-if=\"description\" :id=\"customTextId\" el=\"span\" class=\"b-file-uploader__description\">\n {{ description }}\n </bento-typography>\n\n <file-uploader-restrictions v-bind=\"fileUploadRestrictionsProps\" :id=\"fileUploaderRestrictionsId\" />\n </template>\n\n <bento-typography :id=\"browseFilesButtonId\" stronger class=\"b-file-uploader__button\">\n {{ t('browseFiles') }}\n </bento-typography>\n </div>\n\n <error-message\n v-if=\"hasError && errorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-file-uploader__error-message\"\n />\n\n <bento-typography\n v-if=\"condensed && description\"\n :id=\"customTextId\"\n aria-hidden=\"true\"\n el=\"span\"\n class=\"b-file-uploader__description b-file-uploader__description--condensed\"\n >\n {{ description }}\n </bento-typography>\n\n <file-uploader-restrictions\n v-if=\"condensed\"\n v-bind=\"fileUploadRestrictionsProps\"\n :id=\"fileUploaderRestrictionsId\"\n />\n\n <bento-alert v-if=\"maxFileCountError\" type=\"critical\">\n {{ t('tooManyFiles') }}\n <template #description>\n {{ t('youHaveExceededTheMaximum', { count: n(props.maxCount) }) }}\n </template>\n </bento-alert>\n\n <div v-show=\"files?.length\" class=\"b-file-uploader__files\">\n <file-uploader-file-card\n v-for=\"(file, index) in files\"\n :ref=\"registerFileCardRef(index)\"\n :key=\"file.id\"\n :file=\"file\"\n :supported-file-types=\"supportedFileTypeList\"\n @cancel=\"removeFile(file)\"\n @remove=\"removeFile(file)\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, onMounted, reactive, ref, toRef, watch } from 'vue';\n import UploadIcon from '@adyen/ui-assets-icons-16/vue/upload';\n import WarningFilledIcon from '@adyen/ui-assets-icons-16/vue/warning-filled';\n\n import { BentoAlert } from '@/components/alert';\n import { BentoTypography } from '@/components/typography';\n import { ErrorMessage, FieldLabel } from '@/internal';\n import { FileUploaderFileCard } from './components/file-uploader-file-card';\n import { FileUploaderRestrictions } from './components/file-uploader-restrictions';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/core/utils/ts';\n import { getFileType, readFile } from './utils';\n import { useFileTypeList } from './composables';\n import { useDragDropState } from '@/components/file-uploader/composables/use-drag-drop-state/use-drag-drop-state';\n import { deprecate } from '@/utils/ts/deprecate';\n import { useFormFieldEmits } from '@/utils/ts/form-field/form-field';\n\n import {\n type BentoFileUploaderProps,\n type BentoFileUploaderValue,\n FileErrorType,\n type FileObject,\n FileState,\n FileUploaderState,\n } from './file-uploader.types';\n import type { FileUploaderRestrictionsProps } from '@/components/file-uploader/components/file-uploader-restrictions/file-uploader-restrictions.types';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t, tc, n } = useI18n<{ message: MessageSchema }>({ messages });\n\n const emit = defineEmits([\"change\", \"input\", \"update:model-value\", \"error:upload\"]);\n\n const props = defineProps({\n accept: { default: null },\n condensed: { type: Boolean },\n description: { default: null },\n disabled: { type: Boolean },\n errorMessage: { default: null },\n label: null,\n maxCount: { default: 1 },\n maxDimensions: { default: null },\n maxSize: { default: null },\n modelValue: { default: null },\n optional: { type: Boolean },\n required: { type: Boolean },\n tooltipText: { default: null }\n});\n\n const { emitValue } = useFormFieldEmits<BentoFileUploaderValue>(emit);\n\n /**\n * Model value checks\n * Filter out type string, array and file as FileList is the only type un-deprecated for modelValue\n * */\n\n /**\n * Type guard to check if the value is a FileList.\n * @param files The value to check.\n */\n function isFileList(files: BentoFileUploaderValue): files is FileList {\n return (\n !!files && typeof (files as FileList).length === 'number' && typeof (files as FileList).item === 'function'\n );\n }\n\n /**\n * Used as vitest recognizes FileList as an Array of Files which then\n * causes any tests with pre-uploaded files to fail as isFileList will fail.\n * */\n onMounted(() => {\n // Model is not a FileList\n if (!isFileList(props.modelValue)) {\n deprecate(\n 'BentoFileUploaderValue types: string | Array<string> | File | Array<File>',\n 'Use FileList instead.',\n '2.0.0'\n );\n }\n });\n\n const { supportedFileTypeList } = useFileTypeList(toRef(props, 'accept'));\n\n const browseFilesButtonId = generateUid('browse-button');\n const customTextId = generateUid('custom-text');\n const dropFilesTextId = generateUid('drop-files-text');\n const commaTextId = generateUid('comma-text');\n const fileUploaderRestrictionsId = generateUid('file-uploader-restrictions');\n\n const files = ref<Array<FileObject>>(null);\n const fileCardRefs = ref<Array<InstanceType<typeof FileUploaderFileCard>>>([]);\n const inputRef = ref<HTMLInputElement>(null);\n const dropAreaRef = ref<HTMLDivElement>(null);\n const inputFieldId = generateUid('input');\n const errorId = generateUid('input-error');\n\n const fileUploadAriaLabelledBy = computed(() => {\n const formattedDropFileTextId = !props.condensed ? `${dropFilesTextId} ${commaTextId}` : '';\n const formattedCustomTextId = props.description ? `${customTextId} ${commaTextId}` : '';\n const formattedFileUploaderRestrictionsId = `${fileUploaderRestrictionsId} ${commaTextId}`;\n return `${formattedDropFileTextId} ${formattedCustomTextId} ${formattedFileUploaderRestrictionsId} ${browseFilesButtonId}`;\n });\n\n const { dragState, dragErrors, resetDragState, onDragEnterValidations } = useDragDropState({\n accept: toRef(props, 'accept'),\n maxCount: toRef(props, 'maxCount'),\n });\n\n const fileUploadRestrictionsProps = computed<FileUploaderRestrictionsProps>(() => ({\n condensed: props.condensed,\n disabled: props.disabled,\n maxCount: isMultiple.value\n ? {\n value: props.maxCount,\n error: dragErrors.maxCountOverflow || maxFileCountError.value,\n }\n : null,\n maxDimensions: props.maxDimensions\n ? {\n value: props.maxDimensions,\n error: files.value?.some(file => file.errors.includes(FileErrorType.ERROR_DIMENSIONS)),\n }\n : null,\n maxSize: props.maxSize\n ? {\n value: props.maxSize,\n error: files.value?.some(file => file.errors.includes(FileErrorType.ERROR_SIZE)),\n }\n : null,\n supportedFileTypes: supportedFileTypeList.value\n ? {\n value: supportedFileTypeList.value,\n error:\n dragErrors.invalidTypes ||\n dragErrors.partiallyInvalidTypes ||\n files.value?.some(file => file.errors.includes(FileErrorType.ERROR_TYPE)),\n }\n : null,\n }));\n // Prevents triggering \"dragleave\" events on children elements\n const enterTarget = ref<EventTarget>();\n\n const conditionalClasses = computed(() => ({\n [`b-file-uploader--${FileUploaderState.DISABLED}`]: props.disabled,\n [`b-file-uploader--${FileUploaderState.DRAG_OVER}`]: dragState.dragging,\n [`b-file-uploader--${FileUploaderState.ERROR}`]: hasError.value,\n [`b-file-uploader--condensed`]: props.condensed,\n }));\n const isMultiple = computed(() => props.maxCount > 1);\n const hideArea = computed(() => props.maxCount && files.value?.length >= props.maxCount);\n const loadingStateExists = computed(() => files.value?.some(file => file.state === 'loading'));\n\n const registerFileCardRef = (cardIndex: number) => fileCardRef => {\n fileCardRefs.value[cardIndex] = fileCardRef;\n };\n\n /**\n * Verifies the new list of files and emits the `change` and `update:modelValue` events.\n * @param newList The new list of files to process and emit.\n */\n function emitUpdate(newList: Array<FileObject>) {\n if (newList) {\n verifyFileCount(newList);\n verifyFileSize(newList);\n\n const value = convertToFileList(newList);\n\n emit('change', value);\n emitValue(value);\n } else {\n emit('change', undefined);\n emitValue(undefined);\n }\n }\n\n /** Errors */\n const hasError = computed(() => !!props.errorMessage || dragState.error);\n const maxFileCountError = computed(() => files.value?.length > props.maxCount);\n const maxFileError = ref(false);\n const hasRestrictionError = computed(() => files.value?.some(file => file.state === 'error'));\n\n watch(hasRestrictionError, newValue => {\n // Without this, when files are initially uploaded the component\n // will immediately and unnecessarily emit 'false' and then\n // emit 'true' once processing has done, if errors exists.\n if (loadingStateExists.value) {\n return;\n }\n\n emit('error:upload', newValue);\n });\n\n /**\n * Places the focus to the \"drop area\" after adding or removing a file.\n * If more files can be added, the focus is moved to the \"drop area\".\n * If no more files can be added, the focus is moved to the first file card.\n */\n async function resetFocus() {\n await nextTick();\n\n if (files.value.length === props.maxCount) {\n fileCardRefs.value[0]?.focus();\n return;\n }\n\n dropAreaRef.value.focus();\n }\n\n /**\n * Removes the file from the list of files when the\n * \"remove\" or \"cancel\" events are triggered from\n * the file card component\n * @param file File to be removed\n */\n async function removeFile(file: FileObject) {\n files.value = files.value.filter(({ id }) => id !== file.id);\n\n await resetFocus();\n emitUpdate(files.value);\n }\n\n /** Drag n Drop functions */\n\n /**\n * Creates a FileObject from a native File and tracks its client-load progress.\n * @param file The native File object.\n * @returns A FileObject.\n */\n function processFile(file: File) {\n const fileObject = reactive<FileObject>({\n id: generateUid('file'),\n data: file,\n errors: [],\n progress: null,\n state: FileState.LOADING,\n type: getFileType(file),\n });\n readFile(fileObject, props.accept, props.maxDimensions);\n return fileObject;\n }\n\n /**\n * Prevent opening the file browser when no\n * more files can be added (until one file is removed).\n * @param event Triggered event\n */\n function onInputClick(event: MouseEvent) {\n if (files.value?.length === props.maxCount) {\n event.preventDefault();\n }\n }\n\n /**\n * Sets the file/files to track their progress while being processed\n * @param fileList File or list of files to be processed.\n */\n async function onFileInput(fileList: FileList) {\n // Prevent adding many files if maxCount is 1\n if (props.maxCount === 1 && fileList.length > props.maxCount) {\n resetEnterTarget();\n resetDragState();\n return;\n }\n\n if (isMultiple.value) {\n // Add the new files to the file selection.\n // Removing files should be done by interacting with the file list below the area.\n files.value = [...(files.value || []), ...Array.from(fileList).map(file => processFile(file))];\n } else {\n files.value = [processFile(fileList[0])];\n await resetFocus();\n }\n\n emitUpdate(files.value);\n }\n\n /**\n * Handles the \"dragenter\" event, triggered when the mouse enters the draggable area.\n * Enables the dragging state and sets the dragging error to true to\n * prevent dropping files from being added if there's a general error.\n * @param event Drag event\n */\n function onDragEnter(event: DragEvent) {\n // Prevent changing state if disabled\n if (props.disabled) {\n return;\n }\n\n /**\n * Allows internal components as part of the dragable area.\n * Prevents trigerring \"dragleave\" events on children elements.\n * Set the \"dragarea\" as target\n */\n enterTarget.value = event.target;\n\n const totalFilesCount = (event.dataTransfer.items?.length ?? 0) + (files.value?.length ?? 0);\n onDragEnterValidations(totalFilesCount, event);\n }\n\n /**\n * Resets the reference to the target.\n * This helps preventing loosing the state when dragging over children\n */\n function resetEnterTarget() {\n enterTarget.value = null;\n }\n\n /**\n * Handles the \"dragleave\" event, triggered when the mouse leaves the draggable area.\n * Maintains the dragging state while dragging over children.\n * Resets the states when the mouse leaves the draggable area\n * @param event Drag event\n */\n function onDragLeave(event: DragEvent) {\n // If target enter and leave are the same it means the drag has left the \"dragarea\"\n if (enterTarget.value === event.target) {\n resetEnterTarget();\n resetDragState();\n }\n }\n\n /**\n * Handles the \"dragover\" event, triggered when the mouse moves over the draggable area.\n * Disables the cursor when the component is disabled.\n * @param event Drag event\n */\n function onDragOver(event: DragEvent) {\n event.preventDefault();\n\n // Disable drag n drop and change the cursor if disabled\n if (props.disabled) {\n // eslint-disable-next-line no-param-reassign\n event.dataTransfer.dropEffect = 'none';\n }\n }\n\n /**\n * Hadles the \"drop\" event, triggered when files are dropped inside the draggable area.\n * Processes the files that are dropped.\n * @param event Drag event\n */\n async function onDrop(event: DragEvent) {\n // Prevent events when the input is disabled\n if (props.disabled) {\n return;\n }\n\n if (!dragErrors.invalidTypes && event.dataTransfer.files?.length) {\n onFileInput(event.dataTransfer.files);\n }\n resetEnterTarget();\n resetDragState();\n }\n\n /**\n * Handles the \"change\" event over the \"input\" element.\n * Processes the files that are selected through the browser's file explorer.\n */\n async function onInputChange() {\n if (inputRef.value.files?.length) {\n onFileInput(inputRef.value.files);\n }\n\n // Reset input value\n inputRef.value.value = '';\n await resetFocus();\n }\n\n /** End of drag and drop functions */\n\n /**\n * Watches the modelValue and if set\n * and the type is not deprecated, it processes the files\n * but doesn't emit them as the user already has those files.\n */\n watch(\n () => props.modelValue,\n (newValue: BentoFileUploaderValue) => {\n // Sets the new value if it is a `FileList`. This ignores deprecated value types.\n if (newValue && isFileList(newValue)) {\n const fileList = newValue as FileList;\n\n const fileListArray: Array<File> = Array.from(fileList);\n\n files.value = fileListArray.map(file => processFile(file));\n } else if (!newValue && files.value) {\n // Clear the file list when the value is programmatically unset.\n files.value = null;\n }\n },\n { immediate: true }\n );\n\n function verifyFileCount(fileList: Array<FileObject>) {\n const isValid = props.maxCount && fileList.length <= props.maxCount;\n maxFileError.value = !isValid;\n }\n\n function verifyFileSize(fileList: Array<FileObject>) {\n if (props.maxSize) {\n fileList.forEach(file => {\n const item = file; // Prevent eslint no-param-reassign\n if (item.data.size > props.maxSize) {\n item.state = FileState.ERROR;\n item.errors.push(FileErrorType.ERROR_SIZE);\n }\n });\n }\n }\n\n function convertToFileList(fileList: Array<FileObject>) {\n // Filter out files with errors\n const validFiles = fileList.filter(\n ({ errors }) => !errors.includes(FileErrorType.ERROR_LOAD) && !errors.includes(FileErrorType.ERROR_SIZE)\n );\n\n if (validFiles.length) {\n const dataTransfer = new DataTransfer();\n validFiles.forEach(({ data, id }) => {\n dataTransfer.items.add(data);\n });\n return dataTransfer.files;\n }\n return undefined;\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * The file uploader component enables users to upload one or multiple files from their device to our system.\n *\n * @example\n * import { BentoFileUploader, type BentoFileValue } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoFileUploader },\n * template: `\n * <bento-file-uploader\n * accept=\"image/*,video/*,.pdf,.png\"\n * condensed\n * description=\"Custom supporting text\"\n * disabled\n * errorMessage=\"Custom error message\"\n * label=\"Bento file uploader\"\n * :maxCount=\"1\"\n * :maxDimensions=\"{ width: 200, height: 100 }\"\n * :maxSize=\"1000\"\n * v-model=\"files\"\n * :optional=\"false\"\n * required\n * tooltipText=\"Useful information\"\n * />\n * `,\n * setup() {\n * const files = ref<BentoFileValue>()\n * }\n * }\n */\n export default {\n model: { prop: 'modelValue' },\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader.scss\" />\n"],"names":["uuid$9","_sfc_main$d","useTruncatedFileName","target","container","isContainerTruncating","ref","observer","disconnectObserver","onUnmounted","onMounted","entries","UNITS","formatFileSize","locale","size","unitIndex","FileState","FileState2","FileErrorType","FileErrorType2","FileUploaderState","FileUploaderState2","FileType","FileType2","textFileExtraTypes","tableFileTypes","slidesFileTypes","compressedFileTypes","getFileType","file","isFileTypeAccepted","accept","acceptPatterns","type","pattern","category","readFile","fileObject","maxDimensions","reader","event","blob","url","img","uuid$8","_sfc_main$b","uuid$7","_sfc_main$a","uuid$6","_sfc_main$9","uuid$5","_sfc_main$8","uuid$4","_sfc_main$7","uuid$3","_sfc_main$6","uuid$2","_sfc_main$5","uuid$1","_sfc_main$4","uuid","_sfc_main$3","FILE_TYPE_ICON_MAP","SoundIcon","FolderIcon","AttachmentIcon","ImageIcon","DocumentIcon","CollectionIcon","TableIcon","DocumentLinesIcon","PlayCircleIcon","getFileIcon","getFileIconColor","__default__$2","messages$2","ICON_TIMER","t","useI18n","removeFileButtonRef","cancelFileButtonRef","retryFileButtonRef","fileErrorsSectionId","generateUid","cancelFileButtonId","removeFileButtonId","retryFileButtonId","showFileIcon","props","downloadUrl","computed","hasError","hasLoadError","hasSizeError","hasDimensionsError","hasTypeError","isLoading","progressLabel","sizeLabel","fileNameRef","fileNameContainerRef","isFileNameTruncated","conditionalClasses","conditionalIconClasses","fileUploaderIcon","BentoLoadingIndicator","WarningFilledIcon","CheckmarkCircleFillIcon","watch","value","changeTimer","focus","expose","__default__$1","messages$1","tc","n","setRestrictionErrorClass","error","maxDimensionsLabel","width","height","types$1","types","__classPrivateFieldGet","receiver","state","kind","f","_Mime_extensionToType","_Mime_typeToExtension","_Mime_typeToExtensions","Mime","args","arg","typeMap","force","extensions","ext","allExtensions","first","extension","starred","currentType","path","last","hasPath","_a","mime","getExtension","useFileTypeList","formatter","transformExtensionToMimeType","useDragDropState","maxCount","dragErrors","reactive","dragState","acceptMimeTypes","resetDragState","onDragEnterValidations","totalFilesCount","countValidFiles","__default__","messages","emitValue","useFormFieldEmits","emit","isFileList","files2","deprecate","supportedFileTypeList","toRef","browseFilesButtonId","customTextId","dropFilesTextId","commaTextId","fileUploaderRestrictionsId","files","fileCardRefs","inputRef","dropAreaRef","inputFieldId","errorId","fileUploadAriaLabelledBy","formattedDropFileTextId","formattedCustomTextId","formattedFileUploaderRestrictionsId","fileUploadRestrictionsProps","isMultiple","maxFileCountError","_b","_c","enterTarget","hideArea","loadingStateExists","registerFileCardRef","cardIndex","fileCardRef","emitUpdate","newList","verifyFileCount","verifyFileSize","convertToFileList","maxFileError","hasRestrictionError","newValue","resetFocus","nextTick","removeFile","id","processFile","onInputClick","onFileInput","fileList","resetEnterTarget","onDragEnter","onDragLeave","onDragOver","onDrop","onInputChange","fileListArray","isValid","item","validFiles","errors","dataTransfer","data"],"mappings":"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","x_google_ignoreList":[19,20,21,22]}
|