primevue 3.28.0 → 3.29.0
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/README.md +3 -3
- package/autocomplete/AutoComplete.d.ts +153 -1
- package/autocomplete/AutoComplete.vue +46 -17
- package/autocomplete/autocomplete.cjs.js +80 -74
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +80 -75
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +81 -76
- package/autocomplete/autocomplete.min.js +1 -1
- package/basecomponent/BaseComponent.vue +19 -5
- package/basecomponent/basecomponent.cjs.js +19 -5
- package/basecomponent/basecomponent.cjs.min.js +1 -1
- package/basecomponent/basecomponent.esm.js +19 -5
- package/basecomponent/basecomponent.esm.min.js +1 -1
- package/basecomponent/basecomponent.js +20 -7
- package/basecomponent/basecomponent.min.js +1 -1
- package/calendar/Calendar.d.ts +269 -0
- package/calendar/Calendar.vue +75 -59
- package/calendar/calendar.cjs.js +223 -259
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +223 -260
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +224 -261
- package/calendar/calendar.min.js +1 -1
- package/carousel/Carousel.d.ts +154 -0
- package/carousel/Carousel.vue +27 -14
- package/carousel/carousel.cjs.js +64 -65
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +64 -66
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +65 -67
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/CascadeSelect.d.ts +133 -0
- package/cascadeselect/CascadeSelect.vue +15 -12
- package/cascadeselect/CascadeSelectSub.vue +7 -3
- package/cascadeselect/cascadeselect.cjs.js +63 -66
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.esm.js +63 -67
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +64 -68
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/checkbox/Checkbox.d.ts +60 -0
- package/checkbox/Checkbox.vue +7 -5
- package/checkbox/checkbox.cjs.js +17 -15
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +17 -16
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +18 -17
- package/checkbox/checkbox.min.js +1 -1
- package/chips/Chips.d.ts +80 -0
- package/chips/Chips.vue +9 -5
- package/chips/chips.cjs.js +23 -24
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +23 -25
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +24 -26
- package/chips/chips.min.js +1 -1
- package/colorpicker/ColorPicker.d.ts +76 -0
- package/colorpicker/ColorPicker.vue +11 -9
- package/colorpicker/colorpicker.cjs.js +28 -27
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +28 -28
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +29 -29
- package/colorpicker/colorpicker.min.js +1 -1
- package/column/Column.d.ts +303 -2
- package/column/Column.vue +3 -0
- package/column/column.cjs.js +7 -0
- package/column/column.cjs.min.js +1 -1
- package/column/column.esm.js +3 -0
- package/column/column.esm.min.js +1 -1
- package/column/column.js +7 -2
- package/column/column.min.js +1 -1
- package/columngroup/ColumnGroup.d.ts +34 -0
- package/columngroup/ColumnGroup.vue +3 -0
- package/columngroup/columngroup.cjs.js +7 -0
- package/columngroup/columngroup.cjs.min.js +1 -1
- package/columngroup/columngroup.esm.js +3 -0
- package/columngroup/columngroup.esm.min.js +1 -1
- package/columngroup/columngroup.js +7 -2
- package/columngroup/columngroup.min.js +1 -1
- package/config/PrimeVue.d.ts +163 -2
- package/confirmdialog/ConfirmDialog.d.ts +14 -7
- package/contextmenu/ContextMenu.d.ts +1 -1
- package/core/core.js +448 -331
- package/core/core.min.js +9 -9
- package/datatable/BodyCell.vue +29 -13
- package/datatable/ColumnFilter.vue +49 -20
- package/datatable/DataTable.d.ts +188 -1
- package/datatable/DataTable.vue +25 -14
- package/datatable/FooterCell.vue +15 -1
- package/datatable/HeaderCell.vue +31 -6
- package/datatable/HeaderCheckbox.vue +35 -5
- package/datatable/RowCheckbox.vue +36 -5
- package/datatable/RowRadioButton.vue +26 -6
- package/datatable/TableBody.vue +41 -11
- package/datatable/TableFooter.vue +31 -5
- package/datatable/TableHeader.vue +53 -6
- package/datatable/datatable.cjs.js +559 -376
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +559 -377
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +560 -378
- package/datatable/datatable.min.js +1 -1
- package/dataview/DataView.d.ts +72 -0
- package/dataview/DataView.vue +13 -8
- package/dataview/dataview.cjs.js +33 -37
- package/dataview/dataview.cjs.min.js +1 -1
- package/dataview/dataview.esm.js +33 -38
- package/dataview/dataview.esm.min.js +1 -1
- package/dataview/dataview.js +33 -38
- package/dataview/dataview.min.js +1 -1
- package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +65 -0
- package/dataviewlayoutoptions/DataViewLayoutOptions.vue +7 -5
- package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +19 -17
- package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
- package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +19 -18
- package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
- package/dataviewlayoutoptions/dataviewlayoutoptions.js +20 -19
- package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
- package/dialog/Dialog.d.ts +6 -4
- package/dialog/Dialog.vue +2 -3
- package/dialog/dialog.cjs.js +4 -5
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +4 -5
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +4 -5
- package/dialog/dialog.min.js +1 -1
- package/dropdown/Dropdown.d.ts +162 -1
- package/dropdown/Dropdown.vue +44 -25
- package/dropdown/dropdown.cjs.js +97 -93
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +97 -94
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +98 -95
- package/dropdown/dropdown.min.js +1 -1
- package/editor/Editor.d.ts +67 -0
- package/editor/Editor.vue +35 -33
- package/editor/editor.cjs.js +88 -73
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +85 -74
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +89 -75
- package/editor/editor.min.js +1 -1
- package/fileupload/FileUpload.d.ts +23 -23
- package/fileupload/FileUpload.vue +3 -3
- package/fileupload/fileupload.cjs.js +4 -4
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.esm.js +4 -4
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +4 -4
- package/fileupload/fileupload.min.js +1 -1
- package/galleria/Galleria.d.ts +196 -0
- package/galleria/Galleria.vue +5 -3
- package/galleria/GalleriaContent.vue +10 -6
- package/galleria/GalleriaItem.vue +12 -9
- package/galleria/GalleriaThumbnails.vue +46 -9
- package/galleria/galleria.cjs.js +106 -104
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +106 -105
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +107 -106
- package/galleria/galleria.min.js +1 -1
- package/image/Image.d.ts +170 -0
- package/image/Image.vue +49 -21
- package/image/image.cjs.js +94 -59
- package/image/image.cjs.min.js +1 -1
- package/image/image.esm.js +94 -60
- package/image/image.esm.min.js +1 -1
- package/image/image.js +95 -61
- package/image/image.min.js +1 -1
- package/inputmask/InputMask.d.ts +25 -0
- package/inputmask/InputMask.vue +3 -1
- package/inputmask/inputmask.cjs.js +9 -3
- package/inputmask/inputmask.cjs.min.js +1 -1
- package/inputmask/inputmask.esm.js +6 -4
- package/inputmask/inputmask.esm.min.js +1 -1
- package/inputmask/inputmask.js +10 -5
- package/inputmask/inputmask.min.js +1 -1
- package/inputnumber/InputNumber.d.ts +69 -0
- package/inputnumber/InputNumber.vue +13 -11
- package/inputnumber/inputnumber.cjs.js +19 -28
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +19 -29
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +20 -30
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/InputSwitch.d.ts +51 -0
- package/inputswitch/InputSwitch.vue +7 -4
- package/inputswitch/inputswitch.cjs.js +15 -11
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.esm.js +12 -12
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +16 -13
- package/inputswitch/inputswitch.min.js +1 -1
- package/inputtext/InputText.d.ts +25 -0
- package/inputtext/InputText.vue +4 -1
- package/inputtext/inputtext.cjs.js +9 -3
- package/inputtext/inputtext.cjs.min.js +1 -1
- package/inputtext/inputtext.esm.js +6 -4
- package/inputtext/inputtext.esm.min.js +1 -1
- package/inputtext/inputtext.js +10 -5
- package/inputtext/inputtext.min.js +1 -1
- package/knob/Knob.d.ts +78 -0
- package/knob/Knob.vue +8 -4
- package/knob/knob.cjs.js +17 -13
- package/knob/knob.cjs.min.js +1 -1
- package/knob/knob.esm.js +14 -14
- package/knob/knob.esm.min.js +1 -1
- package/knob/knob.js +18 -15
- package/knob/knob.min.js +1 -1
- package/listbox/Listbox.d.ts +137 -1
- package/listbox/Listbox.vue +28 -15
- package/listbox/listbox.cjs.js +83 -78
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +83 -79
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +84 -80
- package/listbox/listbox.min.js +1 -1
- package/megamenu/MegaMenu.d.ts +5 -5
- package/menu/Menu.d.ts +4 -4
- package/menubar/Menubar.d.ts +1 -1
- package/multiselect/MultiSelect.d.ts +223 -1
- package/multiselect/MultiSelect.vue +72 -41
- package/multiselect/multiselect.cjs.js +156 -151
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +156 -152
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +157 -153
- package/multiselect/multiselect.min.js +1 -1
- package/orderlist/OrderList.d.ts +94 -0
- package/orderlist/OrderList.vue +38 -18
- package/orderlist/orderlist.cjs.js +50 -36
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.esm.js +50 -37
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +51 -38
- package/orderlist/orderlist.min.js +1 -1
- package/organizationchart/OrganizationChart.d.ts +129 -0
- package/organizationchart/OrganizationChart.vue +14 -2
- package/organizationchart/OrganizationChartNode.vue +37 -16
- package/organizationchart/organizationchart.cjs.js +77 -61
- package/organizationchart/organizationchart.cjs.min.js +1 -1
- package/organizationchart/organizationchart.esm.js +77 -62
- package/organizationchart/organizationchart.esm.min.js +1 -1
- package/organizationchart/organizationchart.js +78 -63
- package/organizationchart/organizationchart.min.js +1 -1
- package/package.json +1 -1
- package/paginator/CurrentPageReport.vue +5 -1
- package/paginator/FirstPageLink.vue +13 -2
- package/paginator/JumpToPageDropdown.vue +3 -1
- package/paginator/JumpToPageInput.vue +3 -1
- package/paginator/LastPageLink.vue +13 -2
- package/paginator/NextPageLink.vue +13 -2
- package/paginator/PageLinks.vue +12 -2
- package/paginator/Paginator.d.ts +133 -0
- package/paginator/Paginator.vue +23 -12
- package/paginator/PrevPageLink.vue +13 -2
- package/paginator/RowsPerPageDropdown.vue +3 -1
- package/paginator/paginator.cjs.js +135 -76
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +135 -77
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +136 -78
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/PanelMenu.d.ts +4 -8
- package/password/Password.d.ts +104 -0
- package/password/Password.vue +11 -9
- package/password/password.cjs.js +26 -28
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +26 -29
- package/password/password.esm.min.js +1 -1
- package/password/password.js +27 -30
- package/password/password.min.js +1 -1
- package/picklist/PickList.d.ts +160 -0
- package/picklist/PickList.vue +46 -34
- package/picklist/picklist.cjs.js +111 -85
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +111 -86
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +112 -87
- package/picklist/picklist.min.js +1 -1
- package/radiobutton/RadioButton.d.ts +55 -0
- package/radiobutton/RadioButton.vue +7 -5
- package/radiobutton/radiobutton.cjs.js +19 -16
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.esm.js +16 -17
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +20 -18
- package/radiobutton/radiobutton.min.js +1 -1
- package/rating/Rating.d.ts +96 -0
- package/rating/Rating.vue +32 -9
- package/rating/rating.cjs.js +41 -34
- package/rating/rating.cjs.min.js +1 -1
- package/rating/rating.esm.js +41 -35
- package/rating/rating.esm.min.js +1 -1
- package/rating/rating.js +42 -36
- package/rating/rating.min.js +1 -1
- package/row/Row.d.ts +29 -0
- package/row/Row.vue +3 -0
- package/row/row.cjs.js +7 -0
- package/row/row.cjs.min.js +1 -1
- package/row/row.esm.js +3 -0
- package/row/row.esm.min.js +1 -1
- package/row/row.js +7 -2
- package/row/row.min.js +1 -1
- package/selectbutton/SelectButton.d.ts +68 -0
- package/selectbutton/SelectButton.vue +13 -2
- package/selectbutton/selectbutton.cjs.js +20 -10
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.esm.js +20 -11
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +21 -12
- package/selectbutton/selectbutton.min.js +1 -1
- package/slider/Slider.d.ts +48 -0
- package/slider/Slider.vue +7 -2
- package/slider/slider.cjs.js +22 -16
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.esm.js +19 -17
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +23 -18
- package/slider/slider.min.js +1 -1
- package/splitbutton/SplitButton.d.ts +0 -4
- package/splitbutton/SplitButton.vue +2 -2
- package/splitbutton/splitbutton.cjs.js +7 -6
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +7 -6
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +7 -6
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/Splitter.d.ts +3 -3
- package/textarea/Textarea.d.ts +32 -0
- package/textarea/Textarea.vue +4 -1
- package/textarea/textarea.cjs.js +9 -3
- package/textarea/textarea.cjs.min.js +1 -1
- package/textarea/textarea.esm.js +6 -4
- package/textarea/textarea.esm.min.js +1 -1
- package/textarea/textarea.js +10 -5
- package/textarea/textarea.min.js +1 -1
- package/timeline/Timeline.d.ts +49 -0
- package/timeline/Timeline.vue +9 -7
- package/timeline/timeline.cjs.js +19 -21
- package/timeline/timeline.cjs.min.js +1 -1
- package/timeline/timeline.esm.js +16 -22
- package/timeline/timeline.esm.min.js +1 -1
- package/timeline/timeline.js +20 -23
- package/timeline/timeline.min.js +1 -1
- package/toast/Toast.d.ts +4 -0
- package/toast/Toast.vue +1 -1
- package/toast/toast.cjs.js +3 -3
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.esm.js +3 -3
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +3 -3
- package/toast/toast.min.js +1 -1
- package/togglebutton/ToggleButton.d.ts +59 -0
- package/togglebutton/ToggleButton.vue +7 -5
- package/togglebutton/togglebutton.cjs.js +15 -14
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +15 -15
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +16 -16
- package/togglebutton/togglebutton.min.js +1 -1
- package/tooltip/Tooltip.d.ts +10 -0
- package/tooltip/tooltip.cjs.js +51 -9
- package/tooltip/tooltip.cjs.min.js +1 -1
- package/tooltip/tooltip.esm.js +52 -10
- package/tooltip/tooltip.esm.min.js +1 -1
- package/tooltip/tooltip.js +51 -9
- package/tooltip/tooltip.min.js +1 -1
- package/tree/Tree.d.ts +137 -0
- package/tree/Tree.vue +12 -9
- package/tree/TreeNode.vue +23 -10
- package/tree/tree.cjs.js +85 -79
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +85 -80
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +86 -81
- package/tree/tree.min.js +1 -1
- package/treeselect/TreeSelect.d.ts +103 -1
- package/treeselect/TreeSelect.vue +15 -12
- package/treeselect/treeselect.cjs.js +37 -39
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.esm.js +37 -40
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +38 -41
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/BodyCell.vue +38 -10
- package/treetable/FooterCell.vue +15 -1
- package/treetable/HeaderCell.vue +28 -5
- package/treetable/TreeTable.d.ts +162 -0
- package/treetable/TreeTable.vue +25 -19
- package/treetable/TreeTableRow.vue +5 -0
- package/treetable/treetable.cjs.js +205 -158
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +205 -159
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +206 -160
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/TriStateCheckbox.d.ts +93 -0
- package/tristatecheckbox/TriStateCheckbox.vue +19 -8
- package/tristatecheckbox/tristatecheckbox.cjs.js +31 -22
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +31 -23
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +32 -24
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/ts-helpers.d.ts +3 -1
- package/vetur-attributes.json +180 -0
- package/vetur-tags.json +94 -39
- package/virtualscroller/VirtualScroller.d.ts +97 -0
- package/virtualscroller/VirtualScroller.vue +7 -5
- package/virtualscroller/virtualscroller.cjs.js +22 -19
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.esm.js +22 -20
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +23 -21
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +467 -3
- package/datatable/TableLoadingBody.vue +0 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primevue=this.primevue||{},this.primevue.fileupload=function(e,t,l,o,i,s,a,n,p,r,d){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=c(e),m=c(t),h=c(l),f=c(o),g=c(i),v=c(s),b=c(a),B=c(n),y=c(r),F={extends:u.default,emits:["remove"],props:{files:{type:Array,default:()=>[]},badgeSeverity:{type:String,default:"warning"},badgeValue:{type:String,default:null},previewWidth:{type:Number,default:50},templates:{type:null,default:null}},methods:{formatSize(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,t)).toFixed(3))+" "+["B","KB","MB","GB","TB","PB","EB","ZB","YB"][t]}},components:{FileUploadButton:m.default,FileUploadBadge:y.default,TimesIcon:f.default}};const C=["alt","src","width"];F.render=function(e,t,l,o,i,s){const a=d.resolveComponent("FileUploadBadge"),n=d.resolveComponent("TimesIcon"),p=d.resolveComponent("FileUploadButton");return d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(l.files,((t,o)=>(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:t.name+t.type+t.size,class:"p-fileupload-file"},e.ptm("file")),[d.createElementVNode("img",d.mergeProps({role:"presentation",class:"p-fileupload-file-thumbnail",alt:t.name,src:t.objectURL,width:l.previewWidth},e.ptm("thumbnail")),null,16,C),d.createElementVNode("div",d.mergeProps({class:"p-fileupload-file-details"},e.ptm("details")),[d.createElementVNode("div",d.mergeProps({class:"p-fileupload-file-name"},e.ptm("fileName")),d.toDisplayString(t.name),17),d.createElementVNode("span",d.mergeProps({class:"p-fileupload-file-size"},e.ptm("fileSize")),d.toDisplayString(s.formatSize(t.size)),17),d.createVNode(a,{value:l.badgeValue,class:"p-fileupload-file-badge",severity:l.badgeSeverity,pt:e.ptm("badge")},null,8,["value","severity","pt"])],16),d.createElementVNode("div",d.mergeProps({class:"p-fileupload-file-actions"},e.ptm("actions")),[d.createVNode(p,{onClick:t=>e.$emit("remove",o),text:"",rounded:"",severity:"danger",class:"p-fileupload-file-remove",pt:e.ptm("removeButton")},{icon:d.withCtx((i=>[l.templates.fileremoveicon?(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.templates.fileremoveicon),{key:0,class:d.normalizeClass(i.class),file:t,index:o},null,8,["class","file","index"])):(d.openBlock(),d.createBlock(n,d.mergeProps({key:1,class:i.class,"aria-hidden":"true"},e.ptm("removeButton").icon),null,16,["class"]))])),_:2},1032,["onClick","pt"])],16)],16)))),128)};var k={name:"FileUpload",extends:u.default,emits:["select","uploader","before-upload","progress","upload","error","before-send","clear","remove","remove-uploaded-file"],props:{name:{type:String,default:null},url:{type:String,default:null},mode:{type:String,default:"advanced"},multiple:{type:Boolean,default:!1},accept:{type:String,default:null},disabled:{type:Boolean,default:!1},auto:{type:Boolean,default:!1},maxFileSize:{type:Number,default:null},invalidFileSizeMessage:{type:String,default:"{0}: Invalid file size, file size should be smaller than {1}."},invalidFileTypeMessage:{type:String,default:"{0}: Invalid file type, allowed file types: {1}."},fileLimit:{type:Number,default:null},invalidFileLimitMessage:{type:String,default:"Maximum number of files exceeded, limit is {0} at most."},withCredentials:{type:Boolean,default:!1},previewWidth:{type:Number,default:50},chooseLabel:{type:String,default:null},uploadLabel:{type:String,default:null},cancelLabel:{type:String,default:null},customUpload:{type:Boolean,default:!1},showUploadButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},chooseIcon:{type:String,default:void 0},uploadIcon:{type:String,default:void 0},cancelIcon:{type:String,default:void 0},style:null,class:null},duplicateIEEvent:!1,data:()=>({uploadedFileCount:0,files:[],messages:[],focused:!1,progress:null,uploadedFiles:[]}),methods:{onFileSelect(e){if("drop"!==e.type&&this.isIE11()&&this.duplicateIEEvent)return void(this.duplicateIEEvent=!1);this.messages=[],this.files=this.files||[];let t=e.dataTransfer?e.dataTransfer.files:e.target.files;for(let e of t)this.isFileSelected(e)||this.validate(e)&&(this.isImage(e)&&(e.objectURL=window.URL.createObjectURL(e)),this.files.push(e));this.$emit("select",{originalEvent:e,files:this.files}),this.fileLimit&&this.checkFileLimit(),this.auto&&this.hasFiles&&!this.isFileLimitExceeded()&&this.upload(),"drop"!==e.type&&this.isIE11()?this.clearIEInput():this.clearInputElement()},choose(){this.$refs.fileInput.click()},upload(){if(this.customUpload)this.fileLimit&&(this.uploadedFileCount+=this.files.length),this.$emit("uploader",{files:this.files}),this.clear();else{let e=new XMLHttpRequest,t=new FormData;this.$emit("before-upload",{xhr:e,formData:t});for(let e of this.files)t.append(this.name,e,e.name);e.upload.addEventListener("progress",(e=>{e.lengthComputable&&(this.progress=Math.round(100*e.loaded/e.total)),this.$emit("progress",{originalEvent:e,progress:this.progress})})),e.onreadystatechange=()=>{4===e.readyState&&(this.progress=0,e.status>=200&&e.status<300?(this.fileLimit&&(this.uploadedFileCount+=this.files.length),this.$emit("upload",{xhr:e,files:this.files})):this.$emit("error",{xhr:e,files:this.files}),this.uploadedFiles.push(...this.files),this.clear())},e.open("POST",this.url,!0),this.$emit("before-send",{xhr:e,formData:t}),e.withCredentials=this.withCredentials,e.send(t)}},clear(){this.files=[],this.messages=null,this.$emit("clear"),this.isAdvanced&&this.clearInputElement()},onFocus(){this.focused=!0},onBlur(){this.focused=!1},isFileSelected(e){if(this.files&&this.files.length)for(let t of this.files)if(t.name+t.type+t.size===e.name+e.type+e.size)return!0;return!1},isIE11:()=>!!window.MSInputMethodContext&&!!document.documentMode,validate(e){return this.accept&&!this.isFileTypeValid(e)?(this.messages.push(this.invalidFileTypeMessage.replace("{0}",e.name).replace("{1}",this.accept)),!1):!(this.maxFileSize&&e.size>this.maxFileSize)||(this.messages.push(this.invalidFileSizeMessage.replace("{0}",e.name).replace("{1}",this.formatSize(this.maxFileSize))),!1)},isFileTypeValid(e){let t=this.accept.split(",").map((e=>e.trim()));for(let l of t){if(this.isWildcard(l)?this.getTypeClass(e.type)===this.getTypeClass(l):e.type==l||this.getFileExtension(e).toLowerCase()===l.toLowerCase())return!0}return!1},getTypeClass:e=>e.substring(0,e.indexOf("/")),isWildcard:e=>-1!==e.indexOf("*"),getFileExtension:e=>"."+e.name.split(".").pop(),isImage:e=>/^image\//.test(e.type),onDragEnter(e){this.disabled||(e.stopPropagation(),e.preventDefault())},onDragOver(e){this.disabled||(p.DomHandler.addClass(this.$refs.content,"p-fileupload-highlight"),e.stopPropagation(),e.preventDefault())},onDragLeave(){this.disabled||p.DomHandler.removeClass(this.$refs.content,"p-fileupload-highlight")},onDrop(e){if(!this.disabled){p.DomHandler.removeClass(this.$refs.content,"p-fileupload-highlight"),e.stopPropagation(),e.preventDefault();const t=e.dataTransfer?e.dataTransfer.files:e.target.files;(this.multiple||t&&1===t.length)&&this.onFileSelect(e)}},onBasicUploaderClick(){this.hasFiles?this.upload():this.$refs.fileInput.click()},remove(e){this.clearInputElement();let t=this.files.splice(e,1)[0];this.files=[...this.files],this.$emit("remove",{file:t,files:this.files})},removeUploadedFile(e){let t=this.uploadedFiles.splice(e,1)[0];this.uploadedFiles=[...this.uploadedFiles],this.$emit("remove-uploaded-file",{file:t,files:this.uploadedFiles})},clearInputElement(){this.$refs.fileInput.value=""},clearIEInput(){this.$refs.fileInput&&(this.duplicateIEEvent=!0,this.$refs.fileInput.value="")},formatSize(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,t)).toFixed(3))+" "+["B","KB","MB","GB","TB","PB","EB","ZB","YB"][t]},isFileLimitExceeded(){return this.fileLimit&&this.fileLimit<=this.files.length+this.uploadedFileCount&&this.focused&&(this.focused=!1),this.fileLimit&&this.fileLimit<this.files.length+this.uploadedFileCount},checkFileLimit(){this.isFileLimitExceeded()&&this.messages.push(this.invalidFileLimitMessage.replace("{0}",this.fileLimit.toString()))},onMessageClose(){this.messages=null}},computed:{isAdvanced(){return"advanced"===this.mode},isBasic(){return"basic"===this.mode},advancedChooseButtonClass(){return["p-button p-component p-fileupload-choose",this.class,{"p-disabled":this.disabled,"p-focus":this.focused}]},basicChooseButtonClass(){return["p-button p-component p-fileupload-choose",this.class,{"p-fileupload-choose-selected":this.hasFiles,"p-disabled":this.disabled,"p-focus":this.focused}]},basicChooseButtonLabel(){return this.auto?this.chooseButtonLabel:this.hasFiles?this.files.map((e=>e.name)).join(", "):this.chooseButtonLabel},hasFiles(){return this.files&&this.files.length>0},hasUploadedFiles(){return this.uploadedFiles&&this.uploadedFiles.length>0},chooseDisabled(){return this.disabled||this.fileLimit&&this.fileLimit<=this.files.length+this.uploadedFileCount},uploadDisabled(){return this.disabled||!this.hasFiles||this.fileLimit&&this.fileLimit<this.files.length},cancelDisabled(){return this.disabled||!this.hasFiles},chooseButtonLabel(){return this.chooseLabel||this.$primevue.config.locale.choose},uploadButtonLabel(){return this.uploadLabel||this.$primevue.config.locale.upload},cancelButtonLabel(){return this.cancelLabel||this.$primevue.config.locale.cancel},completedLabel(){return this.$primevue.config.locale.completed},pendingLabel(){return this.$primevue.config.locale.pending}},components:{FileUploadButton:m.default,FileUploadProgressBar:b.default,FileUploadMessage:v.default,FileContent:F,PlusIcon:h.default,UploadIcon:g.default,TimesIcon:f.default},directives:{ripple:B.default}};const S=["multiple","accept","disabled"],L=["accept","disabled","multiple"];return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===l&&o.firstChild?o.insertBefore(i,o.firstChild):o.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-fileupload-content {\n position: relative;\n}\n.p-fileupload-content .p-progressbar {\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-button.p-fileupload-choose {\n position: relative;\n overflow: hidden;\n}\n.p-fileupload-buttonbar {\n display: flex;\n flex-wrap: wrap;\n}\n.p-fileupload > input[type='file'],\n.p-fileupload-basic input[type='file'] {\n display: none;\n}\n.p-fluid .p-fileupload .p-button {\n width: auto;\n}\n.p-fileupload-file {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n.p-fileupload-file-thumbnail {\n flex-shrink: 0;\n}\n.p-fileupload-file-actions {\n margin-left: auto;\n}\n"),k.render=function(e,t,l,o,i,s){const a=d.resolveComponent("FileUploadButton"),n=d.resolveComponent("FileUploadProgressBar"),p=d.resolveComponent("FileUploadMessage"),r=d.resolveComponent("FileContent"),c=d.resolveDirective("ripple");return s.isAdvanced?(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:0,class:"p-fileupload p-fileupload-advanced p-component"},e.ptm("root")),[d.createElementVNode("input",d.mergeProps({ref:"fileInput",type:"file",onChange:t[0]||(t[0]=(...e)=>s.onFileSelect&&s.onFileSelect(...e)),multiple:l.multiple,accept:l.accept,disabled:s.chooseDisabled},e.ptm("input")),null,16,S),d.createElementVNode("div",d.mergeProps({class:"p-fileupload-buttonbar"},e.ptm("buttonbar")),[d.renderSlot(e.$slots,"header",d.mergeProps({files:i.files,uploadedFiles:i.uploadedFiles,chooseCallback:s.choose,uploadCallback:s.upload,clearCallback:s.clear},e.ptm("header")),(()=>[d.withDirectives((d.openBlock(),d.createElementBlock("span",d.mergeProps({class:s.advancedChooseButtonClass,style:l.style,onClick:t[1]||(t[1]=(...e)=>s.choose&&s.choose(...e)),onKeydown:t[2]||(t[2]=d.withKeys(((...e)=>s.choose&&s.choose(...e)),["enter"])),onFocus:t[3]||(t[3]=(...e)=>s.onFocus&&s.onFocus(...e)),onBlur:t[4]||(t[4]=(...e)=>s.onBlur&&s.onBlur(...e)),tabindex:"0"},e.ptm("button")),[d.renderSlot(e.$slots,"chooseicon",{},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.chooseIcon?"span":"PlusIcon"),d.mergeProps({class:["p-button-icon p-button-icon-left",l.chooseIcon],"aria-hidden":"true"},e.ptm("chooseIcon")),null,16,["class"]))])),d.createElementVNode("span",d.mergeProps({class:"p-button-label"},e.ptm("chooseButtonLabel")),d.toDisplayString(s.chooseButtonLabel),17)],16)),[[c]]),l.showUploadButton?(d.openBlock(),d.createBlock(a,{key:0,label:s.uploadButtonLabel,onClick:s.upload,disabled:s.uploadDisabled,pt:e.ptm("uploadButton")},{icon:d.withCtx((t=>[d.renderSlot(e.$slots,"uploadicon",{},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.uploadIcon?"span":"UploadIcon"),d.mergeProps({class:[t.class,l.uploadIcon],"aria-hidden":"true"},e.ptm("uploadButton").icon),null,16,["class"]))]))])),_:3},8,["label","onClick","disabled","pt"])):d.createCommentVNode("",!0),l.showCancelButton?(d.openBlock(),d.createBlock(a,{key:1,label:s.cancelButtonLabel,onClick:s.clear,disabled:s.cancelDisabled,pt:e.ptm("cancelButton")},{icon:d.withCtx((t=>[d.renderSlot(e.$slots,"cancelicon",{},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.cancelIcon?"span":"TimesIcon"),d.mergeProps({class:[t.class,l.cancelIcon],"aria-hidden":"true"},e.ptm("cancelButton").icon),null,16,["class"]))]))])),_:3},8,["label","onClick","disabled","pt"])):d.createCommentVNode("",!0)]))],16),d.createElementVNode("div",d.mergeProps({ref:"content",class:"p-fileupload-content",onDragenter:t[5]||(t[5]=(...e)=>s.onDragEnter&&s.onDragEnter(...e)),onDragover:t[6]||(t[6]=(...e)=>s.onDragOver&&s.onDragOver(...e)),onDragleave:t[7]||(t[7]=(...e)=>s.onDragLeave&&s.onDragLeave(...e)),onDrop:t[8]||(t[8]=(...e)=>s.onDrop&&s.onDrop(...e))},e.ptm("content")),[d.renderSlot(e.$slots,"content",{files:i.files,uploadedFiles:i.uploadedFiles,removeUploadedFileCallback:s.removeUploadedFile,removeFileCallback:s.remove,progress:i.progress,messages:i.messages},(()=>[s.hasFiles?(d.openBlock(),d.createBlock(n,{key:0,value:i.progress,showValue:!1,pt:e.ptm("progressbar")},null,8,["value","pt"])):d.createCommentVNode("",!0),(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(i.messages,(t=>(d.openBlock(),d.createBlock(p,{key:t,severity:"error",onClose:s.onMessageClose,pt:e.ptm("messages")},{default:d.withCtx((()=>[d.createTextVNode(d.toDisplayString(t),1)])),_:2},1032,["onClose","pt"])))),128)),s.hasFiles?(d.openBlock(),d.createBlock(r,{key:1,files:i.files,onRemove:s.remove,badgeValue:s.pendingLabel,previewWidth:l.previewWidth,templates:e.$slots,pt:e.pt},null,8,["files","onRemove","badgeValue","previewWidth","templates","pt"])):d.createCommentVNode("",!0),d.createVNode(r,{files:i.uploadedFiles,onRemove:s.removeUploadedFile,badgeValue:s.completedLabel,badgeSeverity:"success",previewWidth:l.previewWidth,templates:e.$slots,pt:e.pt},null,8,["files","onRemove","badgeValue","previewWidth","templates","pt"])])),!e.$slots.empty||s.hasFiles||s.hasUploadedFiles?d.createCommentVNode("",!0):(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:0,class:"p-fileupload-empty"},e.ptm("empty")),[d.renderSlot(e.$slots,"empty")],16))],16)],16)):s.isBasic?(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:1,class:"p-fileupload p-fileupload-basic p-component"},e.ptm("root")),[(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(i.messages,(t=>(d.openBlock(),d.createBlock(p,{key:t,severity:"error",onClose:s.onMessageClose,pt:e.ptm("messages")},{default:d.withCtx((()=>[d.createTextVNode(d.toDisplayString(t),1)])),_:2},1032,["onClose","pt"])))),128)),d.withDirectives((d.openBlock(),d.createElementBlock("span",d.mergeProps({class:s.basicChooseButtonClass,style:l.style,onMouseup:t[12]||(t[12]=(...e)=>s.onBasicUploaderClick&&s.onBasicUploaderClick(...e)),onKeydown:t[13]||(t[13]=d.withKeys(((...e)=>s.choose&&s.choose(...e)),["enter"])),onFocus:t[14]||(t[14]=(...e)=>s.onFocus&&s.onFocus(...e)),onBlur:t[15]||(t[15]=(...e)=>s.onBlur&&s.onBlur(...e)),tabindex:"0"},e.ptm("basicButton")),[!s.hasFiles||l.auto?d.renderSlot(e.$slots,"uploadicon",{key:0},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.uploadIcon?"span":"UploadIcon"),d.mergeProps({class:["p-button-icon p-button-icon-left",l.uploadIcon],"aria-hidden":"true"},e.ptm("uploadIcon")),null,16,["class"]))])):d.renderSlot(e.$slots,"chooseicon",{key:1},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.chooseIcon?"span":"PlusIcon"),d.mergeProps({class:["p-button-icon p-button-icon-left",l.chooseIcon],"aria-hidden":"true"},e.ptm("chooseIcon")),null,16,["class"]))])),d.createElementVNode("span",d.mergeProps({class:"p-button-label"},e.ptm("label")),d.toDisplayString(s.basicChooseButtonLabel),17),s.hasFiles?d.createCommentVNode("",!0):(d.openBlock(),d.createElementBlock("input",d.mergeProps({key:2,ref:"fileInput",type:"file",accept:l.accept,disabled:l.disabled,multiple:l.multiple,onChange:t[9]||(t[9]=(...e)=>s.onFileSelect&&s.onFileSelect(...e)),onFocus:t[10]||(t[10]=(...e)=>s.onFocus&&s.onFocus(...e)),onBlur:t[11]||(t[11]=(...e)=>s.onBlur&&s.onBlur(...e))},e.ptm("input")),null,16,L))],16)),[[c]])],16)):d.createCommentVNode("",!0)},k}(primevue.basecomponent,primevue.button,primevue.icons.plus,primevue.icons.times,primevue.icons.upload,primevue.message,primevue.progressbar,primevue.ripple,primevue.utils,primevue.badge,Vue);
|
|
1
|
+
this.primevue=this.primevue||{},this.primevue.fileupload=function(e,t,l,o,i,s,a,n,p,r,d){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=c(e),h=c(t),m=c(l),f=c(o),g=c(i),v=c(s),b=c(a),B=c(n),y=c(r),F={extends:u.default,emits:["remove"],props:{files:{type:Array,default:()=>[]},badgeSeverity:{type:String,default:"warning"},badgeValue:{type:String,default:null},previewWidth:{type:Number,default:50},templates:{type:null,default:null}},methods:{formatSize(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,t)).toFixed(3))+" "+["B","KB","MB","GB","TB","PB","EB","ZB","YB"][t]}},components:{FileUploadButton:h.default,FileUploadBadge:y.default,TimesIcon:f.default}};const C=["alt","src","width"];F.render=function(e,t,l,o,i,s){const a=d.resolveComponent("FileUploadBadge"),n=d.resolveComponent("TimesIcon"),p=d.resolveComponent("FileUploadButton");return d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(l.files,((t,o)=>(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:t.name+t.type+t.size,class:"p-fileupload-file"},e.ptm("file")),[d.createElementVNode("img",d.mergeProps({role:"presentation",class:"p-fileupload-file-thumbnail",alt:t.name,src:t.objectURL,width:l.previewWidth},e.ptm("thumbnail")),null,16,C),d.createElementVNode("div",d.mergeProps({class:"p-fileupload-file-details"},e.ptm("details")),[d.createElementVNode("div",d.mergeProps({class:"p-fileupload-file-name"},e.ptm("fileName")),d.toDisplayString(t.name),17),d.createElementVNode("span",d.mergeProps({class:"p-fileupload-file-size"},e.ptm("fileSize")),d.toDisplayString(s.formatSize(t.size)),17),d.createVNode(a,{value:l.badgeValue,class:"p-fileupload-file-badge",severity:l.badgeSeverity,pt:e.ptm("badge")},null,8,["value","severity","pt"])],16),d.createElementVNode("div",d.mergeProps({class:"p-fileupload-file-actions"},e.ptm("actions")),[d.createVNode(p,{onClick:t=>e.$emit("remove",o),text:"",rounded:"",severity:"danger",class:"p-fileupload-file-remove",pt:e.ptm("removeButton")},{icon:d.withCtx((i=>[l.templates.fileremoveicon?(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.templates.fileremoveicon),{key:0,class:d.normalizeClass(i.class),file:t,index:o},null,8,["class","file","index"])):(d.openBlock(),d.createBlock(n,d.mergeProps({key:1,class:i.class,"aria-hidden":"true"},e.ptm("removeButton").icon),null,16,["class"]))])),_:2},1032,["onClick","pt"])],16)],16)))),128)};var k={name:"FileUpload",extends:u.default,emits:["select","uploader","before-upload","progress","upload","error","before-send","clear","remove","remove-uploaded-file"],props:{name:{type:String,default:null},url:{type:String,default:null},mode:{type:String,default:"advanced"},multiple:{type:Boolean,default:!1},accept:{type:String,default:null},disabled:{type:Boolean,default:!1},auto:{type:Boolean,default:!1},maxFileSize:{type:Number,default:null},invalidFileSizeMessage:{type:String,default:"{0}: Invalid file size, file size should be smaller than {1}."},invalidFileTypeMessage:{type:String,default:"{0}: Invalid file type, allowed file types: {1}."},fileLimit:{type:Number,default:null},invalidFileLimitMessage:{type:String,default:"Maximum number of files exceeded, limit is {0} at most."},withCredentials:{type:Boolean,default:!1},previewWidth:{type:Number,default:50},chooseLabel:{type:String,default:null},uploadLabel:{type:String,default:null},cancelLabel:{type:String,default:null},customUpload:{type:Boolean,default:!1},showUploadButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},chooseIcon:{type:String,default:void 0},uploadIcon:{type:String,default:void 0},cancelIcon:{type:String,default:void 0},style:null,class:null},duplicateIEEvent:!1,data:()=>({uploadedFileCount:0,files:[],messages:[],focused:!1,progress:null,uploadedFiles:[]}),methods:{onFileSelect(e){if("drop"!==e.type&&this.isIE11()&&this.duplicateIEEvent)return void(this.duplicateIEEvent=!1);this.messages=[],this.files=this.files||[];let t=e.dataTransfer?e.dataTransfer.files:e.target.files;for(let e of t)this.isFileSelected(e)||this.validate(e)&&(this.isImage(e)&&(e.objectURL=window.URL.createObjectURL(e)),this.files.push(e));this.$emit("select",{originalEvent:e,files:this.files}),this.fileLimit&&this.checkFileLimit(),this.auto&&this.hasFiles&&!this.isFileLimitExceeded()&&this.upload(),"drop"!==e.type&&this.isIE11()?this.clearIEInput():this.clearInputElement()},choose(){this.$refs.fileInput.click()},upload(){if(this.customUpload)this.fileLimit&&(this.uploadedFileCount+=this.files.length),this.$emit("uploader",{files:this.files}),this.clear();else{let e=new XMLHttpRequest,t=new FormData;this.$emit("before-upload",{xhr:e,formData:t});for(let e of this.files)t.append(this.name,e,e.name);e.upload.addEventListener("progress",(e=>{e.lengthComputable&&(this.progress=Math.round(100*e.loaded/e.total)),this.$emit("progress",{originalEvent:e,progress:this.progress})})),e.onreadystatechange=()=>{4===e.readyState&&(this.progress=0,e.status>=200&&e.status<300?(this.fileLimit&&(this.uploadedFileCount+=this.files.length),this.$emit("upload",{xhr:e,files:this.files})):this.$emit("error",{xhr:e,files:this.files}),this.uploadedFiles.push(...this.files),this.clear())},e.open("POST",this.url,!0),this.$emit("before-send",{xhr:e,formData:t}),e.withCredentials=this.withCredentials,e.send(t)}},clear(){this.files=[],this.messages=null,this.$emit("clear"),this.isAdvanced&&this.clearInputElement()},onFocus(){this.focused=!0},onBlur(){this.focused=!1},isFileSelected(e){if(this.files&&this.files.length)for(let t of this.files)if(t.name+t.type+t.size===e.name+e.type+e.size)return!0;return!1},isIE11:()=>!!window.MSInputMethodContext&&!!document.documentMode,validate(e){return this.accept&&!this.isFileTypeValid(e)?(this.messages.push(this.invalidFileTypeMessage.replace("{0}",e.name).replace("{1}",this.accept)),!1):!(this.maxFileSize&&e.size>this.maxFileSize)||(this.messages.push(this.invalidFileSizeMessage.replace("{0}",e.name).replace("{1}",this.formatSize(this.maxFileSize))),!1)},isFileTypeValid(e){let t=this.accept.split(",").map((e=>e.trim()));for(let l of t){if(this.isWildcard(l)?this.getTypeClass(e.type)===this.getTypeClass(l):e.type==l||this.getFileExtension(e).toLowerCase()===l.toLowerCase())return!0}return!1},getTypeClass:e=>e.substring(0,e.indexOf("/")),isWildcard:e=>-1!==e.indexOf("*"),getFileExtension:e=>"."+e.name.split(".").pop(),isImage:e=>/^image\//.test(e.type),onDragEnter(e){this.disabled||(e.stopPropagation(),e.preventDefault())},onDragOver(e){this.disabled||(p.DomHandler.addClass(this.$refs.content,"p-fileupload-highlight"),e.stopPropagation(),e.preventDefault())},onDragLeave(){this.disabled||p.DomHandler.removeClass(this.$refs.content,"p-fileupload-highlight")},onDrop(e){if(!this.disabled){p.DomHandler.removeClass(this.$refs.content,"p-fileupload-highlight"),e.stopPropagation(),e.preventDefault();const t=e.dataTransfer?e.dataTransfer.files:e.target.files;(this.multiple||t&&1===t.length)&&this.onFileSelect(e)}},onBasicUploaderClick(){this.hasFiles?this.upload():this.$refs.fileInput.click()},remove(e){this.clearInputElement();let t=this.files.splice(e,1)[0];this.files=[...this.files],this.$emit("remove",{file:t,files:this.files})},removeUploadedFile(e){let t=this.uploadedFiles.splice(e,1)[0];this.uploadedFiles=[...this.uploadedFiles],this.$emit("remove-uploaded-file",{file:t,files:this.uploadedFiles})},clearInputElement(){this.$refs.fileInput.value=""},clearIEInput(){this.$refs.fileInput&&(this.duplicateIEEvent=!0,this.$refs.fileInput.value="")},formatSize(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,t)).toFixed(3))+" "+["B","KB","MB","GB","TB","PB","EB","ZB","YB"][t]},isFileLimitExceeded(){return this.fileLimit&&this.fileLimit<=this.files.length+this.uploadedFileCount&&this.focused&&(this.focused=!1),this.fileLimit&&this.fileLimit<this.files.length+this.uploadedFileCount},checkFileLimit(){this.isFileLimitExceeded()&&this.messages.push(this.invalidFileLimitMessage.replace("{0}",this.fileLimit.toString()))},onMessageClose(){this.messages=null}},computed:{isAdvanced(){return"advanced"===this.mode},isBasic(){return"basic"===this.mode},advancedChooseButtonClass(){return["p-button p-component p-fileupload-choose",this.class,{"p-disabled":this.disabled,"p-focus":this.focused}]},basicChooseButtonClass(){return["p-button p-component p-fileupload-choose",this.class,{"p-fileupload-choose-selected":this.hasFiles,"p-disabled":this.disabled,"p-focus":this.focused}]},basicChooseButtonLabel(){return this.auto?this.chooseButtonLabel:this.hasFiles?this.files.map((e=>e.name)).join(", "):this.chooseButtonLabel},hasFiles(){return this.files&&this.files.length>0},hasUploadedFiles(){return this.uploadedFiles&&this.uploadedFiles.length>0},chooseDisabled(){return this.disabled||this.fileLimit&&this.fileLimit<=this.files.length+this.uploadedFileCount},uploadDisabled(){return this.disabled||!this.hasFiles||this.fileLimit&&this.fileLimit<this.files.length},cancelDisabled(){return this.disabled||!this.hasFiles},chooseButtonLabel(){return this.chooseLabel||this.$primevue.config.locale.choose},uploadButtonLabel(){return this.uploadLabel||this.$primevue.config.locale.upload},cancelButtonLabel(){return this.cancelLabel||this.$primevue.config.locale.cancel},completedLabel(){return this.$primevue.config.locale.completed},pendingLabel(){return this.$primevue.config.locale.pending}},components:{FileUploadButton:h.default,FileUploadProgressBar:b.default,FileUploadMessage:v.default,FileContent:F,PlusIcon:m.default,UploadIcon:g.default,TimesIcon:f.default},directives:{ripple:B.default}};const S=["multiple","accept","disabled"],L=["accept","disabled","multiple"];return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===l&&o.firstChild?o.insertBefore(i,o.firstChild):o.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-fileupload-content {\n position: relative;\n}\n.p-fileupload-content .p-progressbar {\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-button.p-fileupload-choose {\n position: relative;\n overflow: hidden;\n}\n.p-fileupload-buttonbar {\n display: flex;\n flex-wrap: wrap;\n}\n.p-fileupload > input[type='file'],\n.p-fileupload-basic input[type='file'] {\n display: none;\n}\n.p-fluid .p-fileupload .p-button {\n width: auto;\n}\n.p-fileupload-file {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n.p-fileupload-file-thumbnail {\n flex-shrink: 0;\n}\n.p-fileupload-file-actions {\n margin-left: auto;\n}\n"),k.render=function(e,t,l,o,i,s){const a=d.resolveComponent("FileUploadButton"),n=d.resolveComponent("FileUploadProgressBar"),p=d.resolveComponent("FileUploadMessage"),r=d.resolveComponent("FileContent"),c=d.resolveDirective("ripple");return s.isAdvanced?(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:0,class:"p-fileupload p-fileupload-advanced p-component"},e.ptm("root")),[d.createElementVNode("input",d.mergeProps({ref:"fileInput",type:"file",onChange:t[0]||(t[0]=(...e)=>s.onFileSelect&&s.onFileSelect(...e)),multiple:l.multiple,accept:l.accept,disabled:s.chooseDisabled},e.ptm("input")),null,16,S),d.createElementVNode("div",d.mergeProps({class:"p-fileupload-buttonbar"},e.ptm("buttonbar")),[d.renderSlot(e.$slots,"header",{files:i.files,uploadedFiles:i.uploadedFiles,chooseCallback:s.choose,uploadCallback:s.upload,clearCallback:s.clear},(()=>[d.withDirectives((d.openBlock(),d.createElementBlock("span",d.mergeProps({class:s.advancedChooseButtonClass,style:l.style,onClick:t[1]||(t[1]=(...e)=>s.choose&&s.choose(...e)),onKeydown:t[2]||(t[2]=d.withKeys(((...e)=>s.choose&&s.choose(...e)),["enter"])),onFocus:t[3]||(t[3]=(...e)=>s.onFocus&&s.onFocus(...e)),onBlur:t[4]||(t[4]=(...e)=>s.onBlur&&s.onBlur(...e)),tabindex:"0"},e.ptm("chooseButton")),[d.renderSlot(e.$slots,"chooseicon",{},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.chooseIcon?"span":"PlusIcon"),d.mergeProps({class:["p-button-icon p-button-icon-left",l.chooseIcon],"aria-hidden":"true"},e.ptm("chooseIcon")),null,16,["class"]))])),d.createElementVNode("span",d.mergeProps({class:"p-button-label"},e.ptm("chooseButtonLabel")),d.toDisplayString(s.chooseButtonLabel),17)],16)),[[c]]),l.showUploadButton?(d.openBlock(),d.createBlock(a,{key:0,label:s.uploadButtonLabel,onClick:s.upload,disabled:s.uploadDisabled,pt:e.ptm("uploadButton")},{icon:d.withCtx((t=>[d.renderSlot(e.$slots,"uploadicon",{},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.uploadIcon?"span":"UploadIcon"),d.mergeProps({class:[t.class,l.uploadIcon],"aria-hidden":"true"},e.ptm("uploadButton").icon),null,16,["class"]))]))])),_:3},8,["label","onClick","disabled","pt"])):d.createCommentVNode("",!0),l.showCancelButton?(d.openBlock(),d.createBlock(a,{key:1,label:s.cancelButtonLabel,onClick:s.clear,disabled:s.cancelDisabled,pt:e.ptm("cancelButton")},{icon:d.withCtx((t=>[d.renderSlot(e.$slots,"cancelicon",{},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.cancelIcon?"span":"TimesIcon"),d.mergeProps({class:[t.class,l.cancelIcon],"aria-hidden":"true"},e.ptm("cancelButton").icon),null,16,["class"]))]))])),_:3},8,["label","onClick","disabled","pt"])):d.createCommentVNode("",!0)]))],16),d.createElementVNode("div",d.mergeProps({ref:"content",class:"p-fileupload-content",onDragenter:t[5]||(t[5]=(...e)=>s.onDragEnter&&s.onDragEnter(...e)),onDragover:t[6]||(t[6]=(...e)=>s.onDragOver&&s.onDragOver(...e)),onDragleave:t[7]||(t[7]=(...e)=>s.onDragLeave&&s.onDragLeave(...e)),onDrop:t[8]||(t[8]=(...e)=>s.onDrop&&s.onDrop(...e))},e.ptm("content")),[d.renderSlot(e.$slots,"content",{files:i.files,uploadedFiles:i.uploadedFiles,removeUploadedFileCallback:s.removeUploadedFile,removeFileCallback:s.remove,progress:i.progress,messages:i.messages},(()=>[s.hasFiles?(d.openBlock(),d.createBlock(n,{key:0,value:i.progress,showValue:!1,pt:e.ptm("progressbar")},null,8,["value","pt"])):d.createCommentVNode("",!0),(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(i.messages,(t=>(d.openBlock(),d.createBlock(p,{key:t,severity:"error",onClose:s.onMessageClose,pt:e.ptm("message")},{default:d.withCtx((()=>[d.createTextVNode(d.toDisplayString(t),1)])),_:2},1032,["onClose","pt"])))),128)),s.hasFiles?(d.openBlock(),d.createBlock(r,{key:1,files:i.files,onRemove:s.remove,badgeValue:s.pendingLabel,previewWidth:l.previewWidth,templates:e.$slots,pt:e.pt},null,8,["files","onRemove","badgeValue","previewWidth","templates","pt"])):d.createCommentVNode("",!0),d.createVNode(r,{files:i.uploadedFiles,onRemove:s.removeUploadedFile,badgeValue:s.completedLabel,badgeSeverity:"success",previewWidth:l.previewWidth,templates:e.$slots,pt:e.pt},null,8,["files","onRemove","badgeValue","previewWidth","templates","pt"])])),!e.$slots.empty||s.hasFiles||s.hasUploadedFiles?d.createCommentVNode("",!0):(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:0,class:"p-fileupload-empty"},e.ptm("empty")),[d.renderSlot(e.$slots,"empty")],16))],16)],16)):s.isBasic?(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:1,class:"p-fileupload p-fileupload-basic p-component"},e.ptm("root")),[(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(i.messages,(t=>(d.openBlock(),d.createBlock(p,{key:t,severity:"error",onClose:s.onMessageClose,pt:e.ptm("messages")},{default:d.withCtx((()=>[d.createTextVNode(d.toDisplayString(t),1)])),_:2},1032,["onClose","pt"])))),128)),d.withDirectives((d.openBlock(),d.createElementBlock("span",d.mergeProps({class:s.basicChooseButtonClass,style:l.style,onMouseup:t[12]||(t[12]=(...e)=>s.onBasicUploaderClick&&s.onBasicUploaderClick(...e)),onKeydown:t[13]||(t[13]=d.withKeys(((...e)=>s.choose&&s.choose(...e)),["enter"])),onFocus:t[14]||(t[14]=(...e)=>s.onFocus&&s.onFocus(...e)),onBlur:t[15]||(t[15]=(...e)=>s.onBlur&&s.onBlur(...e)),tabindex:"0"},e.ptm("basicButton")),[!s.hasFiles||l.auto?d.renderSlot(e.$slots,"uploadicon",{key:0},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.uploadIcon?"span":"UploadIcon"),d.mergeProps({class:["p-button-icon p-button-icon-left",l.uploadIcon],"aria-hidden":"true"},e.ptm("uploadIcon")),null,16,["class"]))])):d.renderSlot(e.$slots,"chooseicon",{key:1},(()=>[(d.openBlock(),d.createBlock(d.resolveDynamicComponent(l.chooseIcon?"span":"PlusIcon"),d.mergeProps({class:["p-button-icon p-button-icon-left",l.chooseIcon],"aria-hidden":"true"},e.ptm("chooseIcon")),null,16,["class"]))])),d.createElementVNode("span",d.mergeProps({class:"p-button-label"},e.ptm("label")),d.toDisplayString(s.basicChooseButtonLabel),17),s.hasFiles?d.createCommentVNode("",!0):(d.openBlock(),d.createElementBlock("input",d.mergeProps({key:2,ref:"fileInput",type:"file",accept:l.accept,disabled:l.disabled,multiple:l.multiple,onChange:t[9]||(t[9]=(...e)=>s.onFileSelect&&s.onFileSelect(...e)),onFocus:t[10]||(t[10]=(...e)=>s.onFocus&&s.onFocus(...e)),onBlur:t[11]||(t[11]=(...e)=>s.onBlur&&s.onBlur(...e))},e.ptm("input")),null,16,L))],16)),[[c]])],16)):d.createCommentVNode("",!0)},k}(primevue.basecomponent,primevue.button,primevue.icons.plus,primevue.icons.times,primevue.icons.upload,primevue.message,primevue.progressbar,primevue.ripple,primevue.utils,primevue.badge,Vue);
|
package/galleria/Galleria.d.ts
CHANGED
|
@@ -9,6 +9,15 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { ButtonHTMLAttributes, HTMLAttributes, VNode } from 'vue';
|
|
11
11
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
12
|
+
export declare type GalleriaPassThroughOptionType = GalleriaPassThroughAttributes | ((options: GalleriaPassThroughMethodOptions) => GalleriaPassThroughAttributes) | null | undefined;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Custom passthrough(pt) option method.
|
|
16
|
+
*/
|
|
17
|
+
export interface GalleriaPassThroughMethodOptions {
|
|
18
|
+
props: GalleriaProps;
|
|
19
|
+
state: GalleriaState;
|
|
20
|
+
}
|
|
12
21
|
|
|
13
22
|
export interface GalleriaResponsiveOptions {
|
|
14
23
|
/**
|
|
@@ -21,6 +30,188 @@ export interface GalleriaResponsiveOptions {
|
|
|
21
30
|
numVisible: number;
|
|
22
31
|
}
|
|
23
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Custom passthrough(pt) options.
|
|
35
|
+
* @see {@link GalleriaProps.pt}
|
|
36
|
+
*/
|
|
37
|
+
export interface GalleriaPassThroughOptions {
|
|
38
|
+
/**
|
|
39
|
+
* Uses to pass attributes to the root's DOM element.
|
|
40
|
+
*/
|
|
41
|
+
root?: GalleriaPassThroughOptionType;
|
|
42
|
+
/**
|
|
43
|
+
* Uses to pass attributes to the close button's DOM element.
|
|
44
|
+
*/
|
|
45
|
+
closeButton?: GalleriaPassThroughOptionType;
|
|
46
|
+
/**
|
|
47
|
+
* Uses to pass attributes to the close icon's DOM element.
|
|
48
|
+
*/
|
|
49
|
+
closeIcon?: GalleriaPassThroughOptionType;
|
|
50
|
+
/**
|
|
51
|
+
* Uses to pass attributes to the header's DOM element.
|
|
52
|
+
*/
|
|
53
|
+
header?: GalleriaPassThroughOptionType;
|
|
54
|
+
/**
|
|
55
|
+
* Uses to pass attributes to the content's DOM element.
|
|
56
|
+
*/
|
|
57
|
+
content?: GalleriaPassThroughOptionType;
|
|
58
|
+
/**
|
|
59
|
+
* Uses to pass attributes to the footer's DOM element.
|
|
60
|
+
*/
|
|
61
|
+
footer?: GalleriaPassThroughOptionType;
|
|
62
|
+
/**
|
|
63
|
+
* Uses to pass attributes to the item wrapper's DOM element.
|
|
64
|
+
*/
|
|
65
|
+
itemWrapper?: GalleriaPassThroughOptionType;
|
|
66
|
+
/**
|
|
67
|
+
* Uses to pass attributes to the item container's DOM element.
|
|
68
|
+
*/
|
|
69
|
+
itemContainer?: GalleriaPassThroughOptionType;
|
|
70
|
+
/**
|
|
71
|
+
* Uses to pass attributes to the previous item button's DOM element.
|
|
72
|
+
*/
|
|
73
|
+
previousItemButton?: GalleriaPassThroughOptionType;
|
|
74
|
+
/**
|
|
75
|
+
* Uses to pass attributes to the previous item icon's DOM element.
|
|
76
|
+
*/
|
|
77
|
+
previousItemIcon?: GalleriaPassThroughOptionType;
|
|
78
|
+
/**
|
|
79
|
+
* Uses to pass attributes to the item's DOM element.
|
|
80
|
+
*/
|
|
81
|
+
item?: GalleriaPassThroughOptionType;
|
|
82
|
+
/**
|
|
83
|
+
* Uses to pass attributes to the next item button's DOM element.
|
|
84
|
+
*/
|
|
85
|
+
nextItemButton?: GalleriaPassThroughOptionType;
|
|
86
|
+
/**
|
|
87
|
+
* Uses to pass attributes to the next item icon's DOM element.
|
|
88
|
+
*/
|
|
89
|
+
nextItemIcon?: GalleriaPassThroughOptionType;
|
|
90
|
+
/**
|
|
91
|
+
* Uses to pass attributes to the caption's DOM element.
|
|
92
|
+
*/
|
|
93
|
+
caption?: GalleriaPassThroughOptionType;
|
|
94
|
+
/**
|
|
95
|
+
* Uses to pass attributes to the indicators's DOM element.
|
|
96
|
+
*/
|
|
97
|
+
indicators?: GalleriaPassThroughOptionType;
|
|
98
|
+
/**
|
|
99
|
+
* Uses to pass attributes to the indicator's DOM element.
|
|
100
|
+
*/
|
|
101
|
+
indicator?: GalleriaPassThroughOptionType;
|
|
102
|
+
/**
|
|
103
|
+
* Uses to pass attributes to the thumbnail wrapper's DOM element.
|
|
104
|
+
*/
|
|
105
|
+
thumbnailWrapper?: GalleriaPassThroughOptionType;
|
|
106
|
+
/**
|
|
107
|
+
* Uses to pass attributes to the thumbnail container's DOM element.
|
|
108
|
+
*/
|
|
109
|
+
thumbnailContainer?: GalleriaPassThroughOptionType;
|
|
110
|
+
/**
|
|
111
|
+
* Uses to pass attributes to the previous thumbnail button's DOM element.
|
|
112
|
+
*/
|
|
113
|
+
previousThumbnailButton?: GalleriaPassThroughOptionType;
|
|
114
|
+
/**
|
|
115
|
+
* Uses to pass attributes to the previous thumbnail icon's DOM element.
|
|
116
|
+
*/
|
|
117
|
+
previousThumbnailIcon?: GalleriaPassThroughOptionType;
|
|
118
|
+
/**
|
|
119
|
+
* Uses to pass attributes to the thumbnail items container's DOM element.
|
|
120
|
+
*/
|
|
121
|
+
thumbnailItemsContainer?: GalleriaPassThroughOptionType;
|
|
122
|
+
/**
|
|
123
|
+
* Uses to pass attributes to the thumbnail items' DOM element.
|
|
124
|
+
*/
|
|
125
|
+
thumbnailItems?: GalleriaPassThroughOptionType;
|
|
126
|
+
/**
|
|
127
|
+
* Uses to pass attributes to the thumbnail item's DOM element.
|
|
128
|
+
*/
|
|
129
|
+
thumbnailItem?: GalleriaPassThroughOptionType;
|
|
130
|
+
/**
|
|
131
|
+
* Uses to pass attributes to the thumbnail item content's DOM element.
|
|
132
|
+
*/
|
|
133
|
+
thumbnailItemContent?: GalleriaPassThroughOptionType;
|
|
134
|
+
/**
|
|
135
|
+
* Uses to pass attributes to the next thumbnail button's DOM element.
|
|
136
|
+
*/
|
|
137
|
+
nextThumbnailButton?: GalleriaPassThroughOptionType;
|
|
138
|
+
/**
|
|
139
|
+
* Uses to pass attributes to the next thumbnail icon's DOM element.
|
|
140
|
+
*/
|
|
141
|
+
nextThumbnailIcon?: GalleriaPassThroughOptionType;
|
|
142
|
+
/**
|
|
143
|
+
* Uses to pass attributes to the mask's DOM element.
|
|
144
|
+
*/
|
|
145
|
+
mask?: GalleriaPassThroughOptionType;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Custom passthrough attributes for each DOM elements
|
|
150
|
+
*/
|
|
151
|
+
export interface GalleriaPassThroughAttributes {
|
|
152
|
+
[key: string]: any;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Defines current inline state in Galleria component.
|
|
157
|
+
*/
|
|
158
|
+
export interface GalleriaState {
|
|
159
|
+
/**
|
|
160
|
+
* Current container visible state as a boolean.
|
|
161
|
+
* @defaultValue false
|
|
162
|
+
*/
|
|
163
|
+
containerVisible: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Style id of the component.
|
|
166
|
+
*/
|
|
167
|
+
id: string;
|
|
168
|
+
/**
|
|
169
|
+
* Index of the first item as a number.
|
|
170
|
+
* @defaultValue 0
|
|
171
|
+
*/
|
|
172
|
+
activeIndex: number;
|
|
173
|
+
/**
|
|
174
|
+
* Number of items per page as a number.
|
|
175
|
+
* @defaultValue 3
|
|
176
|
+
*/
|
|
177
|
+
numVisible: number;
|
|
178
|
+
/**
|
|
179
|
+
* Current slide active state as a boolean.
|
|
180
|
+
* @defaultValue false
|
|
181
|
+
*/
|
|
182
|
+
slideShowActive: boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Number of items per page as a number.
|
|
185
|
+
* @defaultValue 3
|
|
186
|
+
*/
|
|
187
|
+
d_numVisible: number;
|
|
188
|
+
/**
|
|
189
|
+
* Old number of items per page as a number.
|
|
190
|
+
* @defaultValue 3
|
|
191
|
+
*/
|
|
192
|
+
d_oldNumVisible: number;
|
|
193
|
+
/**
|
|
194
|
+
* Current active item index as a number.
|
|
195
|
+
* @defaultValue 0
|
|
196
|
+
*/
|
|
197
|
+
d_activeIndex: number;
|
|
198
|
+
/**
|
|
199
|
+
* The previous active item index as a number.
|
|
200
|
+
* @defaultValue 0
|
|
201
|
+
*/
|
|
202
|
+
d_oldActiveItemIndex: number;
|
|
203
|
+
/**
|
|
204
|
+
* Index of the first item.
|
|
205
|
+
* @defaultValue 0
|
|
206
|
+
*/
|
|
207
|
+
page: number;
|
|
208
|
+
/**
|
|
209
|
+
* Total shifted items' count as a number.
|
|
210
|
+
* @defaultValue 0
|
|
211
|
+
*/
|
|
212
|
+
totalShiftedItems: number;
|
|
213
|
+
}
|
|
214
|
+
|
|
24
215
|
/**
|
|
25
216
|
* Defines valid properties in Galleria component.
|
|
26
217
|
*/
|
|
@@ -152,6 +343,11 @@ export interface GalleriaProps {
|
|
|
152
343
|
* Uses to pass all properties of the HTMLButtonElement to the next navigation button.
|
|
153
344
|
*/
|
|
154
345
|
nextButtonProps?: ButtonHTMLAttributes | undefined;
|
|
346
|
+
/**
|
|
347
|
+
* Uses to pass attributes to DOM elements inside the component.
|
|
348
|
+
* @type {GalleriaPassThroughOptions}
|
|
349
|
+
*/
|
|
350
|
+
pt?: GalleriaPassThroughOptions;
|
|
155
351
|
}
|
|
156
352
|
/**
|
|
157
353
|
* Defines valid slots in Galleria slots.
|
package/galleria/Galleria.vue
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<Portal v-if="fullScreen">
|
|
3
|
-
<div v-if="containerVisible" :ref="maskRef" :class="maskContentClass" :role="fullScreen ? 'dialog' : 'region'" :aria-modal="fullScreen ? 'true' : undefined">
|
|
3
|
+
<div v-if="containerVisible" :ref="maskRef" :class="maskContentClass" :role="fullScreen ? 'dialog' : 'region'" :aria-modal="fullScreen ? 'true' : undefined" v-bind="ptm('mask')">
|
|
4
4
|
<transition name="p-galleria" @before-enter="onBeforeEnter" @enter="onEnter" @before-leave="onBeforeLeave" @after-leave="onAfterLeave" appear>
|
|
5
|
-
<GalleriaContent v-if="visible" :ref="containerRef" v-focustrap @mask-hide="maskHide" :templates="$slots" @activeitem-change="onActiveItemChange" v-bind="$props" />
|
|
5
|
+
<GalleriaContent v-if="visible" :ref="containerRef" v-focustrap @mask-hide="maskHide" :templates="$slots" @activeitem-change="onActiveItemChange" :pt="pt" v-bind="$props" />
|
|
6
6
|
</transition>
|
|
7
7
|
</div>
|
|
8
8
|
</Portal>
|
|
9
|
-
<GalleriaContent v-else :templates="$slots" @activeitem-change="onActiveItemChange" v-bind="$props" />
|
|
9
|
+
<GalleriaContent v-else :templates="$slots" @activeitem-change="onActiveItemChange" :pt="pt" v-bind="$props" />
|
|
10
10
|
</template>
|
|
11
11
|
|
|
12
12
|
<script>
|
|
13
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
13
14
|
import FocusTrap from 'primevue/focustrap';
|
|
14
15
|
import Portal from 'primevue/portal';
|
|
15
16
|
import { DomHandler, ZIndexUtils } from 'primevue/utils';
|
|
@@ -17,6 +18,7 @@ import GalleriaContent from './GalleriaContent.vue';
|
|
|
17
18
|
|
|
18
19
|
export default {
|
|
19
20
|
name: 'Galleria',
|
|
21
|
+
extends: BaseComponent,
|
|
20
22
|
inheritAttrs: false,
|
|
21
23
|
emits: ['update:activeIndex', 'update:visible'],
|
|
22
24
|
props: {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div v-if="$attrs.value && $attrs.value.length > 0" :id="id" :class="galleriaClass" :style="$attrs.containerStyle" v-bind="
|
|
3
|
-
<button v-if="$attrs.fullScreen" v-ripple autofocus type="button" class="p-galleria-close p-link" :aria-label="closeAriaLabel" @click="$emit('mask-hide')">
|
|
4
|
-
<component :is="$attrs.templates['closeicon'] || 'TimesIcon'" class="p-galleria-close-icon" />
|
|
2
|
+
<div v-if="$attrs.value && $attrs.value.length > 0" :id="id" :class="galleriaClass" :style="$attrs.containerStyle" v-bind="{ ...$attrs.containerProps, ...ptm('root') }">
|
|
3
|
+
<button v-if="$attrs.fullScreen" v-ripple autofocus type="button" class="p-galleria-close p-link" :aria-label="closeAriaLabel" @click="$emit('mask-hide')" v-bind="ptm('closeButton')">
|
|
4
|
+
<component :is="$attrs.templates['closeicon'] || 'TimesIcon'" class="p-galleria-close-icon" v-bind="ptm('closeIcon')" />
|
|
5
5
|
</button>
|
|
6
|
-
<div v-if="$attrs.templates && $attrs.templates['header']" class="p-galleria-header">
|
|
6
|
+
<div v-if="$attrs.templates && $attrs.templates['header']" class="p-galleria-header" v-bind="ptm('header')">
|
|
7
7
|
<component :is="$attrs.templates['header']" />
|
|
8
8
|
</div>
|
|
9
|
-
<div class="p-galleria-content" :aria-live="$attrs.autoPlay ? 'polite' : 'off'">
|
|
9
|
+
<div class="p-galleria-content" :aria-live="$attrs.autoPlay ? 'polite' : 'off'" v-bind="ptm('content')">
|
|
10
10
|
<GalleriaItem
|
|
11
11
|
:id="id"
|
|
12
12
|
v-model:activeIndex="activeIndex"
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
:autoPlay="$attrs.autoPlay"
|
|
21
21
|
@start-slideshow="startSlideShow"
|
|
22
22
|
@stop-slideshow="stopSlideShow"
|
|
23
|
+
:pt="pt"
|
|
23
24
|
/>
|
|
24
25
|
|
|
25
26
|
<GalleriaThumbnails
|
|
@@ -38,15 +39,17 @@
|
|
|
38
39
|
:prevButtonProps="$attrs.prevButtonProps"
|
|
39
40
|
:nextButtonProps="$attrs.nextButtonProps"
|
|
40
41
|
@stop-slideshow="stopSlideShow"
|
|
42
|
+
:pt="pt"
|
|
41
43
|
/>
|
|
42
44
|
</div>
|
|
43
|
-
<div v-if="$attrs.templates && $attrs.templates['footer']" class="p-galleria-footer">
|
|
45
|
+
<div v-if="$attrs.templates && $attrs.templates['footer']" class="p-galleria-footer" v-bind="ptm('footer')">
|
|
44
46
|
<component :is="$attrs.templates['footer']" />
|
|
45
47
|
</div>
|
|
46
48
|
</div>
|
|
47
49
|
</template>
|
|
48
50
|
|
|
49
51
|
<script>
|
|
52
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
50
53
|
import TimesIcon from 'primevue/icons/times';
|
|
51
54
|
import Ripple from 'primevue/ripple';
|
|
52
55
|
import { UniqueComponentId } from 'primevue/utils';
|
|
@@ -55,6 +58,7 @@ import GalleriaThumbnails from './GalleriaThumbnails.vue';
|
|
|
55
58
|
|
|
56
59
|
export default {
|
|
57
60
|
name: 'GalleriaContent',
|
|
61
|
+
extends: BaseComponent,
|
|
58
62
|
inheritAttrs: false,
|
|
59
63
|
interval: null,
|
|
60
64
|
emits: ['activeitem-change', 'mask-hide'],
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="p-galleria-item-wrapper">
|
|
3
|
-
<div class="p-galleria-item-container">
|
|
4
|
-
<button v-if="showItemNavigators" v-ripple type="button" :class="navBackwardClass" @click="navBackward($event)" :disabled="isNavBackwardDisabled()">
|
|
5
|
-
<component :is="templates.previousitemicon || 'ChevronLeftIcon'" class="p-galleria-item-prev-icon" />
|
|
2
|
+
<div class="p-galleria-item-wrapper" v-bind="ptm('itemWrapper')">
|
|
3
|
+
<div class="p-galleria-item-container" v-bind="ptm('itemContainer')">
|
|
4
|
+
<button v-if="showItemNavigators" v-ripple type="button" :class="navBackwardClass" @click="navBackward($event)" :disabled="isNavBackwardDisabled()" v-bind="ptm('previousItemButton')">
|
|
5
|
+
<component :is="templates.previousitemicon || 'ChevronLeftIcon'" class="p-galleria-item-prev-icon" v-bind="ptm('previousItemIcon')" />
|
|
6
6
|
</button>
|
|
7
|
-
<div :id="id + '_item_' + activeIndex" class="p-galleria-item" role="group" :aria-label="ariaSlideNumber(activeIndex + 1)" :aria-roledescription="ariaSlideLabel">
|
|
7
|
+
<div :id="id + '_item_' + activeIndex" class="p-galleria-item" role="group" :aria-label="ariaSlideNumber(activeIndex + 1)" :aria-roledescription="ariaSlideLabel" v-bind="ptm('item')">
|
|
8
8
|
<component v-if="templates.item" :is="templates.item" :item="activeItem" />
|
|
9
9
|
</div>
|
|
10
|
-
<button v-if="showItemNavigators" v-ripple type="button" :class="navForwardClass" @click="navForward($event)" :disabled="isNavForwardDisabled()">
|
|
11
|
-
<component :is="templates.nextitemicon || 'ChevronRightIcon'" class="p-galleria-item-next-icon" />
|
|
10
|
+
<button v-if="showItemNavigators" v-ripple type="button" :class="navForwardClass" @click="navForward($event)" :disabled="isNavForwardDisabled()" v-bind="ptm('nextItemButton')">
|
|
11
|
+
<component :is="templates.nextitemicon || 'ChevronRightIcon'" class="p-galleria-item-next-icon" v-bind="ptm('nextItemIcon')" />
|
|
12
12
|
</button>
|
|
13
|
-
<div v-if="templates['caption']" class="p-galleria-caption">
|
|
13
|
+
<div v-if="templates['caption']" class="p-galleria-caption" v-bind="ptm('caption')">
|
|
14
14
|
<component v-if="templates.caption" :is="templates.caption" :item="activeItem" />
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
17
|
-
<ul v-if="showIndicators" class="p-galleria-indicators p-reset">
|
|
17
|
+
<ul v-if="showIndicators" class="p-galleria-indicators p-reset" v-bind="ptm('indicators')">
|
|
18
18
|
<li
|
|
19
19
|
v-for="(item, index) of value"
|
|
20
20
|
:key="`p-galleria-indicator-${index}`"
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
@click="onIndicatorClick(index)"
|
|
27
27
|
@mouseenter="onIndicatorMouseEnter(index)"
|
|
28
28
|
@keydown="onIndicatorKeyDown($event, index)"
|
|
29
|
+
v-bind="ptm('indicator')"
|
|
29
30
|
>
|
|
30
31
|
<button v-if="!templates['indicator']" type="button" tabindex="-1" class="p-link"></button>
|
|
31
32
|
<component v-if="templates.indicator" :is="templates.indicator" :index="index" />
|
|
@@ -35,12 +36,14 @@
|
|
|
35
36
|
</template>
|
|
36
37
|
|
|
37
38
|
<script>
|
|
39
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
38
40
|
import ChevronLeftIcon from 'primevue/icons/chevronleft';
|
|
39
41
|
import ChevronRightIcon from 'primevue/icons/chevronright';
|
|
40
42
|
import Ripple from 'primevue/ripple';
|
|
41
43
|
|
|
42
44
|
export default {
|
|
43
45
|
name: 'GalleriaItem',
|
|
46
|
+
extends: BaseComponent,
|
|
44
47
|
emits: ['start-slideshow', 'stop-slideshow', 'update:activeIndex'],
|
|
45
48
|
props: {
|
|
46
49
|
circular: {
|
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="p-galleria-thumbnail-wrapper">
|
|
3
|
-
<div class="p-galleria-thumbnail-container">
|
|
4
|
-
<button
|
|
5
|
-
|
|
2
|
+
<div class="p-galleria-thumbnail-wrapper" v-bind="ptm('thumbnailWrapper')">
|
|
3
|
+
<div class="p-galleria-thumbnail-container" v-bind="ptm('thumbnailContainer')">
|
|
4
|
+
<button
|
|
5
|
+
v-if="showThumbnailNavigators"
|
|
6
|
+
v-ripple
|
|
7
|
+
:class="navBackwardClass"
|
|
8
|
+
:disabled="isNavBackwardDisabled()"
|
|
9
|
+
type="button"
|
|
10
|
+
:aria-label="ariaPrevButtonLabel"
|
|
11
|
+
@click="navBackward($event)"
|
|
12
|
+
v-bind="{ ...prevButtonProps, ...ptm('previousThumbnailButton') }"
|
|
13
|
+
>
|
|
14
|
+
<component :is="templates.previousthumbnailicon || (isVertical ? 'ChevronUpIcon' : 'ChevronLeftIcon')" class="p-galleria-thumbnail-prev-icon" v-bind="ptm('previousThumbnailIcon')" />
|
|
6
15
|
</button>
|
|
7
|
-
<div class="p-galleria-thumbnail-items-container" :style="{ height: isVertical ? contentHeight : '' }">
|
|
8
|
-
<div
|
|
16
|
+
<div class="p-galleria-thumbnail-items-container" :style="{ height: isVertical ? contentHeight : '' }" v-bind="ptm('thumbnailItemsContainer')">
|
|
17
|
+
<div
|
|
18
|
+
ref="itemsContainer"
|
|
19
|
+
class="p-galleria-thumbnail-items"
|
|
20
|
+
role="tablist"
|
|
21
|
+
@transitionend="onTransitionEnd"
|
|
22
|
+
@touchstart="onTouchStart($event)"
|
|
23
|
+
@touchmove="onTouchMove($event)"
|
|
24
|
+
@touchend="onTouchEnd($event)"
|
|
25
|
+
v-bind="ptm('thumbnailItems')"
|
|
26
|
+
>
|
|
9
27
|
<div
|
|
10
28
|
v-for="(item, index) of value"
|
|
11
29
|
:key="`p-galleria-thumbnail-item-${index}`"
|
|
@@ -22,21 +40,39 @@
|
|
|
22
40
|
:aria-selected="activeIndex === index"
|
|
23
41
|
:aria-controls="containerId + '_item_' + index"
|
|
24
42
|
@keydown="onThumbnailKeydown($event, index)"
|
|
43
|
+
v-bind="ptm('thumbnailItem')"
|
|
25
44
|
>
|
|
26
|
-
<div
|
|
45
|
+
<div
|
|
46
|
+
class="p-galleria-thumbnail-item-content"
|
|
47
|
+
:tabindex="activeIndex === index ? '0' : '-1'"
|
|
48
|
+
:aria-label="ariaPageLabel(index + 1)"
|
|
49
|
+
:aria-current="activeIndex === index ? 'page' : undefined"
|
|
50
|
+
@click="onItemClick(index)"
|
|
51
|
+
v-bind="ptm('thumbnailItemContent')"
|
|
52
|
+
>
|
|
27
53
|
<component v-if="templates.thumbnail" :is="templates.thumbnail" :item="item" />
|
|
28
54
|
</div>
|
|
29
55
|
</div>
|
|
30
56
|
</div>
|
|
31
57
|
</div>
|
|
32
|
-
<button
|
|
33
|
-
|
|
58
|
+
<button
|
|
59
|
+
v-if="showThumbnailNavigators"
|
|
60
|
+
v-ripple
|
|
61
|
+
:class="navForwardClass"
|
|
62
|
+
:disabled="isNavForwardDisabled()"
|
|
63
|
+
type="button"
|
|
64
|
+
:aria-label="ariaNextButtonLabel"
|
|
65
|
+
@click="navForward($event)"
|
|
66
|
+
v-bind="{ ...nextButtonProps, ...ptm('nextThumbnailButton') }"
|
|
67
|
+
>
|
|
68
|
+
<component :is="templates.nextthumbnailicon || (isVertical ? 'ChevronDownIcon' : 'ChevronRightIcon')" class="p-galleria-thumbnail-next-icon" v-bind="ptm('nextThumbnailIcon')" />
|
|
34
69
|
</button>
|
|
35
70
|
</div>
|
|
36
71
|
</div>
|
|
37
72
|
</template>
|
|
38
73
|
|
|
39
74
|
<script>
|
|
75
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
40
76
|
import ChevronDownIcon from 'primevue/icons/chevrondown';
|
|
41
77
|
import ChevronLeftIcon from 'primevue/icons/chevronleft';
|
|
42
78
|
import ChevronRightIcon from 'primevue/icons/chevronright';
|
|
@@ -46,6 +82,7 @@ import { DomHandler } from 'primevue/utils';
|
|
|
46
82
|
|
|
47
83
|
export default {
|
|
48
84
|
name: 'GalleriaThumbnails',
|
|
85
|
+
extends: BaseComponent,
|
|
49
86
|
emits: ['stop-slideshow', 'update:activeIndex'],
|
|
50
87
|
props: {
|
|
51
88
|
containerId: {
|