primevue 4.3.4 → 4.3.6
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/accordion/index.mjs +4 -2
- package/accordion/index.mjs.map +1 -1
- package/accordioncontent/AccordionContent.vue +2 -2
- package/accordioncontent/index.mjs +2 -2
- package/accordioncontent/index.mjs.map +1 -1
- package/accordionheader/AccordionHeader.vue +2 -2
- package/accordionheader/index.mjs +2 -2
- package/accordionheader/index.mjs.map +1 -1
- package/accordionpanel/index.mjs.map +1 -1
- package/accordiontab/index.mjs.map +1 -1
- package/animateonscroll/index.mjs.map +1 -1
- package/autocomplete/AutoComplete.vue +3 -1
- package/autocomplete/index.mjs +10 -5
- package/autocomplete/index.mjs.map +1 -1
- package/autocomplete/style/index.mjs +6 -5
- package/autocomplete/style/index.mjs.map +1 -1
- package/avatar/index.mjs.map +1 -1
- package/avatargroup/index.mjs.map +1 -1
- package/badge/index.mjs.map +1 -1
- package/badge/style/index.mjs.map +1 -1
- package/badgedirective/index.mjs.map +1 -1
- package/blockui/index.mjs.map +1 -1
- package/breadcrumb/index.mjs +4 -2
- package/breadcrumb/index.mjs.map +1 -1
- package/button/Button.vue +1 -1
- package/button/index.d.ts +4 -0
- package/button/index.mjs +5 -4
- package/button/index.mjs.map +1 -1
- package/button/style/index.mjs.map +1 -1
- package/buttongroup/index.mjs.map +1 -1
- package/card/index.mjs.map +1 -1
- package/carousel/index.mjs +10 -5
- package/carousel/index.mjs.map +1 -1
- package/cascadeselect/index.mjs +10 -5
- package/cascadeselect/index.mjs.map +1 -1
- package/chart/index.mjs.map +1 -1
- package/checkbox/index.mjs.map +1 -1
- package/checkboxgroup/index.mjs.map +1 -1
- package/chip/Chip.vue +1 -1
- package/chip/index.mjs +1 -1
- package/chip/index.mjs.map +1 -1
- package/colorpicker/index.mjs.map +1 -1
- package/column/index.mjs.map +1 -1
- package/columngroup/index.mjs.map +1 -1
- package/confirmdialog/index.mjs.map +1 -1
- package/confirmpopup/index.mjs.map +1 -1
- package/contextmenu/index.mjs +16 -8
- package/contextmenu/index.mjs.map +1 -1
- package/datatable/BodyCell.vue +1 -1
- package/datatable/ColumnFilter.vue +2 -13
- package/datatable/DataTable.vue +8 -4
- package/datatable/index.d.ts +2 -2
- package/datatable/index.mjs +53 -57
- package/datatable/index.mjs.map +1 -1
- package/dataview/index.mjs.map +1 -1
- package/datepicker/DatePicker.vue +13 -2
- package/datepicker/index.mjs +68 -30
- package/datepicker/index.mjs.map +1 -1
- package/deferredcontent/index.mjs.map +1 -1
- package/dialog/Dialog.vue +1 -1
- package/dialog/index.mjs +1 -1
- package/dialog/index.mjs.map +1 -1
- package/dialog/style/index.mjs.map +1 -1
- package/divider/index.mjs.map +1 -1
- package/dock/index.mjs +8 -4
- package/dock/index.mjs.map +1 -1
- package/dock/style/index.mjs.map +1 -1
- package/drawer/index.mjs.map +1 -1
- package/drawer/style/index.mjs.map +1 -1
- package/dynamicdialog/index.mjs +6 -3
- package/dynamicdialog/index.mjs.map +1 -1
- package/editor/index.mjs.map +1 -1
- package/fieldset/index.mjs.map +1 -1
- package/fileupload/FileUpload.vue +27 -25
- package/fileupload/index.d.ts +5 -0
- package/fileupload/index.mjs +18 -9
- package/fileupload/index.mjs.map +1 -1
- package/fileupload/style/index.d.ts +5 -1
- package/fileupload/style/index.mjs +2 -1
- package/fileupload/style/index.mjs.map +1 -1
- package/floatlabel/index.d.ts +1 -1
- package/floatlabel/index.mjs.map +1 -1
- package/fluid/index.mjs.map +1 -1
- package/focustrap/index.mjs.map +1 -1
- package/galleria/index.mjs +8 -4
- package/galleria/index.mjs.map +1 -1
- package/iconfield/index.mjs.map +1 -1
- package/iftalabel/index.mjs.map +1 -1
- package/image/index.mjs.map +1 -1
- package/imagecompare/index.mjs.map +1 -1
- package/inlinemessage/index.mjs.map +1 -1
- package/inplace/index.mjs.map +1 -1
- package/inputchips/index.mjs +2 -1
- package/inputchips/index.mjs.map +1 -1
- package/inputgroup/index.mjs.map +1 -1
- package/inputgroupaddon/index.mjs.map +1 -1
- package/inputicon/index.mjs.map +1 -1
- package/inputmask/index.mjs.map +1 -1
- package/inputnumber/InputNumber.vue +10 -1
- package/inputnumber/index.mjs +8 -1
- package/inputnumber/index.mjs.map +1 -1
- package/inputotp/index.mjs.map +1 -1
- package/inputtext/index.mjs.map +1 -1
- package/keyfilter/index.mjs.map +1 -1
- package/knob/index.mjs +2 -2
- package/knob/index.mjs.map +1 -1
- package/listbox/BaseListbox.vue +4 -0
- package/listbox/Listbox.vue +8 -6
- package/listbox/index.d.ts +5 -0
- package/listbox/index.mjs +20 -10
- package/listbox/index.mjs.map +1 -1
- package/listbox/style/index.mjs +1 -0
- package/listbox/style/index.mjs.map +1 -1
- package/megamenu/index.d.ts +0 -1
- package/megamenu/index.mjs +22 -11
- package/megamenu/index.mjs.map +1 -1
- package/menu/index.mjs +6 -3
- package/menu/index.mjs.map +1 -1
- package/menubar/MenubarSub.vue +0 -1
- package/menubar/index.d.ts +0 -2
- package/menubar/index.mjs +15 -9
- package/menubar/index.mjs.map +1 -1
- package/message/index.mjs.map +1 -1
- package/metergroup/index.mjs +10 -5
- package/metergroup/index.mjs.map +1 -1
- package/multiselect/MultiSelect.vue +10 -5
- package/multiselect/index.mjs +17 -9
- package/multiselect/index.mjs.map +1 -1
- package/orderlist/index.mjs.map +1 -1
- package/organizationchart/index.mjs +6 -3
- package/organizationchart/index.mjs.map +1 -1
- package/overlaybadge/index.mjs.map +1 -1
- package/package.json +6 -6
- package/paginator/index.mjs +10 -4
- package/paginator/index.mjs.map +1 -1
- package/paginator/style/index.mjs.map +1 -1
- package/panel/index.mjs.map +1 -1
- package/panelmenu/index.mjs +42 -21
- package/panelmenu/index.mjs.map +1 -1
- package/passthrough/index.mjs.map +1 -1
- package/password/index.mjs.map +1 -1
- package/picklist/PickList.vue +8 -11
- package/picklist/index.mjs +15 -7
- package/picklist/index.mjs.map +1 -1
- package/popover/index.mjs.map +1 -1
- package/portal/index.mjs.map +1 -1
- package/progressbar/index.mjs.map +1 -1
- package/progressspinner/index.mjs.map +1 -1
- package/radiobutton/index.mjs.map +1 -1
- package/radiobuttongroup/index.mjs.map +1 -1
- package/rating/Rating.vue +2 -2
- package/rating/index.d.ts +10 -0
- package/rating/index.mjs +17 -6
- package/rating/index.mjs.map +1 -1
- package/ripple/index.mjs.map +1 -1
- package/row/index.mjs.map +1 -1
- package/scrollpanel/ScrollPanel.vue +3 -1
- package/scrollpanel/index.mjs +2 -1
- package/scrollpanel/index.mjs.map +1 -1
- package/scrolltop/index.mjs.map +1 -1
- package/select/Select.vue +3 -4
- package/select/index.mjs +15 -9
- package/select/index.mjs.map +1 -1
- package/selectbutton/BaseSelectButton.vue +4 -0
- package/selectbutton/index.d.ts +25 -0
- package/selectbutton/index.mjs +4 -0
- package/selectbutton/index.mjs.map +1 -1
- package/selectbutton/style/index.mjs +5 -2
- package/selectbutton/style/index.mjs.map +1 -1
- package/skeleton/index.mjs.map +1 -1
- package/slider/index.mjs.map +1 -1
- package/speeddial/index.mjs +6 -3
- package/speeddial/index.mjs.map +1 -1
- package/speeddial/style/index.mjs.map +1 -1
- package/splitbutton/index.mjs.map +1 -1
- package/splitter/Splitter.vue +1 -1
- package/splitter/index.mjs +5 -2
- package/splitter/index.mjs.map +1 -1
- package/splitterpanel/index.mjs.map +1 -1
- package/step/index.mjs.map +1 -1
- package/stepitem/index.mjs.map +1 -1
- package/steplist/index.mjs.map +1 -1
- package/steppanel/index.mjs.map +1 -1
- package/steppanels/index.mjs.map +1 -1
- package/stepper/index.mjs.map +1 -1
- package/steps/index.mjs +8 -4
- package/steps/index.mjs.map +1 -1
- package/styleclass/index.mjs.map +1 -1
- package/tab/index.mjs.map +1 -1
- package/tablist/index.mjs.map +1 -1
- package/tabmenu/index.mjs +8 -2
- package/tabmenu/index.mjs.map +1 -1
- package/tabpanel/index.mjs.map +1 -1
- package/tabpanels/index.mjs.map +1 -1
- package/tabs/index.mjs.map +1 -1
- package/tabview/index.mjs +8 -4
- package/tabview/index.mjs.map +1 -1
- package/tag/index.mjs.map +1 -1
- package/terminal/index.mjs +8 -4
- package/terminal/index.mjs.map +1 -1
- package/textarea/index.mjs.map +1 -1
- package/tieredmenu/index.mjs +18 -9
- package/tieredmenu/index.mjs.map +1 -1
- package/timeline/index.mjs +12 -6
- package/timeline/index.mjs.map +1 -1
- package/toast/Toast.vue +3 -0
- package/toast/ToastMessage.vue +21 -9
- package/toast/index.d.ts +16 -4
- package/toast/index.mjs +27 -14
- package/toast/index.mjs.map +1 -1
- package/toast/style/index.mjs.map +1 -1
- package/togglebutton/BaseToggleButton.vue +4 -0
- package/togglebutton/index.d.ts +5 -0
- package/togglebutton/index.mjs +4 -0
- package/togglebutton/index.mjs.map +1 -1
- package/togglebutton/style/index.mjs +1 -0
- package/togglebutton/style/index.mjs.map +1 -1
- package/toggleswitch/index.mjs.map +1 -1
- package/toggleswitch/style/index.d.ts +1 -5
- package/toolbar/index.mjs.map +1 -1
- package/tooltip/index.mjs.map +1 -1
- package/tree/index.mjs.map +1 -1
- package/treeselect/index.mjs +2 -1
- package/treeselect/index.mjs.map +1 -1
- package/treetable/TreeTable.vue +1 -1
- package/treetable/index.mjs +3 -2
- package/treetable/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -12213
- package/useconfirm/index.mjs.map +1 -1
- package/usedialog/index.mjs.map +1 -1
- package/usetoast/index.mjs.map +1 -1
- package/virtualscroller/VirtualScroller.vue +4 -1
- package/virtualscroller/index.mjs +3 -1
- package/virtualscroller/index.mjs.map +1 -1
- package/virtualscroller/style/index.mjs.map +1 -1
- package/web-types.json +1 -1
package/fileupload/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/fileupload/BaseFileUpload.vue","../../src/fileupload/FileContent.vue","../../src/fileupload/FileContent.vue?vue&type=template&id=4b9f1ffb&lang.js","../../src/fileupload/FileUpload.vue","../../src/fileupload/FileUpload.vue?vue&type=template&id=16dbac22&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport FileUploadStyle from 'primevue/fileupload/style';\n\nexport default {\n name: 'BaseFileUpload',\n extends: BaseComponent,\n props: {\n name: {\n type: String,\n default: null\n },\n url: {\n type: String,\n default: null\n },\n mode: {\n type: String,\n default: 'advanced'\n },\n multiple: {\n type: Boolean,\n default: false\n },\n accept: {\n type: String,\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n auto: {\n type: Boolean,\n default: false\n },\n maxFileSize: {\n type: Number,\n default: null\n },\n invalidFileSizeMessage: {\n type: String,\n default: '{0}: Invalid file size, file size should be smaller than {1}.'\n },\n invalidFileTypeMessage: {\n type: String,\n default: '{0}: Invalid file type, allowed file types: {1}.'\n },\n fileLimit: {\n type: Number,\n default: null\n },\n invalidFileLimitMessage: {\n type: String,\n default: 'Maximum number of files exceeded, limit is {0} at most.'\n },\n withCredentials: {\n type: Boolean,\n default: false\n },\n previewWidth: {\n type: Number,\n default: 50\n },\n chooseLabel: {\n type: String,\n default: null\n },\n uploadLabel: {\n type: String,\n default: null\n },\n cancelLabel: {\n type: String,\n default: null\n },\n customUpload: {\n type: Boolean,\n default: false\n },\n showUploadButton: {\n type: Boolean,\n default: true\n },\n showCancelButton: {\n type: Boolean,\n default: true\n },\n chooseIcon: {\n type: String,\n default: undefined\n },\n uploadIcon: {\n type: String,\n default: undefined\n },\n cancelIcon: {\n type: String,\n default: undefined\n },\n style: null,\n class: null,\n chooseButtonProps: {\n type: null,\n default: null\n },\n uploadButtonProps: {\n type: Object,\n default() {\n return { severity: 'secondary' };\n }\n },\n cancelButtonProps: {\n type: Object,\n default() {\n return { severity: 'secondary' };\n }\n }\n },\n style: FileUploadStyle,\n provide() {\n return {\n $pcFileUpload: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div v-for=\"(file, index) of files\" :key=\"file.name + file.type + file.size\" :class=\"cx('file')\" v-bind=\"ptm('file')\">\n <img role=\"presentation\" :class=\"cx('fileThumbnail')\" :alt=\"file.name\" :src=\"file.objectURL\" :width=\"previewWidth\" v-bind=\"ptm('fileThumbnail')\" />\n <div :class=\"cx('fileInfo')\" v-bind=\"ptm('fileInfo')\">\n <div :class=\"cx('fileName')\" v-bind=\"ptm('fileName')\">{{ file.name }}</div>\n <span :class=\"cx('fileSize')\" v-bind=\"ptm('fileSize')\">{{ formatSize(file.size) }}</span>\n </div>\n <Badge :value=\"badgeValue\" :class=\"cx('pcFileBadge')\" :severity=\"badgeSeverity\" :unstyled=\"unstyled\" :pt=\"ptm('pcFileBadge')\" />\n <div :class=\"cx('fileActions')\" v-bind=\"ptm('fileActions')\">\n <Button @click=\"$emit('remove', index)\" text rounded severity=\"danger\" :class=\"cx('pcFileRemoveButton')\" :unstyled=\"unstyled\" :pt=\"ptm('pcFileRemoveButton')\">\n <template #icon=\"iconProps\">\n <component v-if=\"templates.fileremoveicon\" :is=\"templates.fileremoveicon\" :class=\"iconProps.class\" :file=\"file\" :index=\"index\" />\n <TimesIcon v-else :class=\"iconProps.class\" aria-hidden=\"true\" v-bind=\"ptm('pcFileRemoveButton')['icon']\" />\n </template>\n </Button>\n </div>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TimesIcon from '@primevue/icons/times';\nimport Badge from 'primevue/badge';\nimport Button from 'primevue/button';\n\nexport default {\n name: 'FileContent',\n hostName: 'FileUpload',\n extends: BaseComponent,\n emits: ['remove'],\n props: {\n files: {\n type: Array,\n default: () => []\n },\n badgeSeverity: {\n type: String,\n default: 'warn'\n },\n badgeValue: {\n type: String,\n default: null\n },\n previewWidth: {\n type: Number,\n default: 50\n },\n templates: {\n type: null,\n default: null\n }\n },\n methods: {\n formatSize(bytes) {\n const k = 1024;\n const dm = 3;\n const sizes = this.$primevue.config.locale?.fileSizeTypes || ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n\n return `${formattedSize} ${sizes[i]}`;\n }\n },\n components: {\n Button,\n Badge,\n TimesIcon\n }\n};\n</script>\n","<template>\n <div v-for=\"(file, index) of files\" :key=\"file.name + file.type + file.size\" :class=\"cx('file')\" v-bind=\"ptm('file')\">\n <img role=\"presentation\" :class=\"cx('fileThumbnail')\" :alt=\"file.name\" :src=\"file.objectURL\" :width=\"previewWidth\" v-bind=\"ptm('fileThumbnail')\" />\n <div :class=\"cx('fileInfo')\" v-bind=\"ptm('fileInfo')\">\n <div :class=\"cx('fileName')\" v-bind=\"ptm('fileName')\">{{ file.name }}</div>\n <span :class=\"cx('fileSize')\" v-bind=\"ptm('fileSize')\">{{ formatSize(file.size) }}</span>\n </div>\n <Badge :value=\"badgeValue\" :class=\"cx('pcFileBadge')\" :severity=\"badgeSeverity\" :unstyled=\"unstyled\" :pt=\"ptm('pcFileBadge')\" />\n <div :class=\"cx('fileActions')\" v-bind=\"ptm('fileActions')\">\n <Button @click=\"$emit('remove', index)\" text rounded severity=\"danger\" :class=\"cx('pcFileRemoveButton')\" :unstyled=\"unstyled\" :pt=\"ptm('pcFileRemoveButton')\">\n <template #icon=\"iconProps\">\n <component v-if=\"templates.fileremoveicon\" :is=\"templates.fileremoveicon\" :class=\"iconProps.class\" :file=\"file\" :index=\"index\" />\n <TimesIcon v-else :class=\"iconProps.class\" aria-hidden=\"true\" v-bind=\"ptm('pcFileRemoveButton')['icon']\" />\n </template>\n </Button>\n </div>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TimesIcon from '@primevue/icons/times';\nimport Badge from 'primevue/badge';\nimport Button from 'primevue/button';\n\nexport default {\n name: 'FileContent',\n hostName: 'FileUpload',\n extends: BaseComponent,\n emits: ['remove'],\n props: {\n files: {\n type: Array,\n default: () => []\n },\n badgeSeverity: {\n type: String,\n default: 'warn'\n },\n badgeValue: {\n type: String,\n default: null\n },\n previewWidth: {\n type: Number,\n default: 50\n },\n templates: {\n type: null,\n default: null\n }\n },\n methods: {\n formatSize(bytes) {\n const k = 1024;\n const dm = 3;\n const sizes = this.$primevue.config.locale?.fileSizeTypes || ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n\n return `${formattedSize} ${sizes[i]}`;\n }\n },\n components: {\n Button,\n Badge,\n TimesIcon\n }\n};\n</script>\n","<template>\n <div v-if=\"isAdvanced\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <input ref=\"fileInput\" type=\"file\" @change=\"onFileSelect\" :multiple=\"multiple\" :accept=\"accept\" :disabled=\"chooseDisabled\" v-bind=\"ptm('input')\" />\n <div :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :files=\"files\" :uploadedFiles=\"uploadedFiles\" :chooseCallback=\"choose\" :uploadCallback=\"uploader\" :clearCallback=\"clear\">\n <Button\n :label=\"chooseButtonLabel\"\n :class=\"chooseButtonClass\"\n :style=\"style\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @click=\"choose\"\n @keydown.enter=\"choose\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"chooseButtonProps\"\n :pt=\"ptm('pcChooseButton')\"\n >\n <template #icon=\"iconProps\">\n <slot name=\"chooseicon\">\n <component :is=\"chooseIcon ? 'span' : 'PlusIcon'\" :class=\"[iconProps.class, chooseIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcChooseButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <Button v-if=\"showUploadButton\" :class=\"cx('pcUploadButton')\" :label=\"uploadButtonLabel\" @click=\"uploader\" :disabled=\"uploadDisabled\" :unstyled=\"unstyled\" v-bind=\"uploadButtonProps\" :pt=\"ptm('pcUploadButton')\">\n <template #icon=\"iconProps\">\n <slot name=\"uploadicon\">\n <component :is=\"uploadIcon ? 'span' : 'UploadIcon'\" :class=\"[iconProps.class, uploadIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcUploadButton')['icon']\" data-pc-section=\"uploadbuttonicon\" />\n </slot>\n </template>\n </Button>\n <Button v-if=\"showCancelButton\" :class=\"cx('pcCancelButton')\" :label=\"cancelButtonLabel\" @click=\"clear\" :disabled=\"cancelDisabled\" :unstyled=\"unstyled\" v-bind=\"cancelButtonProps\" :pt=\"ptm('pcCancelButton')\">\n <template #icon=\"iconProps\">\n <slot name=\"cancelicon\">\n <component :is=\"cancelIcon ? 'span' : 'TimesIcon'\" :class=\"[iconProps.class, cancelIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcCancelButton')['icon']\" data-pc-section=\"cancelbuttonicon\" />\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n <div ref=\"content\" :class=\"cx('content')\" @dragenter=\"onDragEnter\" @dragover=\"onDragOver\" @dragleave=\"onDragLeave\" @drop=\"onDrop\" v-bind=\"ptm('content')\" :data-p-highlight=\"false\">\n <slot name=\"content\" :files=\"files\" :uploadedFiles=\"uploadedFiles\" :removeUploadedFileCallback=\"removeUploadedFile\" :removeFileCallback=\"remove\" :progress=\"progress\" :messages=\"messages\">\n <ProgressBar v-if=\"hasFiles\" :value=\"progress\" :showValue=\"false\" :unstyled=\"unstyled\" :pt=\"ptm('pcProgressbar')\" />\n <Message v-for=\"msg of messages\" :key=\"msg\" severity=\"error\" @close=\"onMessageClose\" :unstyled=\"unstyled\" :pt=\"ptm('pcMessage')\">{{ msg }}</Message>\n <div v-if=\"hasFiles\" :class=\"cx('fileList')\">\n <FileContent :files=\"files\" @remove=\"remove\" :badgeValue=\"pendingLabel\" :previewWidth=\"previewWidth\" :templates=\"$slots\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </div>\n <div v-if=\"hasUploadedFiles\" :class=\"cx('fileList')\">\n <FileContent :files=\"uploadedFiles\" @remove=\"removeUploadedFile\" :badgeValue=\"completedLabel\" badgeSeverity=\"success\" :previewWidth=\"previewWidth\" :templates=\"$slots\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </div>\n </slot>\n <div v-if=\"$slots.empty && !hasFiles && !hasUploadedFiles\" v-bind=\"ptm('empty')\">\n <slot name=\"empty\"></slot>\n </div>\n </div>\n </div>\n <div v-else-if=\"isBasic\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <Message v-for=\"msg of messages\" :key=\"msg\" severity=\"error\" @close=\"onMessageClose\" :unstyled=\"unstyled\" :pt=\"ptm('pcMessage')\">{{ msg }}</Message>\n <Button\n :label=\"chooseButtonLabel\"\n :class=\"chooseButtonClass\"\n :style=\"style\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @mouseup=\"onBasicUploaderClick\"\n @keydown.enter=\"choose\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"chooseButtonProps\"\n :pt=\"ptm('pcChooseButton')\"\n >\n <template #icon=\"iconProps\">\n <slot name=\"chooseicon\">\n <component :is=\"chooseIcon ? 'span' : 'PlusIcon'\" :class=\"[iconProps.class, chooseIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcChooseButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <slot v-if=\"!auto\" name=\"filelabel\" :class=\"cx('filelabel')\" :files=\"files\">\n <span :class=\"cx('filelabel')\">\n {{ basicFileChosenLabel }}\n </span>\n </slot>\n <input ref=\"fileInput\" type=\"file\" :accept=\"accept\" :disabled=\"disabled\" :multiple=\"multiple\" @change=\"onFileSelect\" @focus=\"onFocus\" @blur=\"onBlur\" v-bind=\"ptm('input')\" />\n </div>\n</template>\n\n<script>\nimport { addClass, removeClass } from '@primeuix/utils/dom';\nimport PlusIcon from '@primevue/icons/plus';\nimport TimesIcon from '@primevue/icons/times';\nimport UploadIcon from '@primevue/icons/upload';\nimport Button from 'primevue/button';\nimport Message from 'primevue/message';\nimport ProgressBar from 'primevue/progressbar';\nimport Ripple from 'primevue/ripple';\nimport BaseFileUpload from './BaseFileUpload.vue';\nimport FileContent from './FileContent.vue';\n\nexport default {\n name: 'FileUpload',\n extends: BaseFileUpload,\n inheritAttrs: false,\n emits: ['select', 'uploader', 'before-upload', 'progress', 'upload', 'error', 'before-send', 'clear', 'remove', 'remove-uploaded-file'],\n duplicateIEEvent: false,\n data() {\n return {\n uploadedFileCount: 0,\n files: [],\n messages: [],\n focused: false,\n progress: null,\n uploadedFiles: []\n };\n },\n methods: {\n upload() {\n if (this.hasFiles) this.uploader();\n },\n onBasicUploaderClick(event) {\n if (event.button === 0) this.$refs.fileInput.click();\n },\n onFileSelect(event) {\n if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {\n this.duplicateIEEvent = false;\n\n return;\n }\n\n if (this.isBasic && this.hasFiles) {\n this.files = [];\n }\n\n this.messages = [];\n this.files = this.files || [];\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n\n for (let file of files) {\n if (!this.isFileSelected(file) && !this.isFileLimitExceeded()) {\n if (this.validate(file)) {\n if (this.isImage(file)) {\n file.objectURL = window.URL.createObjectURL(file);\n }\n\n this.files.push(file);\n }\n }\n }\n\n this.$emit('select', { originalEvent: event, files: this.files });\n\n if (this.fileLimit) {\n this.checkFileLimit();\n }\n\n if (this.auto && this.hasFiles && !this.isFileLimitExceeded()) {\n this.uploader();\n }\n\n if (event.type !== 'drop' && this.isIE11()) {\n this.clearIEInput();\n } else {\n this.clearInputElement();\n }\n },\n choose() {\n this.$refs.fileInput.click();\n },\n uploader() {\n if (this.customUpload) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.$emit('uploader', { files: this.files });\n } else {\n let xhr = new XMLHttpRequest();\n let formData = new FormData();\n\n this.$emit('before-upload', {\n xhr: xhr,\n formData: formData\n });\n\n for (let file of this.files) {\n formData.append(this.name, file, file.name);\n }\n\n xhr.upload.addEventListener('progress', (event) => {\n if (event.lengthComputable) {\n this.progress = Math.round((event.loaded * 100) / event.total);\n }\n\n this.$emit('progress', {\n originalEvent: event,\n progress: this.progress\n });\n });\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n this.progress = 0;\n\n if (xhr.status >= 200 && xhr.status < 300) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.$emit('upload', {\n xhr: xhr,\n files: this.files\n });\n this.uploadedFiles.push(...this.files);\n } else {\n this.$emit('error', {\n xhr: xhr,\n files: this.files\n });\n }\n\n this.clear();\n }\n };\n\n if (this.url) {\n xhr.open('POST', this.url, true);\n\n this.$emit('before-send', {\n xhr: xhr,\n formData: formData\n });\n\n xhr.withCredentials = this.withCredentials;\n\n xhr.send(formData);\n }\n }\n },\n clear() {\n this.files = [];\n this.messages = null;\n this.$emit('clear');\n\n if (this.isAdvanced) {\n this.clearInputElement();\n }\n },\n onFocus() {\n this.focused = true;\n },\n onBlur() {\n this.focused = false;\n },\n isFileSelected(file) {\n if (this.files && this.files.length) {\n for (let sFile of this.files) {\n if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) return true;\n }\n }\n\n return false;\n },\n isIE11() {\n return !!window['MSInputMethodContext'] && !!document['documentMode'];\n },\n validate(file) {\n if (this.accept && !this.isFileTypeValid(file)) {\n this.messages.push(this.invalidFileTypeMessage.replace('{0}', file.name).replace('{1}', this.accept));\n\n return false;\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.messages.push(this.invalidFileSizeMessage.replace('{0}', file.name).replace('{1}', this.formatSize(this.maxFileSize)));\n\n return false;\n }\n\n return true;\n },\n isFileTypeValid(file) {\n let acceptableTypes = this.accept.split(',').map((type) => type.trim());\n\n for (let type of acceptableTypes) {\n let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();\n\n if (acceptable) {\n return true;\n }\n }\n\n return false;\n },\n getTypeClass(fileType) {\n return fileType.substring(0, fileType.indexOf('/'));\n },\n isWildcard(fileType) {\n return fileType.indexOf('*') !== -1;\n },\n getFileExtension(file) {\n return '.' + file.name.split('.').pop();\n },\n isImage(file) {\n return /^image\\//.test(file.type);\n },\n onDragEnter(event) {\n if (!this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n },\n onDragOver(event) {\n if (!this.disabled) {\n !this.isUnstyled && addClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', true);\n event.stopPropagation();\n event.preventDefault();\n }\n },\n onDragLeave() {\n if (!this.disabled) {\n !this.isUnstyled && removeClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', false);\n }\n },\n onDrop(event) {\n if (!this.disabled) {\n !this.isUnstyled && removeClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', false);\n event.stopPropagation();\n event.preventDefault();\n\n const files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n const allowDrop = this.multiple || (files && files.length === 1);\n\n if (allowDrop) {\n this.onFileSelect(event);\n }\n }\n },\n remove(index) {\n this.clearInputElement();\n let removedFile = this.files.splice(index, 1)[0];\n\n this.files = [...this.files];\n this.$emit('remove', {\n file: removedFile,\n files: this.files\n });\n },\n removeUploadedFile(index) {\n let removedFile = this.uploadedFiles.splice(index, 1)[0];\n\n this.uploadedFiles = [...this.uploadedFiles];\n this.$emit('remove-uploaded-file', {\n file: removedFile,\n files: this.uploadedFiles\n });\n },\n clearInputElement() {\n this.$refs.fileInput.value = '';\n },\n clearIEInput() {\n if (this.$refs.fileInput) {\n this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again\n this.$refs.fileInput.value = '';\n }\n },\n formatSize(bytes) {\n const k = 1024;\n const dm = 3;\n const sizes = this.$primevue.config.locale?.fileSizeTypes || ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n\n return `${formattedSize} ${sizes[i]}`;\n },\n isFileLimitExceeded() {\n if (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount && this.focused) {\n this.focused = false;\n }\n\n return this.fileLimit && this.fileLimit < this.files.length + this.uploadedFileCount;\n },\n checkFileLimit() {\n if (this.isFileLimitExceeded()) {\n this.messages.push(this.invalidFileLimitMessage.replace('{0}', this.fileLimit.toString()));\n }\n },\n onMessageClose() {\n this.messages = null;\n }\n },\n computed: {\n isAdvanced() {\n return this.mode === 'advanced';\n },\n isBasic() {\n return this.mode === 'basic';\n },\n chooseButtonClass() {\n return [this.cx('pcChooseButton'), this.class];\n },\n basicFileChosenLabel() {\n if (this.auto) return this.chooseButtonLabel;\n else if (this.hasFiles) {\n if (this.files && this.files.length === 1) return this.files[0].name;\n\n return this.$primevue.config.locale?.fileChosenMessage?.replace('{0}', this.files.length);\n }\n\n return this.$primevue.config.locale?.noFileChosenMessage || '';\n },\n hasFiles() {\n return this.files && this.files.length > 0;\n },\n hasUploadedFiles() {\n return this.uploadedFiles && this.uploadedFiles.length > 0;\n },\n chooseDisabled() {\n return this.disabled || (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount);\n },\n uploadDisabled() {\n return this.disabled || !this.hasFiles || (this.fileLimit && this.fileLimit < this.files.length);\n },\n cancelDisabled() {\n return this.disabled || !this.hasFiles;\n },\n chooseButtonLabel() {\n return this.chooseLabel || this.$primevue.config.locale.choose;\n },\n uploadButtonLabel() {\n return this.uploadLabel || this.$primevue.config.locale.upload;\n },\n cancelButtonLabel() {\n return this.cancelLabel || this.$primevue.config.locale.cancel;\n },\n completedLabel() {\n return this.$primevue.config.locale.completed;\n },\n pendingLabel() {\n return this.$primevue.config.locale.pending;\n }\n },\n components: {\n Button,\n ProgressBar,\n Message,\n FileContent,\n PlusIcon,\n UploadIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div v-if=\"isAdvanced\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <input ref=\"fileInput\" type=\"file\" @change=\"onFileSelect\" :multiple=\"multiple\" :accept=\"accept\" :disabled=\"chooseDisabled\" v-bind=\"ptm('input')\" />\n <div :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :files=\"files\" :uploadedFiles=\"uploadedFiles\" :chooseCallback=\"choose\" :uploadCallback=\"uploader\" :clearCallback=\"clear\">\n <Button\n :label=\"chooseButtonLabel\"\n :class=\"chooseButtonClass\"\n :style=\"style\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @click=\"choose\"\n @keydown.enter=\"choose\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"chooseButtonProps\"\n :pt=\"ptm('pcChooseButton')\"\n >\n <template #icon=\"iconProps\">\n <slot name=\"chooseicon\">\n <component :is=\"chooseIcon ? 'span' : 'PlusIcon'\" :class=\"[iconProps.class, chooseIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcChooseButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <Button v-if=\"showUploadButton\" :class=\"cx('pcUploadButton')\" :label=\"uploadButtonLabel\" @click=\"uploader\" :disabled=\"uploadDisabled\" :unstyled=\"unstyled\" v-bind=\"uploadButtonProps\" :pt=\"ptm('pcUploadButton')\">\n <template #icon=\"iconProps\">\n <slot name=\"uploadicon\">\n <component :is=\"uploadIcon ? 'span' : 'UploadIcon'\" :class=\"[iconProps.class, uploadIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcUploadButton')['icon']\" data-pc-section=\"uploadbuttonicon\" />\n </slot>\n </template>\n </Button>\n <Button v-if=\"showCancelButton\" :class=\"cx('pcCancelButton')\" :label=\"cancelButtonLabel\" @click=\"clear\" :disabled=\"cancelDisabled\" :unstyled=\"unstyled\" v-bind=\"cancelButtonProps\" :pt=\"ptm('pcCancelButton')\">\n <template #icon=\"iconProps\">\n <slot name=\"cancelicon\">\n <component :is=\"cancelIcon ? 'span' : 'TimesIcon'\" :class=\"[iconProps.class, cancelIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcCancelButton')['icon']\" data-pc-section=\"cancelbuttonicon\" />\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n <div ref=\"content\" :class=\"cx('content')\" @dragenter=\"onDragEnter\" @dragover=\"onDragOver\" @dragleave=\"onDragLeave\" @drop=\"onDrop\" v-bind=\"ptm('content')\" :data-p-highlight=\"false\">\n <slot name=\"content\" :files=\"files\" :uploadedFiles=\"uploadedFiles\" :removeUploadedFileCallback=\"removeUploadedFile\" :removeFileCallback=\"remove\" :progress=\"progress\" :messages=\"messages\">\n <ProgressBar v-if=\"hasFiles\" :value=\"progress\" :showValue=\"false\" :unstyled=\"unstyled\" :pt=\"ptm('pcProgressbar')\" />\n <Message v-for=\"msg of messages\" :key=\"msg\" severity=\"error\" @close=\"onMessageClose\" :unstyled=\"unstyled\" :pt=\"ptm('pcMessage')\">{{ msg }}</Message>\n <div v-if=\"hasFiles\" :class=\"cx('fileList')\">\n <FileContent :files=\"files\" @remove=\"remove\" :badgeValue=\"pendingLabel\" :previewWidth=\"previewWidth\" :templates=\"$slots\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </div>\n <div v-if=\"hasUploadedFiles\" :class=\"cx('fileList')\">\n <FileContent :files=\"uploadedFiles\" @remove=\"removeUploadedFile\" :badgeValue=\"completedLabel\" badgeSeverity=\"success\" :previewWidth=\"previewWidth\" :templates=\"$slots\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </div>\n </slot>\n <div v-if=\"$slots.empty && !hasFiles && !hasUploadedFiles\" v-bind=\"ptm('empty')\">\n <slot name=\"empty\"></slot>\n </div>\n </div>\n </div>\n <div v-else-if=\"isBasic\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <Message v-for=\"msg of messages\" :key=\"msg\" severity=\"error\" @close=\"onMessageClose\" :unstyled=\"unstyled\" :pt=\"ptm('pcMessage')\">{{ msg }}</Message>\n <Button\n :label=\"chooseButtonLabel\"\n :class=\"chooseButtonClass\"\n :style=\"style\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @mouseup=\"onBasicUploaderClick\"\n @keydown.enter=\"choose\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"chooseButtonProps\"\n :pt=\"ptm('pcChooseButton')\"\n >\n <template #icon=\"iconProps\">\n <slot name=\"chooseicon\">\n <component :is=\"chooseIcon ? 'span' : 'PlusIcon'\" :class=\"[iconProps.class, chooseIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcChooseButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <slot v-if=\"!auto\" name=\"filelabel\" :class=\"cx('filelabel')\" :files=\"files\">\n <span :class=\"cx('filelabel')\">\n {{ basicFileChosenLabel }}\n </span>\n </slot>\n <input ref=\"fileInput\" type=\"file\" :accept=\"accept\" :disabled=\"disabled\" :multiple=\"multiple\" @change=\"onFileSelect\" @focus=\"onFocus\" @blur=\"onBlur\" v-bind=\"ptm('input')\" />\n </div>\n</template>\n\n<script>\nimport { addClass, removeClass } from '@primeuix/utils/dom';\nimport PlusIcon from '@primevue/icons/plus';\nimport TimesIcon from '@primevue/icons/times';\nimport UploadIcon from '@primevue/icons/upload';\nimport Button from 'primevue/button';\nimport Message from 'primevue/message';\nimport ProgressBar from 'primevue/progressbar';\nimport Ripple from 'primevue/ripple';\nimport BaseFileUpload from './BaseFileUpload.vue';\nimport FileContent from './FileContent.vue';\n\nexport default {\n name: 'FileUpload',\n extends: BaseFileUpload,\n inheritAttrs: false,\n emits: ['select', 'uploader', 'before-upload', 'progress', 'upload', 'error', 'before-send', 'clear', 'remove', 'remove-uploaded-file'],\n duplicateIEEvent: false,\n data() {\n return {\n uploadedFileCount: 0,\n files: [],\n messages: [],\n focused: false,\n progress: null,\n uploadedFiles: []\n };\n },\n methods: {\n upload() {\n if (this.hasFiles) this.uploader();\n },\n onBasicUploaderClick(event) {\n if (event.button === 0) this.$refs.fileInput.click();\n },\n onFileSelect(event) {\n if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {\n this.duplicateIEEvent = false;\n\n return;\n }\n\n if (this.isBasic && this.hasFiles) {\n this.files = [];\n }\n\n this.messages = [];\n this.files = this.files || [];\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n\n for (let file of files) {\n if (!this.isFileSelected(file) && !this.isFileLimitExceeded()) {\n if (this.validate(file)) {\n if (this.isImage(file)) {\n file.objectURL = window.URL.createObjectURL(file);\n }\n\n this.files.push(file);\n }\n }\n }\n\n this.$emit('select', { originalEvent: event, files: this.files });\n\n if (this.fileLimit) {\n this.checkFileLimit();\n }\n\n if (this.auto && this.hasFiles && !this.isFileLimitExceeded()) {\n this.uploader();\n }\n\n if (event.type !== 'drop' && this.isIE11()) {\n this.clearIEInput();\n } else {\n this.clearInputElement();\n }\n },\n choose() {\n this.$refs.fileInput.click();\n },\n uploader() {\n if (this.customUpload) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.$emit('uploader', { files: this.files });\n } else {\n let xhr = new XMLHttpRequest();\n let formData = new FormData();\n\n this.$emit('before-upload', {\n xhr: xhr,\n formData: formData\n });\n\n for (let file of this.files) {\n formData.append(this.name, file, file.name);\n }\n\n xhr.upload.addEventListener('progress', (event) => {\n if (event.lengthComputable) {\n this.progress = Math.round((event.loaded * 100) / event.total);\n }\n\n this.$emit('progress', {\n originalEvent: event,\n progress: this.progress\n });\n });\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n this.progress = 0;\n\n if (xhr.status >= 200 && xhr.status < 300) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.$emit('upload', {\n xhr: xhr,\n files: this.files\n });\n this.uploadedFiles.push(...this.files);\n } else {\n this.$emit('error', {\n xhr: xhr,\n files: this.files\n });\n }\n\n this.clear();\n }\n };\n\n if (this.url) {\n xhr.open('POST', this.url, true);\n\n this.$emit('before-send', {\n xhr: xhr,\n formData: formData\n });\n\n xhr.withCredentials = this.withCredentials;\n\n xhr.send(formData);\n }\n }\n },\n clear() {\n this.files = [];\n this.messages = null;\n this.$emit('clear');\n\n if (this.isAdvanced) {\n this.clearInputElement();\n }\n },\n onFocus() {\n this.focused = true;\n },\n onBlur() {\n this.focused = false;\n },\n isFileSelected(file) {\n if (this.files && this.files.length) {\n for (let sFile of this.files) {\n if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) return true;\n }\n }\n\n return false;\n },\n isIE11() {\n return !!window['MSInputMethodContext'] && !!document['documentMode'];\n },\n validate(file) {\n if (this.accept && !this.isFileTypeValid(file)) {\n this.messages.push(this.invalidFileTypeMessage.replace('{0}', file.name).replace('{1}', this.accept));\n\n return false;\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.messages.push(this.invalidFileSizeMessage.replace('{0}', file.name).replace('{1}', this.formatSize(this.maxFileSize)));\n\n return false;\n }\n\n return true;\n },\n isFileTypeValid(file) {\n let acceptableTypes = this.accept.split(',').map((type) => type.trim());\n\n for (let type of acceptableTypes) {\n let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();\n\n if (acceptable) {\n return true;\n }\n }\n\n return false;\n },\n getTypeClass(fileType) {\n return fileType.substring(0, fileType.indexOf('/'));\n },\n isWildcard(fileType) {\n return fileType.indexOf('*') !== -1;\n },\n getFileExtension(file) {\n return '.' + file.name.split('.').pop();\n },\n isImage(file) {\n return /^image\\//.test(file.type);\n },\n onDragEnter(event) {\n if (!this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n },\n onDragOver(event) {\n if (!this.disabled) {\n !this.isUnstyled && addClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', true);\n event.stopPropagation();\n event.preventDefault();\n }\n },\n onDragLeave() {\n if (!this.disabled) {\n !this.isUnstyled && removeClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', false);\n }\n },\n onDrop(event) {\n if (!this.disabled) {\n !this.isUnstyled && removeClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', false);\n event.stopPropagation();\n event.preventDefault();\n\n const files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n const allowDrop = this.multiple || (files && files.length === 1);\n\n if (allowDrop) {\n this.onFileSelect(event);\n }\n }\n },\n remove(index) {\n this.clearInputElement();\n let removedFile = this.files.splice(index, 1)[0];\n\n this.files = [...this.files];\n this.$emit('remove', {\n file: removedFile,\n files: this.files\n });\n },\n removeUploadedFile(index) {\n let removedFile = this.uploadedFiles.splice(index, 1)[0];\n\n this.uploadedFiles = [...this.uploadedFiles];\n this.$emit('remove-uploaded-file', {\n file: removedFile,\n files: this.uploadedFiles\n });\n },\n clearInputElement() {\n this.$refs.fileInput.value = '';\n },\n clearIEInput() {\n if (this.$refs.fileInput) {\n this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again\n this.$refs.fileInput.value = '';\n }\n },\n formatSize(bytes) {\n const k = 1024;\n const dm = 3;\n const sizes = this.$primevue.config.locale?.fileSizeTypes || ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n\n return `${formattedSize} ${sizes[i]}`;\n },\n isFileLimitExceeded() {\n if (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount && this.focused) {\n this.focused = false;\n }\n\n return this.fileLimit && this.fileLimit < this.files.length + this.uploadedFileCount;\n },\n checkFileLimit() {\n if (this.isFileLimitExceeded()) {\n this.messages.push(this.invalidFileLimitMessage.replace('{0}', this.fileLimit.toString()));\n }\n },\n onMessageClose() {\n this.messages = null;\n }\n },\n computed: {\n isAdvanced() {\n return this.mode === 'advanced';\n },\n isBasic() {\n return this.mode === 'basic';\n },\n chooseButtonClass() {\n return [this.cx('pcChooseButton'), this.class];\n },\n basicFileChosenLabel() {\n if (this.auto) return this.chooseButtonLabel;\n else if (this.hasFiles) {\n if (this.files && this.files.length === 1) return this.files[0].name;\n\n return this.$primevue.config.locale?.fileChosenMessage?.replace('{0}', this.files.length);\n }\n\n return this.$primevue.config.locale?.noFileChosenMessage || '';\n },\n hasFiles() {\n return this.files && this.files.length > 0;\n },\n hasUploadedFiles() {\n return this.uploadedFiles && this.uploadedFiles.length > 0;\n },\n chooseDisabled() {\n return this.disabled || (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount);\n },\n uploadDisabled() {\n return this.disabled || !this.hasFiles || (this.fileLimit && this.fileLimit < this.files.length);\n },\n cancelDisabled() {\n return this.disabled || !this.hasFiles;\n },\n chooseButtonLabel() {\n return this.chooseLabel || this.$primevue.config.locale.choose;\n },\n uploadButtonLabel() {\n return this.uploadLabel || this.$primevue.config.locale.upload;\n },\n cancelButtonLabel() {\n return this.cancelLabel || this.$primevue.config.locale.cancel;\n },\n completedLabel() {\n return this.$primevue.config.locale.completed;\n },\n pendingLabel() {\n return this.$primevue.config.locale.pending;\n }\n },\n components: {\n Button,\n ProgressBar,\n Message,\n FileContent,\n PlusIcon,\n UploadIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","type","String","url","mode","multiple","Boolean","accept","disabled","auto","maxFileSize","Number","invalidFileSizeMessage","invalidFileTypeMessage","fileLimit","invalidFileLimitMessage","withCredentials","previewWidth","chooseLabel","uploadLabel","cancelLabel","customUpload","showUploadButton","showCancelButton","chooseIcon","undefined","uploadIcon","cancelIcon","style","chooseButtonProps","uploadButtonProps","Object","default","severity","cancelButtonProps","FileUploadStyle","provide","$pcFileUpload","$parentInstance","hostName","emits","files","Array","badgeSeverity","badgeValue","templates","methods","formatSize","bytes","_this$$primevue$confi","k","dm","sizes","$primevue","config","locale","fileSizeTypes","concat","i","Math","floor","log","formattedSize","parseFloat","pow","toFixed","components","Button","Badge","TimesIcon","_openBlock","_createElementBlock","_Fragment","_renderList","$props","file","index","_mergeProps","key","size","_ctx","cx","ptm","_createElementVNode","role","alt","src","objectURL","width","_hoisted_1","_toDisplayString","$options","_createVNode","_component_Badge","value","unstyled","pt","_component_Button","onClick","$event","$emit","text","rounded","icon","_withCtx","iconProps","fileremoveicon","_createBlock","_resolveDynamicComponent","_normalizeClass","_component_TimesIcon","BaseFileUpload","inheritAttrs","duplicateIEEvent","data","uploadedFileCount","messages","focused","progress","uploadedFiles","upload","hasFiles","uploader","onBasicUploaderClick","event","button","$refs","fileInput","click","onFileSelect","isIE11","isBasic","dataTransfer","target","_iterator","_createForOfIteratorHelper","_step","s","n","done","isFileSelected","isFileLimitExceeded","validate","isImage","window","URL","createObjectURL","push","err","e","f","originalEvent","checkFileLimit","clearIEInput","clearInputElement","choose","_this","length","xhr","XMLHttpRequest","formData","FormData","_iterator2","_step2","append","addEventListener","lengthComputable","round","loaded","total","onreadystatechange","readyState","status","_this$uploadedFiles","apply","_toConsumableArray","clear","open","send","isAdvanced","onFocus","onBlur","_iterator3","_step3","sFile","document","isFileTypeValid","replace","acceptableTypes","split","map","trim","_iterator4","_step4","acceptable","isWildcard","getTypeClass","getFileExtension","toLowerCase","fileType","substring","indexOf","pop","test","onDragEnter","stopPropagation","preventDefault","onDragOver","isUnstyled","addClass","content","setAttribute","onDragLeave","removeClass","onDrop","allowDrop","remove","removedFile","splice","removeUploadedFile","toString","onMessageClose","computed","chooseButtonClass","basicFileChosenLabel","_this$$primevue$confi3","chooseButtonLabel","_this$$primevue$confi2","fileChosenMessage","noFileChosenMessage","hasUploadedFiles","chooseDisabled","uploadDisabled","cancelDisabled","uploadButtonLabel","cancelButtonLabel","cancel","completedLabel","completed","pendingLabel","pending","ProgressBar","Message","FileContent","PlusIcon","UploadIcon","directives","ripple","Ripple","ptmi","ref","onChange","arguments","_renderSlot","$slots","$data","chooseCallback","uploadCallback","clearCallback","label","onKeydown","onDragenter","onDragover","onDragleave","removeUploadedFileCallback","removeFileCallback","_component_ProgressBar","showValue","msg","_component_Message","onClose","_component_FileContent","onRemove","empty","onMouseup","_hoisted_2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/fileupload/BaseFileUpload.vue","../../src/fileupload/FileContent.vue","../../src/fileupload/FileContent.vue?vue&type=template&id=4b9f1ffb&lang.js","../../src/fileupload/FileUpload.vue","../../src/fileupload/FileUpload.vue?vue&type=template&id=5cd0281a&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport FileUploadStyle from 'primevue/fileupload/style';\n\nexport default {\n name: 'BaseFileUpload',\n extends: BaseComponent,\n props: {\n name: {\n type: String,\n default: null\n },\n url: {\n type: String,\n default: null\n },\n mode: {\n type: String,\n default: 'advanced'\n },\n multiple: {\n type: Boolean,\n default: false\n },\n accept: {\n type: String,\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n auto: {\n type: Boolean,\n default: false\n },\n maxFileSize: {\n type: Number,\n default: null\n },\n invalidFileSizeMessage: {\n type: String,\n default: '{0}: Invalid file size, file size should be smaller than {1}.'\n },\n invalidFileTypeMessage: {\n type: String,\n default: '{0}: Invalid file type, allowed file types: {1}.'\n },\n fileLimit: {\n type: Number,\n default: null\n },\n invalidFileLimitMessage: {\n type: String,\n default: 'Maximum number of files exceeded, limit is {0} at most.'\n },\n withCredentials: {\n type: Boolean,\n default: false\n },\n previewWidth: {\n type: Number,\n default: 50\n },\n chooseLabel: {\n type: String,\n default: null\n },\n uploadLabel: {\n type: String,\n default: null\n },\n cancelLabel: {\n type: String,\n default: null\n },\n customUpload: {\n type: Boolean,\n default: false\n },\n showUploadButton: {\n type: Boolean,\n default: true\n },\n showCancelButton: {\n type: Boolean,\n default: true\n },\n chooseIcon: {\n type: String,\n default: undefined\n },\n uploadIcon: {\n type: String,\n default: undefined\n },\n cancelIcon: {\n type: String,\n default: undefined\n },\n style: null,\n class: null,\n chooseButtonProps: {\n type: null,\n default: null\n },\n uploadButtonProps: {\n type: Object,\n default() {\n return { severity: 'secondary' };\n }\n },\n cancelButtonProps: {\n type: Object,\n default() {\n return { severity: 'secondary' };\n }\n }\n },\n style: FileUploadStyle,\n provide() {\n return {\n $pcFileUpload: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div v-for=\"(file, index) of files\" :key=\"file.name + file.type + file.size\" :class=\"cx('file')\" v-bind=\"ptm('file')\">\n <img role=\"presentation\" :class=\"cx('fileThumbnail')\" :alt=\"file.name\" :src=\"file.objectURL\" :width=\"previewWidth\" v-bind=\"ptm('fileThumbnail')\" />\n <div :class=\"cx('fileInfo')\" v-bind=\"ptm('fileInfo')\">\n <div :class=\"cx('fileName')\" v-bind=\"ptm('fileName')\">{{ file.name }}</div>\n <span :class=\"cx('fileSize')\" v-bind=\"ptm('fileSize')\">{{ formatSize(file.size) }}</span>\n </div>\n <Badge :value=\"badgeValue\" :class=\"cx('pcFileBadge')\" :severity=\"badgeSeverity\" :unstyled=\"unstyled\" :pt=\"ptm('pcFileBadge')\" />\n <div :class=\"cx('fileActions')\" v-bind=\"ptm('fileActions')\">\n <Button @click=\"$emit('remove', index)\" text rounded severity=\"danger\" :class=\"cx('pcFileRemoveButton')\" :unstyled=\"unstyled\" :pt=\"ptm('pcFileRemoveButton')\">\n <template #icon=\"iconProps\">\n <component v-if=\"templates.fileremoveicon\" :is=\"templates.fileremoveicon\" :class=\"iconProps.class\" :file=\"file\" :index=\"index\" />\n <TimesIcon v-else :class=\"iconProps.class\" aria-hidden=\"true\" v-bind=\"ptm('pcFileRemoveButton')['icon']\" />\n </template>\n </Button>\n </div>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TimesIcon from '@primevue/icons/times';\nimport Badge from 'primevue/badge';\nimport Button from 'primevue/button';\n\nexport default {\n name: 'FileContent',\n hostName: 'FileUpload',\n extends: BaseComponent,\n emits: ['remove'],\n props: {\n files: {\n type: Array,\n default: () => []\n },\n badgeSeverity: {\n type: String,\n default: 'warn'\n },\n badgeValue: {\n type: String,\n default: null\n },\n previewWidth: {\n type: Number,\n default: 50\n },\n templates: {\n type: null,\n default: null\n }\n },\n methods: {\n formatSize(bytes) {\n const k = 1024;\n const dm = 3;\n const sizes = this.$primevue.config.locale?.fileSizeTypes || ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n\n return `${formattedSize} ${sizes[i]}`;\n }\n },\n components: {\n Button,\n Badge,\n TimesIcon\n }\n};\n</script>\n","<template>\n <div v-for=\"(file, index) of files\" :key=\"file.name + file.type + file.size\" :class=\"cx('file')\" v-bind=\"ptm('file')\">\n <img role=\"presentation\" :class=\"cx('fileThumbnail')\" :alt=\"file.name\" :src=\"file.objectURL\" :width=\"previewWidth\" v-bind=\"ptm('fileThumbnail')\" />\n <div :class=\"cx('fileInfo')\" v-bind=\"ptm('fileInfo')\">\n <div :class=\"cx('fileName')\" v-bind=\"ptm('fileName')\">{{ file.name }}</div>\n <span :class=\"cx('fileSize')\" v-bind=\"ptm('fileSize')\">{{ formatSize(file.size) }}</span>\n </div>\n <Badge :value=\"badgeValue\" :class=\"cx('pcFileBadge')\" :severity=\"badgeSeverity\" :unstyled=\"unstyled\" :pt=\"ptm('pcFileBadge')\" />\n <div :class=\"cx('fileActions')\" v-bind=\"ptm('fileActions')\">\n <Button @click=\"$emit('remove', index)\" text rounded severity=\"danger\" :class=\"cx('pcFileRemoveButton')\" :unstyled=\"unstyled\" :pt=\"ptm('pcFileRemoveButton')\">\n <template #icon=\"iconProps\">\n <component v-if=\"templates.fileremoveicon\" :is=\"templates.fileremoveicon\" :class=\"iconProps.class\" :file=\"file\" :index=\"index\" />\n <TimesIcon v-else :class=\"iconProps.class\" aria-hidden=\"true\" v-bind=\"ptm('pcFileRemoveButton')['icon']\" />\n </template>\n </Button>\n </div>\n </div>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TimesIcon from '@primevue/icons/times';\nimport Badge from 'primevue/badge';\nimport Button from 'primevue/button';\n\nexport default {\n name: 'FileContent',\n hostName: 'FileUpload',\n extends: BaseComponent,\n emits: ['remove'],\n props: {\n files: {\n type: Array,\n default: () => []\n },\n badgeSeverity: {\n type: String,\n default: 'warn'\n },\n badgeValue: {\n type: String,\n default: null\n },\n previewWidth: {\n type: Number,\n default: 50\n },\n templates: {\n type: null,\n default: null\n }\n },\n methods: {\n formatSize(bytes) {\n const k = 1024;\n const dm = 3;\n const sizes = this.$primevue.config.locale?.fileSizeTypes || ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n\n return `${formattedSize} ${sizes[i]}`;\n }\n },\n components: {\n Button,\n Badge,\n TimesIcon\n }\n};\n</script>\n","<template>\n <div v-if=\"isAdvanced\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <input ref=\"fileInput\" type=\"file\" @change=\"onFileSelect\" :multiple=\"multiple\" :accept=\"accept\" :disabled=\"chooseDisabled\" v-bind=\"ptm('input')\" />\n <div :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :files=\"files\" :uploadedFiles=\"uploadedFiles\" :chooseCallback=\"choose\" :uploadCallback=\"uploader\" :clearCallback=\"clear\">\n <Button\n :label=\"chooseButtonLabel\"\n :class=\"chooseButtonClass\"\n :style=\"style\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @click=\"choose\"\n @keydown.enter=\"choose\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"chooseButtonProps\"\n :pt=\"ptm('pcChooseButton')\"\n >\n <template #icon=\"iconProps\">\n <slot name=\"chooseicon\">\n <component :is=\"chooseIcon ? 'span' : 'PlusIcon'\" :class=\"[iconProps.class, chooseIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcChooseButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <Button v-if=\"showUploadButton\" :class=\"cx('pcUploadButton')\" :label=\"uploadButtonLabel\" @click=\"uploader\" :disabled=\"uploadDisabled\" :unstyled=\"unstyled\" v-bind=\"uploadButtonProps\" :pt=\"ptm('pcUploadButton')\">\n <template #icon=\"iconProps\">\n <slot name=\"uploadicon\">\n <component :is=\"uploadIcon ? 'span' : 'UploadIcon'\" :class=\"[iconProps.class, uploadIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcUploadButton')['icon']\" data-pc-section=\"uploadbuttonicon\" />\n </slot>\n </template>\n </Button>\n <Button v-if=\"showCancelButton\" :class=\"cx('pcCancelButton')\" :label=\"cancelButtonLabel\" @click=\"clear\" :disabled=\"cancelDisabled\" :unstyled=\"unstyled\" v-bind=\"cancelButtonProps\" :pt=\"ptm('pcCancelButton')\">\n <template #icon=\"iconProps\">\n <slot name=\"cancelicon\">\n <component :is=\"cancelIcon ? 'span' : 'TimesIcon'\" :class=\"[iconProps.class, cancelIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcCancelButton')['icon']\" data-pc-section=\"cancelbuttonicon\" />\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n <div ref=\"content\" :class=\"cx('content')\" @dragenter=\"onDragEnter\" @dragover=\"onDragOver\" @dragleave=\"onDragLeave\" @drop=\"onDrop\" v-bind=\"ptm('content')\" :data-p-highlight=\"false\">\n <slot name=\"content\" :files=\"files\" :uploadedFiles=\"uploadedFiles\" :removeUploadedFileCallback=\"removeUploadedFile\" :removeFileCallback=\"remove\" :progress=\"progress\" :messages=\"messages\">\n <ProgressBar v-if=\"hasFiles\" :value=\"progress\" :showValue=\"false\" :unstyled=\"unstyled\" :pt=\"ptm('pcProgressbar')\" />\n <Message v-for=\"msg of messages\" :key=\"msg\" severity=\"error\" @close=\"onMessageClose\" :unstyled=\"unstyled\" :pt=\"ptm('pcMessage')\">{{ msg }}</Message>\n <div v-if=\"hasFiles\" :class=\"cx('fileList')\">\n <FileContent :files=\"files\" @remove=\"remove\" :badgeValue=\"pendingLabel\" :previewWidth=\"previewWidth\" :templates=\"$slots\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </div>\n <div v-if=\"hasUploadedFiles\" :class=\"cx('fileList')\">\n <FileContent :files=\"uploadedFiles\" @remove=\"removeUploadedFile\" :badgeValue=\"completedLabel\" badgeSeverity=\"success\" :previewWidth=\"previewWidth\" :templates=\"$slots\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </div>\n </slot>\n <div v-if=\"$slots.empty && !hasFiles && !hasUploadedFiles\" v-bind=\"ptm('empty')\">\n <slot name=\"empty\"></slot>\n </div>\n </div>\n </div>\n <div v-else-if=\"isBasic\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <Message v-for=\"msg of messages\" :key=\"msg\" severity=\"error\" @close=\"onMessageClose\" :unstyled=\"unstyled\" :pt=\"ptm('pcMessage')\">{{ msg }}</Message>\n <div :class=\"cx('basicContent')\" v-bind=\"ptm('basicContent')\">\n <Button\n :label=\"chooseButtonLabel\"\n :class=\"chooseButtonClass\"\n :style=\"style\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @mouseup=\"onBasicUploaderClick\"\n @keydown.enter=\"choose\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"chooseButtonProps\"\n :pt=\"ptm('pcChooseButton')\"\n >\n <template #icon=\"iconProps\">\n <slot name=\"chooseicon\">\n <component :is=\"chooseIcon ? 'span' : 'PlusIcon'\" :class=\"[iconProps.class, chooseIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcChooseButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <slot v-if=\"!auto\" name=\"filelabel\" :class=\"cx('filelabel')\" :files=\"files\">\n <span :class=\"cx('filelabel')\">\n {{ basicFileChosenLabel }}\n </span>\n </slot>\n <input ref=\"fileInput\" type=\"file\" :accept=\"accept\" :disabled=\"disabled\" :multiple=\"multiple\" @change=\"onFileSelect\" @focus=\"onFocus\" @blur=\"onBlur\" v-bind=\"ptm('input')\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { addClass, removeClass } from '@primeuix/utils/dom';\nimport PlusIcon from '@primevue/icons/plus';\nimport TimesIcon from '@primevue/icons/times';\nimport UploadIcon from '@primevue/icons/upload';\nimport Button from 'primevue/button';\nimport Message from 'primevue/message';\nimport ProgressBar from 'primevue/progressbar';\nimport Ripple from 'primevue/ripple';\nimport BaseFileUpload from './BaseFileUpload.vue';\nimport FileContent from './FileContent.vue';\n\nexport default {\n name: 'FileUpload',\n extends: BaseFileUpload,\n inheritAttrs: false,\n emits: ['select', 'uploader', 'before-upload', 'progress', 'upload', 'error', 'before-send', 'clear', 'remove', 'remove-uploaded-file'],\n duplicateIEEvent: false,\n data() {\n return {\n uploadedFileCount: 0,\n files: [],\n messages: [],\n focused: false,\n progress: null,\n uploadedFiles: []\n };\n },\n methods: {\n upload() {\n if (this.hasFiles) this.uploader();\n },\n onBasicUploaderClick(event) {\n if (event.button === 0) this.$refs.fileInput.click();\n },\n onFileSelect(event) {\n if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {\n this.duplicateIEEvent = false;\n\n return;\n }\n\n if (this.isBasic && this.hasFiles) {\n this.files = [];\n }\n\n this.messages = [];\n this.files = this.files || [];\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n\n for (let file of files) {\n if (!this.isFileSelected(file) && !this.isFileLimitExceeded()) {\n if (this.validate(file)) {\n if (this.isImage(file)) {\n file.objectURL = window.URL.createObjectURL(file);\n }\n\n this.files.push(file);\n }\n }\n }\n\n this.$emit('select', { originalEvent: event, files: this.files });\n\n if (this.fileLimit) {\n this.checkFileLimit();\n }\n\n if (this.auto && this.hasFiles && !this.isFileLimitExceeded()) {\n this.uploader();\n }\n\n if (event.type !== 'drop' && this.isIE11()) {\n this.clearIEInput();\n } else {\n this.clearInputElement();\n }\n },\n choose() {\n this.$refs.fileInput.click();\n },\n uploader() {\n if (this.customUpload) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.$emit('uploader', { files: this.files });\n } else {\n let xhr = new XMLHttpRequest();\n let formData = new FormData();\n\n this.$emit('before-upload', {\n xhr: xhr,\n formData: formData\n });\n\n for (let file of this.files) {\n formData.append(this.name, file, file.name);\n }\n\n xhr.upload.addEventListener('progress', (event) => {\n if (event.lengthComputable) {\n this.progress = Math.round((event.loaded * 100) / event.total);\n }\n\n this.$emit('progress', {\n originalEvent: event,\n progress: this.progress\n });\n });\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n this.progress = 0;\n\n if (xhr.status >= 200 && xhr.status < 300) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.$emit('upload', {\n xhr: xhr,\n files: this.files\n });\n this.uploadedFiles.push(...this.files);\n } else {\n this.$emit('error', {\n xhr: xhr,\n files: this.files\n });\n }\n\n this.clear();\n }\n };\n\n if (this.url) {\n xhr.open('POST', this.url, true);\n\n this.$emit('before-send', {\n xhr: xhr,\n formData: formData\n });\n\n xhr.withCredentials = this.withCredentials;\n\n xhr.send(formData);\n }\n }\n },\n clear() {\n this.files = [];\n this.messages = null;\n this.$emit('clear');\n\n if (this.isAdvanced) {\n this.clearInputElement();\n }\n },\n onFocus() {\n this.focused = true;\n },\n onBlur() {\n this.focused = false;\n },\n isFileSelected(file) {\n if (this.files && this.files.length) {\n for (let sFile of this.files) {\n if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) return true;\n }\n }\n\n return false;\n },\n isIE11() {\n return !!window['MSInputMethodContext'] && !!document['documentMode'];\n },\n validate(file) {\n if (this.accept && !this.isFileTypeValid(file)) {\n this.messages.push(this.invalidFileTypeMessage.replace('{0}', file.name).replace('{1}', this.accept));\n\n return false;\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.messages.push(this.invalidFileSizeMessage.replace('{0}', file.name).replace('{1}', this.formatSize(this.maxFileSize)));\n\n return false;\n }\n\n return true;\n },\n isFileTypeValid(file) {\n let acceptableTypes = this.accept.split(',').map((type) => type.trim());\n\n for (let type of acceptableTypes) {\n let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();\n\n if (acceptable) {\n return true;\n }\n }\n\n return false;\n },\n getTypeClass(fileType) {\n return fileType.substring(0, fileType.indexOf('/'));\n },\n isWildcard(fileType) {\n return fileType.indexOf('*') !== -1;\n },\n getFileExtension(file) {\n return '.' + file.name.split('.').pop();\n },\n isImage(file) {\n return /^image\\//.test(file.type);\n },\n onDragEnter(event) {\n if (!this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n },\n onDragOver(event) {\n if (!this.disabled) {\n !this.isUnstyled && addClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', true);\n event.stopPropagation();\n event.preventDefault();\n }\n },\n onDragLeave() {\n if (!this.disabled) {\n !this.isUnstyled && removeClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', false);\n }\n },\n onDrop(event) {\n if (!this.disabled) {\n !this.isUnstyled && removeClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', false);\n event.stopPropagation();\n event.preventDefault();\n\n const files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n const allowDrop = this.multiple || (files && files.length === 1);\n\n if (allowDrop) {\n this.onFileSelect(event);\n }\n }\n },\n remove(index) {\n this.clearInputElement();\n let removedFile = this.files.splice(index, 1)[0];\n\n this.files = [...this.files];\n this.$emit('remove', {\n file: removedFile,\n files: this.files\n });\n },\n removeUploadedFile(index) {\n let removedFile = this.uploadedFiles.splice(index, 1)[0];\n\n this.uploadedFiles = [...this.uploadedFiles];\n this.$emit('remove-uploaded-file', {\n file: removedFile,\n files: this.uploadedFiles\n });\n },\n clearInputElement() {\n this.$refs.fileInput.value = '';\n },\n clearIEInput() {\n if (this.$refs.fileInput) {\n this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again\n this.$refs.fileInput.value = '';\n }\n },\n formatSize(bytes) {\n const k = 1024;\n const dm = 3;\n const sizes = this.$primevue.config.locale?.fileSizeTypes || ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n\n return `${formattedSize} ${sizes[i]}`;\n },\n isFileLimitExceeded() {\n if (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount && this.focused) {\n this.focused = false;\n }\n\n return this.fileLimit && this.fileLimit < this.files.length + this.uploadedFileCount;\n },\n checkFileLimit() {\n if (this.isFileLimitExceeded()) {\n this.messages.push(this.invalidFileLimitMessage.replace('{0}', this.fileLimit.toString()));\n }\n },\n onMessageClose() {\n this.messages = null;\n }\n },\n computed: {\n isAdvanced() {\n return this.mode === 'advanced';\n },\n isBasic() {\n return this.mode === 'basic';\n },\n chooseButtonClass() {\n return [this.cx('pcChooseButton'), this.class];\n },\n basicFileChosenLabel() {\n if (this.auto) return this.chooseButtonLabel;\n else if (this.hasFiles) {\n if (this.files && this.files.length === 1) return this.files[0].name;\n\n return this.$primevue.config.locale?.fileChosenMessage?.replace('{0}', this.files.length);\n }\n\n return this.$primevue.config.locale?.noFileChosenMessage || '';\n },\n hasFiles() {\n return this.files && this.files.length > 0;\n },\n hasUploadedFiles() {\n return this.uploadedFiles && this.uploadedFiles.length > 0;\n },\n chooseDisabled() {\n return this.disabled || (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount);\n },\n uploadDisabled() {\n return this.disabled || !this.hasFiles || (this.fileLimit && this.fileLimit < this.files.length);\n },\n cancelDisabled() {\n return this.disabled || !this.hasFiles;\n },\n chooseButtonLabel() {\n return this.chooseLabel || this.$primevue.config.locale.choose;\n },\n uploadButtonLabel() {\n return this.uploadLabel || this.$primevue.config.locale.upload;\n },\n cancelButtonLabel() {\n return this.cancelLabel || this.$primevue.config.locale.cancel;\n },\n completedLabel() {\n return this.$primevue.config.locale.completed;\n },\n pendingLabel() {\n return this.$primevue.config.locale.pending;\n }\n },\n components: {\n Button,\n ProgressBar,\n Message,\n FileContent,\n PlusIcon,\n UploadIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div v-if=\"isAdvanced\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <input ref=\"fileInput\" type=\"file\" @change=\"onFileSelect\" :multiple=\"multiple\" :accept=\"accept\" :disabled=\"chooseDisabled\" v-bind=\"ptm('input')\" />\n <div :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :files=\"files\" :uploadedFiles=\"uploadedFiles\" :chooseCallback=\"choose\" :uploadCallback=\"uploader\" :clearCallback=\"clear\">\n <Button\n :label=\"chooseButtonLabel\"\n :class=\"chooseButtonClass\"\n :style=\"style\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @click=\"choose\"\n @keydown.enter=\"choose\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"chooseButtonProps\"\n :pt=\"ptm('pcChooseButton')\"\n >\n <template #icon=\"iconProps\">\n <slot name=\"chooseicon\">\n <component :is=\"chooseIcon ? 'span' : 'PlusIcon'\" :class=\"[iconProps.class, chooseIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcChooseButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <Button v-if=\"showUploadButton\" :class=\"cx('pcUploadButton')\" :label=\"uploadButtonLabel\" @click=\"uploader\" :disabled=\"uploadDisabled\" :unstyled=\"unstyled\" v-bind=\"uploadButtonProps\" :pt=\"ptm('pcUploadButton')\">\n <template #icon=\"iconProps\">\n <slot name=\"uploadicon\">\n <component :is=\"uploadIcon ? 'span' : 'UploadIcon'\" :class=\"[iconProps.class, uploadIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcUploadButton')['icon']\" data-pc-section=\"uploadbuttonicon\" />\n </slot>\n </template>\n </Button>\n <Button v-if=\"showCancelButton\" :class=\"cx('pcCancelButton')\" :label=\"cancelButtonLabel\" @click=\"clear\" :disabled=\"cancelDisabled\" :unstyled=\"unstyled\" v-bind=\"cancelButtonProps\" :pt=\"ptm('pcCancelButton')\">\n <template #icon=\"iconProps\">\n <slot name=\"cancelicon\">\n <component :is=\"cancelIcon ? 'span' : 'TimesIcon'\" :class=\"[iconProps.class, cancelIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcCancelButton')['icon']\" data-pc-section=\"cancelbuttonicon\" />\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n <div ref=\"content\" :class=\"cx('content')\" @dragenter=\"onDragEnter\" @dragover=\"onDragOver\" @dragleave=\"onDragLeave\" @drop=\"onDrop\" v-bind=\"ptm('content')\" :data-p-highlight=\"false\">\n <slot name=\"content\" :files=\"files\" :uploadedFiles=\"uploadedFiles\" :removeUploadedFileCallback=\"removeUploadedFile\" :removeFileCallback=\"remove\" :progress=\"progress\" :messages=\"messages\">\n <ProgressBar v-if=\"hasFiles\" :value=\"progress\" :showValue=\"false\" :unstyled=\"unstyled\" :pt=\"ptm('pcProgressbar')\" />\n <Message v-for=\"msg of messages\" :key=\"msg\" severity=\"error\" @close=\"onMessageClose\" :unstyled=\"unstyled\" :pt=\"ptm('pcMessage')\">{{ msg }}</Message>\n <div v-if=\"hasFiles\" :class=\"cx('fileList')\">\n <FileContent :files=\"files\" @remove=\"remove\" :badgeValue=\"pendingLabel\" :previewWidth=\"previewWidth\" :templates=\"$slots\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </div>\n <div v-if=\"hasUploadedFiles\" :class=\"cx('fileList')\">\n <FileContent :files=\"uploadedFiles\" @remove=\"removeUploadedFile\" :badgeValue=\"completedLabel\" badgeSeverity=\"success\" :previewWidth=\"previewWidth\" :templates=\"$slots\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </div>\n </slot>\n <div v-if=\"$slots.empty && !hasFiles && !hasUploadedFiles\" v-bind=\"ptm('empty')\">\n <slot name=\"empty\"></slot>\n </div>\n </div>\n </div>\n <div v-else-if=\"isBasic\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <Message v-for=\"msg of messages\" :key=\"msg\" severity=\"error\" @close=\"onMessageClose\" :unstyled=\"unstyled\" :pt=\"ptm('pcMessage')\">{{ msg }}</Message>\n <div :class=\"cx('basicContent')\" v-bind=\"ptm('basicContent')\">\n <Button\n :label=\"chooseButtonLabel\"\n :class=\"chooseButtonClass\"\n :style=\"style\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @mouseup=\"onBasicUploaderClick\"\n @keydown.enter=\"choose\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"chooseButtonProps\"\n :pt=\"ptm('pcChooseButton')\"\n >\n <template #icon=\"iconProps\">\n <slot name=\"chooseicon\">\n <component :is=\"chooseIcon ? 'span' : 'PlusIcon'\" :class=\"[iconProps.class, chooseIcon]\" aria-hidden=\"true\" v-bind=\"ptm('pcChooseButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <slot v-if=\"!auto\" name=\"filelabel\" :class=\"cx('filelabel')\" :files=\"files\">\n <span :class=\"cx('filelabel')\">\n {{ basicFileChosenLabel }}\n </span>\n </slot>\n <input ref=\"fileInput\" type=\"file\" :accept=\"accept\" :disabled=\"disabled\" :multiple=\"multiple\" @change=\"onFileSelect\" @focus=\"onFocus\" @blur=\"onBlur\" v-bind=\"ptm('input')\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { addClass, removeClass } from '@primeuix/utils/dom';\nimport PlusIcon from '@primevue/icons/plus';\nimport TimesIcon from '@primevue/icons/times';\nimport UploadIcon from '@primevue/icons/upload';\nimport Button from 'primevue/button';\nimport Message from 'primevue/message';\nimport ProgressBar from 'primevue/progressbar';\nimport Ripple from 'primevue/ripple';\nimport BaseFileUpload from './BaseFileUpload.vue';\nimport FileContent from './FileContent.vue';\n\nexport default {\n name: 'FileUpload',\n extends: BaseFileUpload,\n inheritAttrs: false,\n emits: ['select', 'uploader', 'before-upload', 'progress', 'upload', 'error', 'before-send', 'clear', 'remove', 'remove-uploaded-file'],\n duplicateIEEvent: false,\n data() {\n return {\n uploadedFileCount: 0,\n files: [],\n messages: [],\n focused: false,\n progress: null,\n uploadedFiles: []\n };\n },\n methods: {\n upload() {\n if (this.hasFiles) this.uploader();\n },\n onBasicUploaderClick(event) {\n if (event.button === 0) this.$refs.fileInput.click();\n },\n onFileSelect(event) {\n if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {\n this.duplicateIEEvent = false;\n\n return;\n }\n\n if (this.isBasic && this.hasFiles) {\n this.files = [];\n }\n\n this.messages = [];\n this.files = this.files || [];\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n\n for (let file of files) {\n if (!this.isFileSelected(file) && !this.isFileLimitExceeded()) {\n if (this.validate(file)) {\n if (this.isImage(file)) {\n file.objectURL = window.URL.createObjectURL(file);\n }\n\n this.files.push(file);\n }\n }\n }\n\n this.$emit('select', { originalEvent: event, files: this.files });\n\n if (this.fileLimit) {\n this.checkFileLimit();\n }\n\n if (this.auto && this.hasFiles && !this.isFileLimitExceeded()) {\n this.uploader();\n }\n\n if (event.type !== 'drop' && this.isIE11()) {\n this.clearIEInput();\n } else {\n this.clearInputElement();\n }\n },\n choose() {\n this.$refs.fileInput.click();\n },\n uploader() {\n if (this.customUpload) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.$emit('uploader', { files: this.files });\n } else {\n let xhr = new XMLHttpRequest();\n let formData = new FormData();\n\n this.$emit('before-upload', {\n xhr: xhr,\n formData: formData\n });\n\n for (let file of this.files) {\n formData.append(this.name, file, file.name);\n }\n\n xhr.upload.addEventListener('progress', (event) => {\n if (event.lengthComputable) {\n this.progress = Math.round((event.loaded * 100) / event.total);\n }\n\n this.$emit('progress', {\n originalEvent: event,\n progress: this.progress\n });\n });\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n this.progress = 0;\n\n if (xhr.status >= 200 && xhr.status < 300) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.$emit('upload', {\n xhr: xhr,\n files: this.files\n });\n this.uploadedFiles.push(...this.files);\n } else {\n this.$emit('error', {\n xhr: xhr,\n files: this.files\n });\n }\n\n this.clear();\n }\n };\n\n if (this.url) {\n xhr.open('POST', this.url, true);\n\n this.$emit('before-send', {\n xhr: xhr,\n formData: formData\n });\n\n xhr.withCredentials = this.withCredentials;\n\n xhr.send(formData);\n }\n }\n },\n clear() {\n this.files = [];\n this.messages = null;\n this.$emit('clear');\n\n if (this.isAdvanced) {\n this.clearInputElement();\n }\n },\n onFocus() {\n this.focused = true;\n },\n onBlur() {\n this.focused = false;\n },\n isFileSelected(file) {\n if (this.files && this.files.length) {\n for (let sFile of this.files) {\n if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) return true;\n }\n }\n\n return false;\n },\n isIE11() {\n return !!window['MSInputMethodContext'] && !!document['documentMode'];\n },\n validate(file) {\n if (this.accept && !this.isFileTypeValid(file)) {\n this.messages.push(this.invalidFileTypeMessage.replace('{0}', file.name).replace('{1}', this.accept));\n\n return false;\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.messages.push(this.invalidFileSizeMessage.replace('{0}', file.name).replace('{1}', this.formatSize(this.maxFileSize)));\n\n return false;\n }\n\n return true;\n },\n isFileTypeValid(file) {\n let acceptableTypes = this.accept.split(',').map((type) => type.trim());\n\n for (let type of acceptableTypes) {\n let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();\n\n if (acceptable) {\n return true;\n }\n }\n\n return false;\n },\n getTypeClass(fileType) {\n return fileType.substring(0, fileType.indexOf('/'));\n },\n isWildcard(fileType) {\n return fileType.indexOf('*') !== -1;\n },\n getFileExtension(file) {\n return '.' + file.name.split('.').pop();\n },\n isImage(file) {\n return /^image\\//.test(file.type);\n },\n onDragEnter(event) {\n if (!this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n },\n onDragOver(event) {\n if (!this.disabled) {\n !this.isUnstyled && addClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', true);\n event.stopPropagation();\n event.preventDefault();\n }\n },\n onDragLeave() {\n if (!this.disabled) {\n !this.isUnstyled && removeClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', false);\n }\n },\n onDrop(event) {\n if (!this.disabled) {\n !this.isUnstyled && removeClass(this.$refs.content, 'p-fileupload-highlight');\n this.$refs.content.setAttribute('data-p-highlight', false);\n event.stopPropagation();\n event.preventDefault();\n\n const files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n const allowDrop = this.multiple || (files && files.length === 1);\n\n if (allowDrop) {\n this.onFileSelect(event);\n }\n }\n },\n remove(index) {\n this.clearInputElement();\n let removedFile = this.files.splice(index, 1)[0];\n\n this.files = [...this.files];\n this.$emit('remove', {\n file: removedFile,\n files: this.files\n });\n },\n removeUploadedFile(index) {\n let removedFile = this.uploadedFiles.splice(index, 1)[0];\n\n this.uploadedFiles = [...this.uploadedFiles];\n this.$emit('remove-uploaded-file', {\n file: removedFile,\n files: this.uploadedFiles\n });\n },\n clearInputElement() {\n this.$refs.fileInput.value = '';\n },\n clearIEInput() {\n if (this.$refs.fileInput) {\n this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again\n this.$refs.fileInput.value = '';\n }\n },\n formatSize(bytes) {\n const k = 1024;\n const dm = 3;\n const sizes = this.$primevue.config.locale?.fileSizeTypes || ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n\n return `${formattedSize} ${sizes[i]}`;\n },\n isFileLimitExceeded() {\n if (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount && this.focused) {\n this.focused = false;\n }\n\n return this.fileLimit && this.fileLimit < this.files.length + this.uploadedFileCount;\n },\n checkFileLimit() {\n if (this.isFileLimitExceeded()) {\n this.messages.push(this.invalidFileLimitMessage.replace('{0}', this.fileLimit.toString()));\n }\n },\n onMessageClose() {\n this.messages = null;\n }\n },\n computed: {\n isAdvanced() {\n return this.mode === 'advanced';\n },\n isBasic() {\n return this.mode === 'basic';\n },\n chooseButtonClass() {\n return [this.cx('pcChooseButton'), this.class];\n },\n basicFileChosenLabel() {\n if (this.auto) return this.chooseButtonLabel;\n else if (this.hasFiles) {\n if (this.files && this.files.length === 1) return this.files[0].name;\n\n return this.$primevue.config.locale?.fileChosenMessage?.replace('{0}', this.files.length);\n }\n\n return this.$primevue.config.locale?.noFileChosenMessage || '';\n },\n hasFiles() {\n return this.files && this.files.length > 0;\n },\n hasUploadedFiles() {\n return this.uploadedFiles && this.uploadedFiles.length > 0;\n },\n chooseDisabled() {\n return this.disabled || (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount);\n },\n uploadDisabled() {\n return this.disabled || !this.hasFiles || (this.fileLimit && this.fileLimit < this.files.length);\n },\n cancelDisabled() {\n return this.disabled || !this.hasFiles;\n },\n chooseButtonLabel() {\n return this.chooseLabel || this.$primevue.config.locale.choose;\n },\n uploadButtonLabel() {\n return this.uploadLabel || this.$primevue.config.locale.upload;\n },\n cancelButtonLabel() {\n return this.cancelLabel || this.$primevue.config.locale.cancel;\n },\n completedLabel() {\n return this.$primevue.config.locale.completed;\n },\n pendingLabel() {\n return this.$primevue.config.locale.pending;\n }\n },\n components: {\n Button,\n ProgressBar,\n Message,\n FileContent,\n PlusIcon,\n UploadIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","type","String","url","mode","multiple","Boolean","accept","disabled","auto","maxFileSize","Number","invalidFileSizeMessage","invalidFileTypeMessage","fileLimit","invalidFileLimitMessage","withCredentials","previewWidth","chooseLabel","uploadLabel","cancelLabel","customUpload","showUploadButton","showCancelButton","chooseIcon","undefined","uploadIcon","cancelIcon","style","chooseButtonProps","uploadButtonProps","Object","default","severity","cancelButtonProps","FileUploadStyle","provide","$pcFileUpload","$parentInstance","hostName","emits","files","Array","badgeSeverity","badgeValue","templates","methods","formatSize","bytes","_this$$primevue$confi","k","dm","sizes","$primevue","config","locale","fileSizeTypes","concat","i","Math","floor","log","formattedSize","parseFloat","pow","toFixed","components","Button","Badge","TimesIcon","_openBlock","_createElementBlock","_Fragment","_renderList","$props","file","index","_mergeProps","key","size","_ctx","cx","ptm","_createElementVNode","role","alt","src","objectURL","width","_hoisted_1","_toDisplayString","ref_for","$options","_createVNode","_component_Badge","value","unstyled","pt","_component_Button","onClick","$event","$emit","text","rounded","icon","_withCtx","iconProps","fileremoveicon","_createBlock","_resolveDynamicComponent","_normalizeClass","_component_TimesIcon","BaseFileUpload","inheritAttrs","duplicateIEEvent","data","uploadedFileCount","messages","focused","progress","uploadedFiles","upload","hasFiles","uploader","onBasicUploaderClick","event","button","$refs","fileInput","click","onFileSelect","isIE11","isBasic","dataTransfer","target","_iterator","_createForOfIteratorHelper","_step","s","n","done","isFileSelected","isFileLimitExceeded","validate","isImage","window","URL","createObjectURL","push","err","e","f","originalEvent","checkFileLimit","clearIEInput","clearInputElement","choose","_this","length","xhr","XMLHttpRequest","formData","FormData","_iterator2","_step2","append","addEventListener","lengthComputable","round","loaded","total","onreadystatechange","readyState","status","_this$uploadedFiles","apply","_toConsumableArray","clear","open","send","isAdvanced","onFocus","onBlur","_iterator3","_step3","sFile","document","isFileTypeValid","replace","acceptableTypes","split","map","trim","_iterator4","_step4","acceptable","isWildcard","getTypeClass","getFileExtension","toLowerCase","fileType","substring","indexOf","pop","test","onDragEnter","stopPropagation","preventDefault","onDragOver","isUnstyled","addClass","content","setAttribute","onDragLeave","removeClass","onDrop","allowDrop","remove","removedFile","splice","removeUploadedFile","toString","onMessageClose","computed","chooseButtonClass","basicFileChosenLabel","_this$$primevue$confi3","chooseButtonLabel","_this$$primevue$confi2","fileChosenMessage","noFileChosenMessage","hasUploadedFiles","chooseDisabled","uploadDisabled","cancelDisabled","uploadButtonLabel","cancelButtonLabel","cancel","completedLabel","completed","pendingLabel","pending","ProgressBar","Message","FileContent","PlusIcon","UploadIcon","directives","ripple","Ripple","ptmi","ref","onChange","arguments","_renderSlot","$slots","$data","chooseCallback","uploadCallback","clearCallback","label","onKeydown","onDragenter","onDragover","onDragleave","removeUploadedFileCallback","removeFileCallback","_component_ProgressBar","showValue","msg","_component_Message","onClose","_component_FileContent","onRemove","empty","onMouseup","_hoisted_2"],"mappings":"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"}
|
|
@@ -69,7 +69,11 @@ export enum FileUploadClasses {
|
|
|
69
69
|
/**
|
|
70
70
|
* Class name of the file remove button element
|
|
71
71
|
*/
|
|
72
|
-
pcFileRemoveButton = 'p-fileupload-file-remove-button'
|
|
72
|
+
pcFileRemoveButton = 'p-fileupload-file-remove-button',
|
|
73
|
+
/**
|
|
74
|
+
* Class name of the content element in basic mode
|
|
75
|
+
*/
|
|
76
|
+
basicContent = 'p-fileupload-basic-content'
|
|
73
77
|
}
|
|
74
78
|
|
|
75
79
|
export interface FileUploadStyle extends BaseStyle {}
|
|
@@ -19,7 +19,8 @@ var classes = {
|
|
|
19
19
|
fileSize: 'p-fileupload-file-size',
|
|
20
20
|
pcFileBadge: 'p-fileupload-file-badge',
|
|
21
21
|
fileActions: 'p-fileupload-file-actions',
|
|
22
|
-
pcFileRemoveButton: 'p-fileupload-file-remove-button'
|
|
22
|
+
pcFileRemoveButton: 'p-fileupload-file-remove-button',
|
|
23
|
+
basicContent: 'p-fileupload-basic-content'
|
|
23
24
|
};
|
|
24
25
|
var FileUploadStyle = BaseStyle.extend({
|
|
25
26
|
name: 'fileupload',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/fileupload/style/FileUploadStyle.js"],"sourcesContent":["import { style } from '@primeuix/styles/fileupload';\nimport BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: ({ props }) => [`p-fileupload p-fileupload-${props.mode} p-component`],\n header: 'p-fileupload-header',\n pcChooseButton: 'p-fileupload-choose-button',\n pcUploadButton: 'p-fileupload-upload-button',\n pcCancelButton: 'p-fileupload-cancel-button',\n content: 'p-fileupload-content',\n fileList: 'p-fileupload-file-list',\n file: 'p-fileupload-file',\n fileThumbnail: 'p-fileupload-file-thumbnail',\n fileInfo: 'p-fileupload-file-info',\n fileName: 'p-fileupload-file-name',\n fileSize: 'p-fileupload-file-size',\n pcFileBadge: 'p-fileupload-file-badge',\n fileActions: 'p-fileupload-file-actions',\n pcFileRemoveButton: 'p-fileupload-file-remove-button'\n};\n\nexport default BaseStyle.extend({\n name: 'fileupload',\n style,\n classes\n});\n"],"names":["classes","root","_ref","props","concat","mode","header","pcChooseButton","pcUploadButton","pcCancelButton","content","fileList","file","fileThumbnail","fileInfo","fileName","fileSize","pcFileBadge","fileActions","pcFileRemoveButton","BaseStyle","extend","name","style"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,KAAK,GAAAD,IAAA,CAALC,KAAK;AAAA,IAAA,OAAO,8BAAAC,MAAA,CAA8BD,KAAK,CAACE,IAAI,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/fileupload/style/FileUploadStyle.js"],"sourcesContent":["import { style } from '@primeuix/styles/fileupload';\nimport BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: ({ props }) => [`p-fileupload p-fileupload-${props.mode} p-component`],\n header: 'p-fileupload-header',\n pcChooseButton: 'p-fileupload-choose-button',\n pcUploadButton: 'p-fileupload-upload-button',\n pcCancelButton: 'p-fileupload-cancel-button',\n content: 'p-fileupload-content',\n fileList: 'p-fileupload-file-list',\n file: 'p-fileupload-file',\n fileThumbnail: 'p-fileupload-file-thumbnail',\n fileInfo: 'p-fileupload-file-info',\n fileName: 'p-fileupload-file-name',\n fileSize: 'p-fileupload-file-size',\n pcFileBadge: 'p-fileupload-file-badge',\n fileActions: 'p-fileupload-file-actions',\n pcFileRemoveButton: 'p-fileupload-file-remove-button',\n basicContent: 'p-fileupload-basic-content'\n};\n\nexport default BaseStyle.extend({\n name: 'fileupload',\n style,\n classes\n});\n"],"names":["classes","root","_ref","props","concat","mode","header","pcChooseButton","pcUploadButton","pcCancelButton","content","fileList","file","fileThumbnail","fileInfo","fileName","fileSize","pcFileBadge","fileActions","pcFileRemoveButton","basicContent","BaseStyle","extend","name","style"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,KAAK,GAAAD,IAAA,CAALC,KAAK;AAAA,IAAA,OAAO,8BAAAC,MAAA,CAA8BD,KAAK,CAACE,IAAI,EAAA,cAAA,CAAA,CAAe;AAAA,GAAA;AAC5EC,EAAAA,MAAM,EAAE,qBAAqB;AAC7BC,EAAAA,cAAc,EAAE,4BAA4B;AAC5CC,EAAAA,cAAc,EAAE,4BAA4B;AAC5CC,EAAAA,cAAc,EAAE,4BAA4B;AAC5CC,EAAAA,OAAO,EAAE,sBAAsB;AAC/BC,EAAAA,QAAQ,EAAE,wBAAwB;AAClCC,EAAAA,IAAI,EAAE,mBAAmB;AACzBC,EAAAA,aAAa,EAAE,6BAA6B;AAC5CC,EAAAA,QAAQ,EAAE,wBAAwB;AAClCC,EAAAA,QAAQ,EAAE,wBAAwB;AAClCC,EAAAA,QAAQ,EAAE,wBAAwB;AAClCC,EAAAA,WAAW,EAAE,yBAAyB;AACtCC,EAAAA,WAAW,EAAE,2BAA2B;AACxCC,EAAAA,kBAAkB,EAAE,iCAAiC;AACrDC,EAAAA,YAAY,EAAE;AAClB,CAAC;AAED,sBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,YAAY;AAClBC,EAAAA,KAAK,EAALA,KAAK;AACLxB,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
|
package/floatlabel/index.d.ts
CHANGED
package/floatlabel/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/floatlabel/BaseFloatLabel.vue","../../src/floatlabel/FloatLabel.vue","../../src/floatlabel/FloatLabel.vue?vue&type=template&id=5d118b2b&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport FloatLabelStyle from 'primevue/floatlabel/style';\n\nexport default {\n name: 'BaseFloatLabel',\n extends: BaseComponent,\n props: {\n variant: {\n type: String,\n default: 'over'\n }\n },\n style: FloatLabelStyle,\n provide() {\n return {\n $pcFloatLabel: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <span :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot />\n </span>\n</template>\n\n<script>\nimport BaseFloatLabel from './BaseFloatLabel.vue';\n\nexport default {\n name: 'FloatLabel',\n extends: BaseFloatLabel,\n inheritAttrs: false\n};\n</script>\n","<template>\n <span :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot />\n </span>\n</template>\n\n<script>\nimport BaseFloatLabel from './BaseFloatLabel.vue';\n\nexport default {\n name: 'FloatLabel',\n extends: BaseFloatLabel,\n inheritAttrs: false\n};\n</script>\n"],"names":["name","BaseComponent","props","variant","type","String","style","FloatLabelStyle","provide","$pcFloatLabel","$parentInstance","BaseFloatLabel","inheritAttrs","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_renderSlot","$slots"],"mappings":";;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,gBAAgB;AACtB,EAAA,SAAA,EAASC,aAAa;AACtBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,OAAO,EAAE;AACLC,MAAAA,IAAI,EAAEC,MAAM;MACZ,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/floatlabel/BaseFloatLabel.vue","../../src/floatlabel/FloatLabel.vue","../../src/floatlabel/FloatLabel.vue?vue&type=template&id=5d118b2b&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport FloatLabelStyle from 'primevue/floatlabel/style';\n\nexport default {\n name: 'BaseFloatLabel',\n extends: BaseComponent,\n props: {\n variant: {\n type: String,\n default: 'over'\n }\n },\n style: FloatLabelStyle,\n provide() {\n return {\n $pcFloatLabel: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <span :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot />\n </span>\n</template>\n\n<script>\nimport BaseFloatLabel from './BaseFloatLabel.vue';\n\nexport default {\n name: 'FloatLabel',\n extends: BaseFloatLabel,\n inheritAttrs: false\n};\n</script>\n","<template>\n <span :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot />\n </span>\n</template>\n\n<script>\nimport BaseFloatLabel from './BaseFloatLabel.vue';\n\nexport default {\n name: 'FloatLabel',\n extends: BaseFloatLabel,\n inheritAttrs: false\n};\n</script>\n"],"names":["name","BaseComponent","props","variant","type","String","style","FloatLabelStyle","provide","$pcFloatLabel","$parentInstance","BaseFloatLabel","inheritAttrs","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_renderSlot","$slots"],"mappings":";;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,gBAAgB;AACtB,EAAA,SAAA,EAASC,aAAa;AACtBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,OAAO,EAAE;AACLC,MAAAA,IAAI,EAAEC,MAAM;MACZ,SAAA,EAAS;AACb;GACH;AACDC,EAAAA,KAAK,EAAEC,eAAe;EACtBC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,OAAO;AACHC,MAAAA,aAAa,EAAE,IAAI;AACnBC,MAAAA,eAAe,EAAE;KACpB;AACL;AACJ,CAAC;;ACXD,aAAe;AACXV,EAAAA,IAAI,EAAE,YAAY;AAClB,EAAA,SAAA,EAASW,QAAc;AACvBC,EAAAA,YAAY,EAAE;AAClB,CAAC;;;ECZG,OAAAC,SAAA,EAAA,EAAAC,kBAAA,CAEM,QAFNC,UAAA,CAEM;AAFC,IAAA,OAAA,EAAOC,IAAA,CAAAC,EAAE,CAAA,MAAA;KAAkBD,IAAA,CAAAE,IAAI,CAAA,MAAA,CAAA,CAAA,EAAA,CAClCC,UAAA,CAAOH,IAAA,CAAAI,MAAA,EAAA,SAAA,CAAA;;;;;;;"}
|
package/fluid/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/fluid/BaseFluid.vue","../../src/fluid/Fluid.vue","../../src/fluid/Fluid.vue?vue&type=template&id=4b8e6cee&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport FluidStyle from 'primevue/fluid/style';\n\nexport default {\n name: 'BaseFluid',\n extends: BaseComponent,\n style: FluidStyle,\n provide() {\n return {\n $pcFluid: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot />\n </div>\n</template>\n\n<script>\nimport BaseFluid from './BaseFluid.vue';\n\nexport default {\n name: 'Fluid',\n extends: BaseFluid,\n inheritAttrs: false\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot />\n </div>\n</template>\n\n<script>\nimport BaseFluid from './BaseFluid.vue';\n\nexport default {\n name: 'Fluid',\n extends: BaseFluid,\n inheritAttrs: false\n};\n</script>\n"],"names":["name","BaseComponent","style","FluidStyle","provide","$pcFluid","$parentInstance","BaseFluid","inheritAttrs","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_renderSlot","$slots"],"mappings":";;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,WAAW;AACjB,EAAA,SAAA,EAASC,aAAa;AACtBC,EAAAA,KAAK,EAAEC,UAAU;EACjBC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,OAAO;AACHC,MAAAA,QAAQ,EAAE,IAAI;AACdC,MAAAA,eAAe,EAAE;KACpB;AACL;AACJ,CAAC;;ACLD,aAAe;AACXN,EAAAA,IAAI,EAAE,OAAO;AACb,EAAA,SAAA,EAASO,QAAS;AAClBC,EAAAA,YAAY,EAAE;AAClB,CAAC;;;ECZG,OAAAC,SAAA,EAAA,EAAAC,kBAAA,CAEK,OAFLC,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/fluid/BaseFluid.vue","../../src/fluid/Fluid.vue","../../src/fluid/Fluid.vue?vue&type=template&id=4b8e6cee&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport FluidStyle from 'primevue/fluid/style';\n\nexport default {\n name: 'BaseFluid',\n extends: BaseComponent,\n style: FluidStyle,\n provide() {\n return {\n $pcFluid: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot />\n </div>\n</template>\n\n<script>\nimport BaseFluid from './BaseFluid.vue';\n\nexport default {\n name: 'Fluid',\n extends: BaseFluid,\n inheritAttrs: false\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot />\n </div>\n</template>\n\n<script>\nimport BaseFluid from './BaseFluid.vue';\n\nexport default {\n name: 'Fluid',\n extends: BaseFluid,\n inheritAttrs: false\n};\n</script>\n"],"names":["name","BaseComponent","style","FluidStyle","provide","$pcFluid","$parentInstance","BaseFluid","inheritAttrs","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_renderSlot","$slots"],"mappings":";;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,WAAW;AACjB,EAAA,SAAA,EAASC,aAAa;AACtBC,EAAAA,KAAK,EAAEC,UAAU;EACjBC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,OAAO;AACHC,MAAAA,QAAQ,EAAE,IAAI;AACdC,MAAAA,eAAe,EAAE;KACpB;AACL;AACJ,CAAC;;ACLD,aAAe;AACXN,EAAAA,IAAI,EAAE,OAAO;AACb,EAAA,SAAA,EAASO,QAAS;AAClBC,EAAAA,YAAY,EAAE;AAClB,CAAC;;;ECZG,OAAAC,SAAA,EAAA,EAAAC,kBAAA,CAEK,OAFLC,UAAA,CAEK;AAFC,IAAA,OAAA,EAAOC,IAAA,CAAAC,EAAE,CAAA,MAAA;KAAkBD,IAAA,CAAAE,IAAI,CAAA,MAAA,CAAA,CAAA,EAAA,CACjCC,UAAA,CAAOH,IAAA,CAAAI,MAAA,EAAA,SAAA,CAAA;;;;;;;"}
|
package/focustrap/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/focustrap/BaseFocusTrap.js","../../src/focustrap/FocusTrap.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport FocusTrapStyle from 'primevue/focustrap/style';\n\nconst BaseFocusTrap = BaseDirective.extend({\n style: FocusTrapStyle\n});\n\nexport default BaseFocusTrap;\n","import { createElement, focus, getFirstFocusableElement, getLastFocusableElement, isFocusableElement } from '@primeuix/utils/dom';\nimport { isNotEmpty } from '@primeuix/utils/object';\nimport BaseFocusTrap from './BaseFocusTrap';\n\nconst FocusTrap = BaseFocusTrap.extend('focustrap', {\n mounted(el, binding) {\n const { disabled } = binding.value || {};\n\n if (!disabled) {\n this.createHiddenFocusableElements(el, binding);\n this.bind(el, binding);\n this.autoElementFocus(el, binding);\n }\n\n el.setAttribute('data-pd-focustrap', true);\n\n this.$el = el;\n },\n updated(el, binding) {\n const { disabled } = binding.value || {};\n\n disabled && this.unbind(el);\n },\n unmounted(el) {\n this.unbind(el);\n },\n methods: {\n getComputedSelector(selector) {\n return `:not(.p-hidden-focusable):not([data-p-hidden-focusable=\"true\"])${selector ?? ''}`;\n },\n bind(el, binding) {\n const { onFocusIn, onFocusOut } = binding.value || {};\n\n el.$_pfocustrap_mutationobserver = new MutationObserver((mutationList) => {\n mutationList.forEach((mutation) => {\n if (mutation.type === 'childList' && !el.contains(document.activeElement)) {\n const findNextFocusableElement = (_el) => {\n const focusableElement = isFocusableElement(_el)\n ? isFocusableElement(_el, this.getComputedSelector(el.$_pfocustrap_focusableselector))\n ? _el\n : getFirstFocusableElement(el, this.getComputedSelector(el.$_pfocustrap_focusableselector))\n : getFirstFocusableElement(_el);\n\n return isNotEmpty(focusableElement) ? focusableElement : _el.nextSibling && findNextFocusableElement(_el.nextSibling);\n };\n\n focus(findNextFocusableElement(mutation.nextSibling));\n }\n });\n });\n\n el.$_pfocustrap_mutationobserver.disconnect();\n el.$_pfocustrap_mutationobserver.observe(el, {\n childList: true\n });\n\n el.$_pfocustrap_focusinlistener = (event) => onFocusIn && onFocusIn(event);\n el.$_pfocustrap_focusoutlistener = (event) => onFocusOut && onFocusOut(event);\n\n el.addEventListener('focusin', el.$_pfocustrap_focusinlistener);\n el.addEventListener('focusout', el.$_pfocustrap_focusoutlistener);\n },\n unbind(el) {\n el.$_pfocustrap_mutationobserver && el.$_pfocustrap_mutationobserver.disconnect();\n el.$_pfocustrap_focusinlistener && el.removeEventListener('focusin', el.$_pfocustrap_focusinlistener) && (el.$_pfocustrap_focusinlistener = null);\n el.$_pfocustrap_focusoutlistener && el.removeEventListener('focusout', el.$_pfocustrap_focusoutlistener) && (el.$_pfocustrap_focusoutlistener = null);\n },\n autoFocus(options) {\n this.autoElementFocus(this.$el, { value: { ...options, autoFocus: true } });\n },\n autoElementFocus(el, binding) {\n const { autoFocusSelector = '', firstFocusableSelector = '', autoFocus = false } = binding.value || {};\n let focusableElement = getFirstFocusableElement(el, `[autofocus]${this.getComputedSelector(autoFocusSelector)}`);\n\n autoFocus && !focusableElement && (focusableElement = getFirstFocusableElement(el, this.getComputedSelector(firstFocusableSelector)));\n focus(focusableElement);\n },\n onFirstHiddenElementFocus(event) {\n const { currentTarget, relatedTarget } = event;\n const focusableElement =\n relatedTarget === currentTarget.$_pfocustrap_lasthiddenfocusableelement || !this.$el?.contains(relatedTarget)\n ? getFirstFocusableElement(currentTarget.parentElement, this.getComputedSelector(currentTarget.$_pfocustrap_focusableselector))\n : currentTarget.$_pfocustrap_lasthiddenfocusableelement;\n\n focus(focusableElement);\n },\n onLastHiddenElementFocus(event) {\n const { currentTarget, relatedTarget } = event;\n const focusableElement =\n relatedTarget === currentTarget.$_pfocustrap_firsthiddenfocusableelement || !this.$el?.contains(relatedTarget)\n ? getLastFocusableElement(currentTarget.parentElement, this.getComputedSelector(currentTarget.$_pfocustrap_focusableselector))\n : currentTarget.$_pfocustrap_firsthiddenfocusableelement;\n\n focus(focusableElement);\n },\n createHiddenFocusableElements(el, binding) {\n const { tabIndex = 0, firstFocusableSelector = '', lastFocusableSelector = '' } = binding.value || {};\n\n const createFocusableElement = (onFocus) => {\n return createElement('span', {\n class: 'p-hidden-accessible p-hidden-focusable',\n tabIndex,\n role: 'presentation',\n 'aria-hidden': true,\n 'data-p-hidden-accessible': true,\n 'data-p-hidden-focusable': true,\n onFocus: onFocus?.bind(this)\n });\n };\n\n const firstFocusableElement = createFocusableElement(this.onFirstHiddenElementFocus);\n const lastFocusableElement = createFocusableElement(this.onLastHiddenElementFocus);\n\n firstFocusableElement.$_pfocustrap_lasthiddenfocusableelement = lastFocusableElement;\n firstFocusableElement.$_pfocustrap_focusableselector = firstFocusableSelector;\n firstFocusableElement.setAttribute('data-pc-section', 'firstfocusableelement');\n\n lastFocusableElement.$_pfocustrap_firsthiddenfocusableelement = firstFocusableElement;\n lastFocusableElement.$_pfocustrap_focusableselector = lastFocusableSelector;\n lastFocusableElement.setAttribute('data-pc-section', 'lastfocusableelement');\n\n el.prepend(firstFocusableElement);\n el.append(lastFocusableElement);\n }\n }\n});\n\nexport default FocusTrap;\n"],"names":["BaseFocusTrap","BaseDirective","extend","style","FocusTrapStyle","FocusTrap","mounted","el","binding","_ref","value","disabled","createHiddenFocusableElements","bind","autoElementFocus","setAttribute","$el","updated","_ref2","unbind","unmounted","methods","getComputedSelector","selector","concat","_this","_ref3","onFocusIn","onFocusOut","$_pfocustrap_mutationobserver","MutationObserver","mutationList","forEach","mutation","type","contains","document","activeElement","findNextFocusableElement","_el","focusableElement","isFocusableElement","$_pfocustrap_focusableselector","getFirstFocusableElement","isNotEmpty","nextSibling","focus","disconnect","observe","childList","$_pfocustrap_focusinlistener","event","$_pfocustrap_focusoutlistener","addEventListener","removeEventListener","autoFocus","options","_objectSpread","_ref4","_ref4$autoFocusSelect","autoFocusSelector","_ref4$firstFocusableS","firstFocusableSelector","_ref4$autoFocus","onFirstHiddenElementFocus","_this$$el","currentTarget","relatedTarget","$_pfocustrap_lasthiddenfocusableelement","parentElement","onLastHiddenElementFocus","_this$$el2","$_pfocustrap_firsthiddenfocusableelement","getLastFocusableElement","_this2","_ref5","_ref5$tabIndex","tabIndex","_ref5$firstFocusableS","_ref5$lastFocusableSe","lastFocusableSelector","createFocusableElement","onFocus","createElement","role","firstFocusableElement","lastFocusableElement","prepend","append"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/focustrap/BaseFocusTrap.js","../../src/focustrap/FocusTrap.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport FocusTrapStyle from 'primevue/focustrap/style';\n\nconst BaseFocusTrap = BaseDirective.extend({\n style: FocusTrapStyle\n});\n\nexport default BaseFocusTrap;\n","import { createElement, focus, getFirstFocusableElement, getLastFocusableElement, isFocusableElement } from '@primeuix/utils/dom';\nimport { isNotEmpty } from '@primeuix/utils/object';\nimport BaseFocusTrap from './BaseFocusTrap';\n\nconst FocusTrap = BaseFocusTrap.extend('focustrap', {\n mounted(el, binding) {\n const { disabled } = binding.value || {};\n\n if (!disabled) {\n this.createHiddenFocusableElements(el, binding);\n this.bind(el, binding);\n this.autoElementFocus(el, binding);\n }\n\n el.setAttribute('data-pd-focustrap', true);\n\n this.$el = el;\n },\n updated(el, binding) {\n const { disabled } = binding.value || {};\n\n disabled && this.unbind(el);\n },\n unmounted(el) {\n this.unbind(el);\n },\n methods: {\n getComputedSelector(selector) {\n return `:not(.p-hidden-focusable):not([data-p-hidden-focusable=\"true\"])${selector ?? ''}`;\n },\n bind(el, binding) {\n const { onFocusIn, onFocusOut } = binding.value || {};\n\n el.$_pfocustrap_mutationobserver = new MutationObserver((mutationList) => {\n mutationList.forEach((mutation) => {\n if (mutation.type === 'childList' && !el.contains(document.activeElement)) {\n const findNextFocusableElement = (_el) => {\n const focusableElement = isFocusableElement(_el)\n ? isFocusableElement(_el, this.getComputedSelector(el.$_pfocustrap_focusableselector))\n ? _el\n : getFirstFocusableElement(el, this.getComputedSelector(el.$_pfocustrap_focusableselector))\n : getFirstFocusableElement(_el);\n\n return isNotEmpty(focusableElement) ? focusableElement : _el.nextSibling && findNextFocusableElement(_el.nextSibling);\n };\n\n focus(findNextFocusableElement(mutation.nextSibling));\n }\n });\n });\n\n el.$_pfocustrap_mutationobserver.disconnect();\n el.$_pfocustrap_mutationobserver.observe(el, {\n childList: true\n });\n\n el.$_pfocustrap_focusinlistener = (event) => onFocusIn && onFocusIn(event);\n el.$_pfocustrap_focusoutlistener = (event) => onFocusOut && onFocusOut(event);\n\n el.addEventListener('focusin', el.$_pfocustrap_focusinlistener);\n el.addEventListener('focusout', el.$_pfocustrap_focusoutlistener);\n },\n unbind(el) {\n el.$_pfocustrap_mutationobserver && el.$_pfocustrap_mutationobserver.disconnect();\n el.$_pfocustrap_focusinlistener && el.removeEventListener('focusin', el.$_pfocustrap_focusinlistener) && (el.$_pfocustrap_focusinlistener = null);\n el.$_pfocustrap_focusoutlistener && el.removeEventListener('focusout', el.$_pfocustrap_focusoutlistener) && (el.$_pfocustrap_focusoutlistener = null);\n },\n autoFocus(options) {\n this.autoElementFocus(this.$el, { value: { ...options, autoFocus: true } });\n },\n autoElementFocus(el, binding) {\n const { autoFocusSelector = '', firstFocusableSelector = '', autoFocus = false } = binding.value || {};\n let focusableElement = getFirstFocusableElement(el, `[autofocus]${this.getComputedSelector(autoFocusSelector)}`);\n\n autoFocus && !focusableElement && (focusableElement = getFirstFocusableElement(el, this.getComputedSelector(firstFocusableSelector)));\n focus(focusableElement);\n },\n onFirstHiddenElementFocus(event) {\n const { currentTarget, relatedTarget } = event;\n const focusableElement =\n relatedTarget === currentTarget.$_pfocustrap_lasthiddenfocusableelement || !this.$el?.contains(relatedTarget)\n ? getFirstFocusableElement(currentTarget.parentElement, this.getComputedSelector(currentTarget.$_pfocustrap_focusableselector))\n : currentTarget.$_pfocustrap_lasthiddenfocusableelement;\n\n focus(focusableElement);\n },\n onLastHiddenElementFocus(event) {\n const { currentTarget, relatedTarget } = event;\n const focusableElement =\n relatedTarget === currentTarget.$_pfocustrap_firsthiddenfocusableelement || !this.$el?.contains(relatedTarget)\n ? getLastFocusableElement(currentTarget.parentElement, this.getComputedSelector(currentTarget.$_pfocustrap_focusableselector))\n : currentTarget.$_pfocustrap_firsthiddenfocusableelement;\n\n focus(focusableElement);\n },\n createHiddenFocusableElements(el, binding) {\n const { tabIndex = 0, firstFocusableSelector = '', lastFocusableSelector = '' } = binding.value || {};\n\n const createFocusableElement = (onFocus) => {\n return createElement('span', {\n class: 'p-hidden-accessible p-hidden-focusable',\n tabIndex,\n role: 'presentation',\n 'aria-hidden': true,\n 'data-p-hidden-accessible': true,\n 'data-p-hidden-focusable': true,\n onFocus: onFocus?.bind(this)\n });\n };\n\n const firstFocusableElement = createFocusableElement(this.onFirstHiddenElementFocus);\n const lastFocusableElement = createFocusableElement(this.onLastHiddenElementFocus);\n\n firstFocusableElement.$_pfocustrap_lasthiddenfocusableelement = lastFocusableElement;\n firstFocusableElement.$_pfocustrap_focusableselector = firstFocusableSelector;\n firstFocusableElement.setAttribute('data-pc-section', 'firstfocusableelement');\n\n lastFocusableElement.$_pfocustrap_firsthiddenfocusableelement = firstFocusableElement;\n lastFocusableElement.$_pfocustrap_focusableselector = lastFocusableSelector;\n lastFocusableElement.setAttribute('data-pc-section', 'lastfocusableelement');\n\n el.prepend(firstFocusableElement);\n el.append(lastFocusableElement);\n }\n }\n});\n\nexport default FocusTrap;\n"],"names":["BaseFocusTrap","BaseDirective","extend","style","FocusTrapStyle","FocusTrap","mounted","el","binding","_ref","value","disabled","createHiddenFocusableElements","bind","autoElementFocus","setAttribute","$el","updated","_ref2","unbind","unmounted","methods","getComputedSelector","selector","concat","_this","_ref3","onFocusIn","onFocusOut","$_pfocustrap_mutationobserver","MutationObserver","mutationList","forEach","mutation","type","contains","document","activeElement","findNextFocusableElement","_el","focusableElement","isFocusableElement","$_pfocustrap_focusableselector","getFirstFocusableElement","isNotEmpty","nextSibling","focus","disconnect","observe","childList","$_pfocustrap_focusinlistener","event","$_pfocustrap_focusoutlistener","addEventListener","removeEventListener","autoFocus","options","_objectSpread","_ref4","_ref4$autoFocusSelect","autoFocusSelector","_ref4$firstFocusableS","firstFocusableSelector","_ref4$autoFocus","onFirstHiddenElementFocus","_this$$el","currentTarget","relatedTarget","$_pfocustrap_lasthiddenfocusableelement","parentElement","onLastHiddenElementFocus","_this$$el2","$_pfocustrap_firsthiddenfocusableelement","getLastFocusableElement","_this2","_ref5","_ref5$tabIndex","tabIndex","_ref5$firstFocusableS","_ref5$lastFocusableSe","lastFocusableSelector","createFocusableElement","onFocus","createElement","role","firstFocusableElement","lastFocusableElement","prepend","append"],"mappings":"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"}
|