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
package/listbox/listbox.cjs.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var api = require('primevue/api');
|
|
4
|
+
var BaseComponent = require('primevue/basecomponent');
|
|
4
5
|
var SearchIcon = require('primevue/icons/search');
|
|
5
6
|
var Ripple = require('primevue/ripple');
|
|
6
7
|
var utils = require('primevue/utils');
|
|
@@ -9,12 +10,14 @@ var vue = require('vue');
|
|
|
9
10
|
|
|
10
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
12
|
|
|
13
|
+
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
12
14
|
var SearchIcon__default = /*#__PURE__*/_interopDefaultLegacy(SearchIcon);
|
|
13
15
|
var Ripple__default = /*#__PURE__*/_interopDefaultLegacy(Ripple);
|
|
14
16
|
var VirtualScroller__default = /*#__PURE__*/_interopDefaultLegacy(VirtualScroller);
|
|
15
17
|
|
|
16
18
|
var script = {
|
|
17
19
|
name: 'Listbox',
|
|
20
|
+
extends: BaseComponent__default["default"],
|
|
18
21
|
emits: ['update:modelValue', 'change', 'focus', 'blur', 'filter'],
|
|
19
22
|
props: {
|
|
20
23
|
modelValue: null,
|
|
@@ -131,6 +134,15 @@ var script = {
|
|
|
131
134
|
getOptionRenderKey(option, index) {
|
|
132
135
|
return (this.dataKey ? utils.ObjectUtils.resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;
|
|
133
136
|
},
|
|
137
|
+
getPTOptions(option, itemOptions, index, key) {
|
|
138
|
+
return this.ptm(key, {
|
|
139
|
+
context: {
|
|
140
|
+
selected: this.isSelected(option),
|
|
141
|
+
focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions),
|
|
142
|
+
disabled: this.isOptionDisabled(option)
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
},
|
|
134
146
|
isOptionDisabled(option) {
|
|
135
147
|
return this.optionDisabled ? utils.ObjectUtils.resolveFieldData(option, this.optionDisabled) : false;
|
|
136
148
|
},
|
|
@@ -671,67 +683,39 @@ var script = {
|
|
|
671
683
|
|
|
672
684
|
const _hoisted_1 = ["id"];
|
|
673
685
|
const _hoisted_2 = ["tabindex"];
|
|
674
|
-
const _hoisted_3 =
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
const
|
|
679
|
-
const _hoisted_5 = ["placeholder", "aria-owns", "aria-activedescendant", "tabindex"];
|
|
680
|
-
const _hoisted_6 = {
|
|
681
|
-
role: "status",
|
|
682
|
-
"aria-live": "polite",
|
|
683
|
-
class: "p-hidden-accessible"
|
|
684
|
-
};
|
|
685
|
-
const _hoisted_7 = ["id", "aria-multiselectable", "aria-label", "aria-labelledby", "aria-activedescendant", "aria-disabled"];
|
|
686
|
-
const _hoisted_8 = ["id"];
|
|
687
|
-
const _hoisted_9 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousedown", "onMousemove"];
|
|
688
|
-
const _hoisted_10 = {
|
|
689
|
-
key: 0,
|
|
690
|
-
class: "p-listbox-empty-message",
|
|
691
|
-
role: "option"
|
|
692
|
-
};
|
|
693
|
-
const _hoisted_11 = {
|
|
694
|
-
key: 1,
|
|
695
|
-
class: "p-listbox-empty-message",
|
|
696
|
-
role: "option"
|
|
697
|
-
};
|
|
698
|
-
const _hoisted_12 = {
|
|
699
|
-
key: 1,
|
|
700
|
-
role: "status",
|
|
701
|
-
"aria-live": "polite",
|
|
702
|
-
class: "p-hidden-accessible"
|
|
703
|
-
};
|
|
704
|
-
const _hoisted_13 = {
|
|
705
|
-
role: "status",
|
|
706
|
-
"aria-live": "polite",
|
|
707
|
-
class: "p-hidden-accessible"
|
|
708
|
-
};
|
|
709
|
-
const _hoisted_14 = ["tabindex"];
|
|
686
|
+
const _hoisted_3 = ["placeholder", "aria-owns", "aria-activedescendant", "tabindex"];
|
|
687
|
+
const _hoisted_4 = ["id", "aria-multiselectable", "aria-label", "aria-labelledby", "aria-activedescendant", "aria-disabled"];
|
|
688
|
+
const _hoisted_5 = ["id"];
|
|
689
|
+
const _hoisted_6 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousedown", "onMousemove"];
|
|
690
|
+
const _hoisted_7 = ["tabindex"];
|
|
710
691
|
|
|
711
692
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
712
693
|
const _component_VirtualScroller = vue.resolveComponent("VirtualScroller");
|
|
713
694
|
const _directive_ripple = vue.resolveDirective("ripple");
|
|
714
695
|
|
|
715
|
-
return (vue.openBlock(), vue.createElementBlock("div", {
|
|
696
|
+
return (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
716
697
|
id: $data.id,
|
|
717
|
-
class:
|
|
698
|
+
class: $options.containerClass,
|
|
718
699
|
onFocusout: _cache[10] || (_cache[10] = (...args) => ($options.onFocusout && $options.onFocusout(...args)))
|
|
719
|
-
}, [
|
|
720
|
-
vue.createElementVNode("span", {
|
|
700
|
+
}, _ctx.ptm('root')), [
|
|
701
|
+
vue.createElementVNode("span", vue.mergeProps({
|
|
721
702
|
ref: "firstHiddenFocusableElement",
|
|
722
703
|
role: "presentation",
|
|
723
704
|
"aria-hidden": "true",
|
|
724
705
|
class: "p-hidden-accessible p-hidden-focusable",
|
|
725
706
|
tabindex: !$props.disabled ? $props.tabindex : -1,
|
|
726
707
|
onFocus: _cache[0] || (_cache[0] = (...args) => ($options.onFirstHiddenFocus && $options.onFirstHiddenFocus(...args)))
|
|
727
|
-
}, null,
|
|
708
|
+
}, _ctx.ptm('hiddenFirstFocusableEl')), null, 16, _hoisted_2),
|
|
728
709
|
vue.renderSlot(_ctx.$slots, "header", {
|
|
729
710
|
value: $props.modelValue,
|
|
730
711
|
options: $options.visibleOptions
|
|
731
712
|
}),
|
|
732
713
|
($props.filter)
|
|
733
|
-
? (vue.openBlock(), vue.createElementBlock("div",
|
|
734
|
-
|
|
714
|
+
? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
715
|
+
key: 0,
|
|
716
|
+
class: "p-listbox-header"
|
|
717
|
+
}, _ctx.ptm('header')), [
|
|
718
|
+
vue.createElementVNode("div", vue.mergeProps({ class: "p-listbox-filter-container" }, _ctx.ptm('filterContainer')), [
|
|
735
719
|
vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
|
|
736
720
|
ref: "filterInput",
|
|
737
721
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (($data.filterValue) = $event)),
|
|
@@ -746,35 +730,39 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
746
730
|
onInput: _cache[2] || (_cache[2] = (...args) => ($options.onFilterChange && $options.onFilterChange(...args))),
|
|
747
731
|
onBlur: _cache[3] || (_cache[3] = (...args) => ($options.onFilterBlur && $options.onFilterBlur(...args))),
|
|
748
732
|
onKeydown: _cache[4] || (_cache[4] = (...args) => ($options.onFilterKeyDown && $options.onFilterKeyDown(...args)))
|
|
749
|
-
},
|
|
733
|
+
}, { ...$props.filterInputProps, ..._ctx.ptm('filterInput') }), null, 16, _hoisted_3), [
|
|
750
734
|
[vue.vModelText, $data.filterValue]
|
|
751
735
|
]),
|
|
752
736
|
vue.renderSlot(_ctx.$slots, "filtericon", {}, () => [
|
|
753
|
-
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.filterIcon ? 'span' : 'SearchIcon'), {
|
|
754
|
-
class:
|
|
755
|
-
}, null,
|
|
737
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.filterIcon ? 'span' : 'SearchIcon'), vue.mergeProps({
|
|
738
|
+
class: ['p-listbox-filter-icon', $props.filterIcon]
|
|
739
|
+
}, _ctx.ptm('filterIcon')), null, 16, ["class"]))
|
|
756
740
|
])
|
|
757
|
-
]),
|
|
758
|
-
vue.createElementVNode("span",
|
|
759
|
-
|
|
741
|
+
], 16),
|
|
742
|
+
vue.createElementVNode("span", vue.mergeProps({
|
|
743
|
+
role: "status",
|
|
744
|
+
"aria-live": "polite",
|
|
745
|
+
class: "p-hidden-accessible"
|
|
746
|
+
}, _ctx.ptm('hiddenFilterResult')), vue.toDisplayString($options.filterResultMessageText), 17)
|
|
747
|
+
], 16))
|
|
760
748
|
: vue.createCommentVNode("", true),
|
|
761
|
-
vue.createElementVNode("div", {
|
|
749
|
+
vue.createElementVNode("div", vue.mergeProps({
|
|
762
750
|
ref: "listWrapper",
|
|
763
751
|
class: "p-listbox-list-wrapper",
|
|
764
|
-
style:
|
|
765
|
-
}, [
|
|
766
|
-
vue.createVNode(_component_VirtualScroller, vue.mergeProps({ ref: $options.virtualScrollerRef },
|
|
752
|
+
style: $props.listStyle
|
|
753
|
+
}, _ctx.ptm('wrapper')), [
|
|
754
|
+
vue.createVNode(_component_VirtualScroller, vue.mergeProps({ ref: $options.virtualScrollerRef }, { ...$props.virtualScrollerOptions, ..._ctx.ptm('virtualScroller') }, {
|
|
767
755
|
style: $props.listStyle,
|
|
768
756
|
items: $options.visibleOptions,
|
|
769
757
|
tabindex: -1,
|
|
770
758
|
disabled: $options.virtualScrollerDisabled
|
|
771
759
|
}), vue.createSlots({
|
|
772
760
|
content: vue.withCtx(({ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }) => [
|
|
773
|
-
vue.createElementVNode("ul", {
|
|
761
|
+
vue.createElementVNode("ul", vue.mergeProps({
|
|
774
762
|
ref: (el) => $options.listRef(el, contentRef),
|
|
775
763
|
id: $data.id + '_list',
|
|
776
|
-
class:
|
|
777
|
-
style:
|
|
764
|
+
class: ['p-listbox-list', styleClass],
|
|
765
|
+
style: contentStyle,
|
|
778
766
|
tabindex: -1,
|
|
779
767
|
role: "listbox",
|
|
780
768
|
"aria-multiselectable": $props.multiple,
|
|
@@ -785,31 +773,31 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
785
773
|
onFocus: _cache[6] || (_cache[6] = (...args) => ($options.onListFocus && $options.onListFocus(...args))),
|
|
786
774
|
onBlur: _cache[7] || (_cache[7] = (...args) => ($options.onListBlur && $options.onListBlur(...args))),
|
|
787
775
|
onKeydown: _cache[8] || (_cache[8] = (...args) => ($options.onListKeyDown && $options.onListKeyDown(...args)))
|
|
788
|
-
}, [
|
|
776
|
+
}, _ctx.ptm('list')), [
|
|
789
777
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items, (option, i) => {
|
|
790
778
|
return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
791
779
|
key: $options.getOptionRenderKey(option, $options.getOptionIndex(i, getItemOptions))
|
|
792
780
|
}, [
|
|
793
781
|
($options.isOptionGroup(option))
|
|
794
|
-
? (vue.openBlock(), vue.createElementBlock("li", {
|
|
782
|
+
? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
|
|
795
783
|
key: 0,
|
|
796
784
|
id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),
|
|
797
|
-
style:
|
|
785
|
+
style: { height: itemSize ? itemSize + 'px' : undefined },
|
|
798
786
|
class: "p-listbox-item-group",
|
|
799
787
|
role: "option"
|
|
800
|
-
}, [
|
|
788
|
+
}, _ctx.ptm('itemGroup')), [
|
|
801
789
|
vue.renderSlot(_ctx.$slots, "optiongroup", {
|
|
802
790
|
option: option.optionGroup,
|
|
803
791
|
index: $options.getOptionIndex(i, getItemOptions)
|
|
804
792
|
}, () => [
|
|
805
793
|
vue.createTextVNode(vue.toDisplayString($options.getOptionGroupLabel(option.optionGroup)), 1)
|
|
806
794
|
])
|
|
807
|
-
],
|
|
808
|
-
: vue.withDirectives((vue.openBlock(), vue.createElementBlock("li", {
|
|
795
|
+
], 16, _hoisted_5))
|
|
796
|
+
: vue.withDirectives((vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
|
|
809
797
|
key: 1,
|
|
810
798
|
id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),
|
|
811
|
-
style:
|
|
812
|
-
class:
|
|
799
|
+
style: { height: itemSize ? itemSize + 'px' : undefined },
|
|
800
|
+
class: ['p-listbox-item', { 'p-highlight': $options.isSelected(option), 'p-focus': $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions), 'p-disabled': $options.isOptionDisabled(option) }],
|
|
813
801
|
role: "option",
|
|
814
802
|
"aria-label": $options.getOptionLabel(option),
|
|
815
803
|
"aria-selected": $options.isSelected(option),
|
|
@@ -820,32 +808,40 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
820
808
|
onMousedown: $event => ($options.onOptionMouseDown($event, $options.getOptionIndex(i, getItemOptions))),
|
|
821
809
|
onMousemove: $event => ($options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions))),
|
|
822
810
|
onTouchend: _cache[5] || (_cache[5] = $event => ($options.onOptionTouchEnd()))
|
|
823
|
-
}, [
|
|
811
|
+
}, $options.getPTOptions(option, getItemOptions, i, 'item')), [
|
|
824
812
|
vue.renderSlot(_ctx.$slots, "option", {
|
|
825
813
|
option: option,
|
|
826
814
|
index: $options.getOptionIndex(i, getItemOptions)
|
|
827
815
|
}, () => [
|
|
828
816
|
vue.createTextVNode(vue.toDisplayString($options.getOptionLabel(option)), 1)
|
|
829
817
|
])
|
|
830
|
-
],
|
|
818
|
+
], 16, _hoisted_6)), [
|
|
831
819
|
[_directive_ripple]
|
|
832
820
|
])
|
|
833
821
|
], 64))
|
|
834
822
|
}), 128)),
|
|
835
823
|
($data.filterValue && (!items || (items && items.length === 0)))
|
|
836
|
-
? (vue.openBlock(), vue.createElementBlock("li",
|
|
824
|
+
? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
|
|
825
|
+
key: 0,
|
|
826
|
+
class: "p-listbox-empty-message",
|
|
827
|
+
role: "option"
|
|
828
|
+
}, _ctx.ptm('emptyMessage')), [
|
|
837
829
|
vue.renderSlot(_ctx.$slots, "emptyfilter", {}, () => [
|
|
838
830
|
vue.createTextVNode(vue.toDisplayString($options.emptyFilterMessageText), 1)
|
|
839
831
|
])
|
|
840
|
-
]))
|
|
832
|
+
], 16))
|
|
841
833
|
: (!$props.options || ($props.options && $props.options.length === 0))
|
|
842
|
-
? (vue.openBlock(), vue.createElementBlock("li",
|
|
834
|
+
? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
|
|
835
|
+
key: 1,
|
|
836
|
+
class: "p-listbox-empty-message",
|
|
837
|
+
role: "option"
|
|
838
|
+
}, _ctx.ptm('emptyMessage')), [
|
|
843
839
|
vue.renderSlot(_ctx.$slots, "empty", {}, () => [
|
|
844
840
|
vue.createTextVNode(vue.toDisplayString($options.emptyMessageText), 1)
|
|
845
841
|
])
|
|
846
|
-
]))
|
|
842
|
+
], 16))
|
|
847
843
|
: vue.createCommentVNode("", true)
|
|
848
|
-
],
|
|
844
|
+
], 16, _hoisted_4)
|
|
849
845
|
]),
|
|
850
846
|
_: 2
|
|
851
847
|
}, [
|
|
@@ -859,24 +855,33 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
859
855
|
}
|
|
860
856
|
: undefined
|
|
861
857
|
]), 1040, ["style", "items", "disabled"])
|
|
862
|
-
],
|
|
858
|
+
], 16),
|
|
863
859
|
vue.renderSlot(_ctx.$slots, "footer", {
|
|
864
860
|
value: $props.modelValue,
|
|
865
861
|
options: $options.visibleOptions
|
|
866
862
|
}),
|
|
867
863
|
(!$props.options || ($props.options && $props.options.length === 0))
|
|
868
|
-
? (vue.openBlock(), vue.createElementBlock("span",
|
|
864
|
+
? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
|
|
865
|
+
key: 1,
|
|
866
|
+
role: "status",
|
|
867
|
+
"aria-live": "polite",
|
|
868
|
+
class: "p-hidden-accessible"
|
|
869
|
+
}, _ctx.ptm('emptyMessage')), vue.toDisplayString($options.emptyMessageText), 17))
|
|
869
870
|
: vue.createCommentVNode("", true),
|
|
870
|
-
vue.createElementVNode("span",
|
|
871
|
-
|
|
871
|
+
vue.createElementVNode("span", vue.mergeProps({
|
|
872
|
+
role: "status",
|
|
873
|
+
"aria-live": "polite",
|
|
874
|
+
class: "p-hidden-accessible"
|
|
875
|
+
}, _ctx.ptm('hiddenSelectedMessage')), vue.toDisplayString($options.selectedMessageText), 17),
|
|
876
|
+
vue.createElementVNode("span", vue.mergeProps({
|
|
872
877
|
ref: "lastHiddenFocusableElement",
|
|
873
878
|
role: "presentation",
|
|
874
879
|
"aria-hidden": "true",
|
|
875
880
|
class: "p-hidden-accessible p-hidden-focusable",
|
|
876
881
|
tabindex: !$props.disabled ? $props.tabindex : -1,
|
|
877
882
|
onFocus: _cache[9] || (_cache[9] = (...args) => ($options.onLastHiddenFocus && $options.onLastHiddenFocus(...args)))
|
|
878
|
-
}, null,
|
|
879
|
-
],
|
|
883
|
+
}, _ctx.ptm('hiddenLastFocusableEl')), null, 16, _hoisted_7)
|
|
884
|
+
], 16, _hoisted_1))
|
|
880
885
|
}
|
|
881
886
|
|
|
882
887
|
function styleInject(css, ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("primevue/api"),t=require("primevue/icons/search"),i=require("primevue/ripple"),s=require("primevue/utils"),n=require("primevue/virtualscroller"),o=require("vue");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=l(t),r=l(i),d=l(n),p={name:"Listbox",emits:["update:modelValue","change","focus","blur","filter"],props:{modelValue:null,options:Array,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,listStyle:null,disabled:Boolean,dataKey:null,multiple:Boolean,metaKeySelection:Boolean,filter:Boolean,filterPlaceholder:String,filterLocale:String,filterMatchMode:{type:String,default:"contains"},filterFields:{type:Array,default:null},filterInputProps:null,virtualScrollerOptions:{type:Object,default:null},autoOptionFocus:{type:Boolean,default:!0},selectOnFocus:{type:Boolean,default:!1},filterMessage:{type:String,default:null},selectionMessage:{type:String,default:null},emptySelectionMessage:{type:String,default:null},emptyFilterMessage:{type:String,default:null},emptyMessage:{type:String,default:null},filterIcon:{type:String,default:void 0},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},list:null,virtualScroller:null,optionTouched:!1,startRangeIndex:-1,searchTimeout:null,searchValue:"",focusOnHover:!1,data(){return{id:this.$attrs.id,filterValue:null,focused:!1,focusedOptionIndex:-1}},watch:{"$attrs.id":function(e){this.id=e||s.UniqueComponentId()},options(){this.autoUpdateModel()}},mounted(){this.id=this.id||s.UniqueComponentId(),this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?s.ObjectUtils.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?s.ObjectUtils.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?s.ObjectUtils.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},isOptionDisabled(e){return!!this.optionDisabled&&s.ObjectUtils.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return s.ObjectUtils.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return s.ObjectUtils.resolveFieldData(e,this.optionGroupChildren)},getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions.slice(0,e).filter((e=>this.isOptionGroup(e))).length:e)+1},onFirstHiddenFocus(){s.DomHandler.focus(this.list);const e=s.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=s.ObjectUtils.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=s.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");s.DomHandler.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else s.DomHandler.focus(this.$refs.firstHiddenFocusableElement);this.$refs.lastHiddenFocusableElement.tabIndex=-1},onFocusout(e){!this.$el.contains(e.relatedTarget)&&this.$refs.lastHiddenFocusableElement&&this.$refs.firstHiddenFocusableElement&&(this.$refs.lastHiddenFocusableElement.tabIndex=this.$refs.firstHiddenFocusableElement.tabIndex=void 0)},onListFocus(e){this.focused=!0,this.focusedOptionIndex=-1!==this.focusedOptionIndex?this.focusedOptionIndex:this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1,this.$emit("focus",e)},onListBlur(e){this.focused=!1,this.focusedOptionIndex=this.startRangeIndex=-1,this.searchValue="",this.$emit("blur",e)},onListKeyDown(e){const t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onSpaceKey(e);break;case"Tab":break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e);break;default:if(this.multiple&&"KeyA"===e.code&&t){const t=this.visibleOptions.filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,t),e.preventDefault();break}!t&&s.ObjectUtils.isPrintableCharacter(e.key)&&(this.searchOptions(e,e.key),e.preventDefault())}},onOptionSelect(e,t,i=-1){this.disabled||this.isOptionDisabled(t)||(this.multiple?this.onOptionSelectMultiple(e,t):this.onOptionSelectSingle(e,t),this.optionTouched=!1,-1!==i&&(this.focusedOptionIndex=i))},onOptionMouseDown(e,t){this.changeFocusedOptionIndex(e,t)},onOptionMouseMove(e,t){this.focusOnHover&&this.changeFocusedOptionIndex(e,t)},onOptionTouchEnd(){this.disabled||(this.optionTouched=!0)},onOptionSelectSingle(e,t){let i=this.isSelected(t),s=!1,n=null;if(!this.optionTouched&&this.metaKeySelection){let o=e.metaKey||e.ctrlKey;i?o&&(n=null,s=!0):(n=this.getOptionValue(t),s=!0)}else n=i?null:this.getOptionValue(t),s=!0;s&&this.updateModel(e,n)},onOptionSelectMultiple(e,t){let i=this.isSelected(t),s=null;if(!this.optionTouched&&this.metaKeySelection){let n=e.metaKey||e.ctrlKey;i?s=n?this.removeOption(t):[this.getOptionValue(t)]:(s=n&&this.modelValue||[],s=[...s,this.getOptionValue(t)])}else s=i?this.removeOption(t):[...this.modelValue||[],this.getOptionValue(t)];this.updateModel(e,s)},onOptionSelectRange(e,t=-1,i=-1){if(-1===t&&(t=this.findNearestSelectedOptionIndex(i,!0)),-1===i&&(i=this.findNearestSelectedOptionIndex(t)),-1!==t&&-1!==i){const s=Math.min(t,i),n=Math.max(t,i),o=this.visibleOptions.slice(s,n+1).filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,o)}},onFilterChange(e){this.$emit("filter",{originalEvent:e,value:e.target.value}),this.focusedOptionIndex=this.startRangeIndex=-1},onFilterBlur(){this.focusedOptionIndex=this.startRangeIndex=-1},onFilterKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,!0);break;case"Home":this.onHomeKey(e,!0);break;case"End":this.onEndKey(e,!0);break;case"Enter":this.onEnterKey(e);break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e)}},onArrowDownKey(e){const t=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.findFirstFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,this.startRangeIndex,t),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowUpKey(e){const t=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.findLastFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,t,this.startRangeIndex),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowLeftKey(e,t=!1){t&&(this.focusedOptionIndex=-1)},onHomeKey(e,t=!1){if(t)e.currentTarget.setSelectionRange(0,0),this.focusedOptionIndex=-1;else{let t=e.metaKey||e.ctrlKey,i=this.findFirstOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,i,this.startRangeIndex),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onEndKey(e,t=!1){if(t){const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i),this.focusedOptionIndex=-1}else{let t=e.metaKey||e.ctrlKey,i=this.findLastOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,this.startRangeIndex,i),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onPageUpKey(e){this.scrollInView(0),e.preventDefault()},onPageDownKey(e){this.scrollInView(this.visibleOptions.length-1),e.preventDefault()},onEnterKey(e){-1!==this.focusedOptionIndex&&(this.multiple&&e.shiftKey?this.onOptionSelectRange(e,this.focusedOptionIndex):this.onOptionSelect(e,this.visibleOptions[this.focusedOptionIndex])),e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onShiftKey(){this.startRangeIndex=this.focusedOptionIndex},isOptionMatched(e){return this.isValidOption(e)&&this.getOptionLabel(e).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))},isValidOption(e){return e&&!(this.isOptionDisabled(e)||this.isOptionGroup(e))},isValidSelectedOption(e){return this.isValidOption(e)&&this.isSelected(e)},isSelected(e){const t=this.getOptionValue(e);return this.multiple?(this.modelValue||[]).some((e=>s.ObjectUtils.equals(e,t,this.equalityKey))):s.ObjectUtils.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return s.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidOption(e)))},findNextOptionIndex(e){const t=e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidOption(e))):-1;return t>-1?t+e+1:e},findPrevOptionIndex(e){const t=e>0?s.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidOption(e))):-1;return t>-1?t:e},findFirstSelectedOptionIndex(){return this.hasSelectedOption?this.visibleOptions.findIndex((e=>this.isValidSelectedOption(e))):-1},findLastSelectedOptionIndex(){return this.hasSelectedOption?s.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidSelectedOption(e))):-1},findNextSelectedOptionIndex(e){const t=this.hasSelectedOption&&e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidSelectedOption(e))):-1;return t>-1?t+e+1:-1},findPrevSelectedOptionIndex(e){const t=this.hasSelectedOption&&e>0?s.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidSelectedOption(e))):-1;return t>-1?t:-1},findNearestSelectedOptionIndex(e,t=!1){let i=-1;return this.hasSelectedOption&&(t?(i=this.findPrevSelectedOptionIndex(e),i=-1===i?this.findNextSelectedOptionIndex(e):i):(i=this.findNextSelectedOptionIndex(e),i=-1===i?this.findPrevSelectedOptionIndex(e):i)),i>-1?i:e},findFirstFocusedOptionIndex(){const e=this.findFirstSelectedOptionIndex();return e<0?this.findFirstOptionIndex():e},findLastFocusedOptionIndex(){const e=this.findLastSelectedOptionIndex();return e<0?this.findLastOptionIndex():e},searchOptions(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1;-1!==this.focusedOptionIndex?(i=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))),i=-1===i?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))):i+this.focusedOptionIndex):i=this.visibleOptions.findIndex((e=>this.isOptionMatched(e))),-1===i&&-1===this.focusedOptionIndex&&(i=this.findFirstFocusedOptionIndex()),-1!==i&&this.changeFocusedOptionIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500)},removeOption(e){return this.modelValue.filter((t=>!s.ObjectUtils.equals(t,this.getOptionValue(e),this.equalityKey)))},changeFocusedOptionIndex(e,t){this.focusedOptionIndex!==t&&(this.focusedOptionIndex=t,this.scrollInView(),this.selectOnFocus&&!this.multiple&&this.onOptionSelect(e,this.visibleOptions[t]))},scrollInView(e=-1){const t=-1!==e?`${this.id}_${e}`:this.focusedOptionId,i=s.DomHandler.findSingle(this.list,`li[id="${t}"]`);i?i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||this.virtualScroller&&this.virtualScroller.scrollToIndex(-1!==e?e:this.focusedOptionIndex)},autoUpdateModel(){this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption&&!this.multiple&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex]))},updateModel(e,t){this.$emit("update:modelValue",t),this.$emit("change",{originalEvent:e,value:t})},flatOptions(e){return(e||[]).reduce(((e,t,i)=>{e.push({optionGroup:t,group:!0,index:i});const s=this.getOptionGroupChildren(t);return s&&s.forEach((t=>e.push(t))),e}),[])},listRef(e,t){this.list=e,t&&t(e)},virtualScrollerRef(e){this.virtualScroller=e}},computed:{containerClass(){return["p-listbox p-component",{"p-focus":this.focused,"p-disabled":this.disabled}]},visibleOptions(){const t=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];return this.filterValue?e.FilterService.filter(t,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):t},hasSelectedOption(){return s.ObjectUtils.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return s.ObjectUtils.isNotEmpty(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText(){return this.hasSelectedOption?this.selectionMessageText.replaceAll("{0}",this.multiple?this.modelValue.length:"1"):this.emptySelectionMessageText},focusedOptionId(){return-1!==this.focusedOptionIndex?`${this.id}_${this.focusedOptionIndex}`:null},ariaSetSize(){return this.visibleOptions.filter((e=>!this.isOptionGroup(e))).length},virtualScrollerDisabled(){return!this.virtualScrollerOptions}},directives:{ripple:r.default},components:{VirtualScroller:d.default,SearchIcon:a.default}};const c=["id"],u=["tabindex"],h={key:0,class:"p-listbox-header"},f={class:"p-listbox-filter-container"},O=["placeholder","aria-owns","aria-activedescendant","tabindex"],m={role:"status","aria-live":"polite",class:"p-hidden-accessible"},b=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],x=["id"],g=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],y={key:0,class:"p-listbox-empty-message",role:"option"},I={key:1,class:"p-listbox-empty-message",role:"option"},S={key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},v={role:"status","aria-live":"polite",class:"p-hidden-accessible"},F=["tabindex"];!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-listbox-list-wrapper {\n overflow: auto;\n}\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n}\n.p-listbox-item-group {\n cursor: auto;\n}\n.p-listbox-filter-container {\n position: relative;\n}\n.p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-listbox-filter {\n width: 100%;\n}\n"),p.render=function(e,t,i,s,n,l){const a=o.resolveComponent("VirtualScroller"),r=o.resolveDirective("ripple");return o.openBlock(),o.createElementBlock("div",{id:n.id,class:o.normalizeClass(l.containerClass),onFocusout:t[10]||(t[10]=(...e)=>l.onFocusout&&l.onFocusout(...e))},[o.createElementVNode("span",{ref:"firstHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[0]||(t[0]=(...e)=>l.onFirstHiddenFocus&&l.onFirstHiddenFocus(...e))},null,40,u),o.renderSlot(e.$slots,"header",{value:i.modelValue,options:l.visibleOptions}),i.filter?(o.openBlock(),o.createElementBlock("div",h,[o.createElementVNode("div",f,[o.withDirectives(o.createElementVNode("input",o.mergeProps({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>n.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":n.id+"_list","aria-activedescendant":l.focusedOptionId,tabindex:i.disabled||n.focused?-1:i.tabindex,onInput:t[2]||(t[2]=(...e)=>l.onFilterChange&&l.onFilterChange(...e)),onBlur:t[3]||(t[3]=(...e)=>l.onFilterBlur&&l.onFilterBlur(...e)),onKeydown:t[4]||(t[4]=(...e)=>l.onFilterKeyDown&&l.onFilterKeyDown(...e))},i.filterInputProps),null,16,O),[[o.vModelText,n.filterValue]]),o.renderSlot(e.$slots,"filtericon",{},(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(i.filterIcon?"span":"SearchIcon"),{class:o.normalizeClass(["p-listbox-filter-icon",i.filterIcon])},null,8,["class"]))]))]),o.createElementVNode("span",m,o.toDisplayString(l.filterResultMessageText),1)])):o.createCommentVNode("",!0),o.createElementVNode("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:o.normalizeStyle(i.listStyle)},[o.createVNode(a,o.mergeProps({ref:l.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:l.visibleOptions,tabindex:-1,disabled:l.virtualScrollerDisabled}),o.createSlots({content:o.withCtx((({styleClass:s,contentRef:a,items:d,getItemOptions:p,contentStyle:c,itemSize:u})=>[o.createElementVNode("ul",{ref:e=>l.listRef(e,a),id:n.id+"_list",class:o.normalizeClass(["p-listbox-list",s]),style:o.normalizeStyle(c),tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":n.focused?l.focusedOptionId:void 0,"aria-disabled":i.disabled,onFocus:t[6]||(t[6]=(...e)=>l.onListFocus&&l.onListFocus(...e)),onBlur:t[7]||(t[7]=(...e)=>l.onListBlur&&l.onListBlur(...e)),onKeydown:t[8]||(t[8]=(...e)=>l.onListKeyDown&&l.onListKeyDown(...e))},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(d,((i,s)=>(o.openBlock(),o.createElementBlock(o.Fragment,{key:l.getOptionRenderKey(i,l.getOptionIndex(s,p))},[l.isOptionGroup(i)?(o.openBlock(),o.createElementBlock("li",{key:0,id:n.id+"_"+l.getOptionIndex(s,p),style:o.normalizeStyle({height:u?u+"px":void 0}),class:"p-listbox-item-group",role:"option"},[o.renderSlot(e.$slots,"optiongroup",{option:i.optionGroup,index:l.getOptionIndex(s,p)},(()=>[o.createTextVNode(o.toDisplayString(l.getOptionGroupLabel(i.optionGroup)),1)]))],12,x)):o.withDirectives((o.openBlock(),o.createElementBlock("li",{key:1,id:n.id+"_"+l.getOptionIndex(s,p),style:o.normalizeStyle({height:u?u+"px":void 0}),class:o.normalizeClass(["p-listbox-item",{"p-highlight":l.isSelected(i),"p-focus":n.focusedOptionIndex===l.getOptionIndex(s,p),"p-disabled":l.isOptionDisabled(i)}]),role:"option","aria-label":l.getOptionLabel(i),"aria-selected":l.isSelected(i),"aria-disabled":l.isOptionDisabled(i),"aria-setsize":l.ariaSetSize,"aria-posinset":l.getAriaPosInset(l.getOptionIndex(s,p)),onClick:e=>l.onOptionSelect(e,i,l.getOptionIndex(s,p)),onMousedown:e=>l.onOptionMouseDown(e,l.getOptionIndex(s,p)),onMousemove:e=>l.onOptionMouseMove(e,l.getOptionIndex(s,p)),onTouchend:t[5]||(t[5]=e=>l.onOptionTouchEnd())},[o.renderSlot(e.$slots,"option",{option:i,index:l.getOptionIndex(s,p)},(()=>[o.createTextVNode(o.toDisplayString(l.getOptionLabel(i)),1)]))],46,g)),[[r]])],64)))),128)),n.filterValue&&(!d||d&&0===d.length)?(o.openBlock(),o.createElementBlock("li",y,[o.renderSlot(e.$slots,"emptyfilter",{},(()=>[o.createTextVNode(o.toDisplayString(l.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(o.openBlock(),o.createElementBlock("li",I,[o.renderSlot(e.$slots,"empty",{},(()=>[o.createTextVNode(o.toDisplayString(l.emptyMessageText),1)]))])):o.createCommentVNode("",!0)],46,b)])),_:2},[e.$slots.loader?{name:"loader",fn:o.withCtx((({options:t})=>[o.renderSlot(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),o.renderSlot(e.$slots,"footer",{value:i.modelValue,options:l.visibleOptions}),!i.options||i.options&&0===i.options.length?(o.openBlock(),o.createElementBlock("span",S,o.toDisplayString(l.emptyMessageText),1)):o.createCommentVNode("",!0),o.createElementVNode("span",v,o.toDisplayString(l.selectedMessageText),1),o.createElementVNode("span",{ref:"lastHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[9]||(t[9]=(...e)=>l.onLastHiddenFocus&&l.onLastHiddenFocus(...e))},null,40,F)],42,c)},module.exports=p;
|
|
1
|
+
"use strict";var e=require("primevue/api"),t=require("primevue/basecomponent"),i=require("primevue/icons/search"),s=require("primevue/ripple"),n=require("primevue/utils"),o=require("primevue/virtualscroller"),l=require("vue");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=a(t),d=a(i),p=a(s),c=a(o),u={name:"Listbox",extends:r.default,emits:["update:modelValue","change","focus","blur","filter"],props:{modelValue:null,options:Array,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,listStyle:null,disabled:Boolean,dataKey:null,multiple:Boolean,metaKeySelection:Boolean,filter:Boolean,filterPlaceholder:String,filterLocale:String,filterMatchMode:{type:String,default:"contains"},filterFields:{type:Array,default:null},filterInputProps:null,virtualScrollerOptions:{type:Object,default:null},autoOptionFocus:{type:Boolean,default:!0},selectOnFocus:{type:Boolean,default:!1},filterMessage:{type:String,default:null},selectionMessage:{type:String,default:null},emptySelectionMessage:{type:String,default:null},emptyFilterMessage:{type:String,default:null},emptyMessage:{type:String,default:null},filterIcon:{type:String,default:void 0},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},list:null,virtualScroller:null,optionTouched:!1,startRangeIndex:-1,searchTimeout:null,searchValue:"",focusOnHover:!1,data(){return{id:this.$attrs.id,filterValue:null,focused:!1,focusedOptionIndex:-1}},watch:{"$attrs.id":function(e){this.id=e||n.UniqueComponentId()},options(){this.autoUpdateModel()}},mounted(){this.id=this.id||n.UniqueComponentId(),this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?n.ObjectUtils.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?n.ObjectUtils.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?n.ObjectUtils.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},getPTOptions(e,t,i,s){return this.ptm(s,{context:{selected:this.isSelected(e),focused:this.focusedOptionIndex===this.getOptionIndex(i,t),disabled:this.isOptionDisabled(e)}})},isOptionDisabled(e){return!!this.optionDisabled&&n.ObjectUtils.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return n.ObjectUtils.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return n.ObjectUtils.resolveFieldData(e,this.optionGroupChildren)},getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions.slice(0,e).filter((e=>this.isOptionGroup(e))).length:e)+1},onFirstHiddenFocus(){n.DomHandler.focus(this.list);const e=n.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=n.ObjectUtils.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=n.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");n.DomHandler.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else n.DomHandler.focus(this.$refs.firstHiddenFocusableElement);this.$refs.lastHiddenFocusableElement.tabIndex=-1},onFocusout(e){!this.$el.contains(e.relatedTarget)&&this.$refs.lastHiddenFocusableElement&&this.$refs.firstHiddenFocusableElement&&(this.$refs.lastHiddenFocusableElement.tabIndex=this.$refs.firstHiddenFocusableElement.tabIndex=void 0)},onListFocus(e){this.focused=!0,this.focusedOptionIndex=-1!==this.focusedOptionIndex?this.focusedOptionIndex:this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1,this.$emit("focus",e)},onListBlur(e){this.focused=!1,this.focusedOptionIndex=this.startRangeIndex=-1,this.searchValue="",this.$emit("blur",e)},onListKeyDown(e){const t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onSpaceKey(e);break;case"Tab":break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e);break;default:if(this.multiple&&"KeyA"===e.code&&t){const t=this.visibleOptions.filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,t),e.preventDefault();break}!t&&n.ObjectUtils.isPrintableCharacter(e.key)&&(this.searchOptions(e,e.key),e.preventDefault())}},onOptionSelect(e,t,i=-1){this.disabled||this.isOptionDisabled(t)||(this.multiple?this.onOptionSelectMultiple(e,t):this.onOptionSelectSingle(e,t),this.optionTouched=!1,-1!==i&&(this.focusedOptionIndex=i))},onOptionMouseDown(e,t){this.changeFocusedOptionIndex(e,t)},onOptionMouseMove(e,t){this.focusOnHover&&this.changeFocusedOptionIndex(e,t)},onOptionTouchEnd(){this.disabled||(this.optionTouched=!0)},onOptionSelectSingle(e,t){let i=this.isSelected(t),s=!1,n=null;if(!this.optionTouched&&this.metaKeySelection){let o=e.metaKey||e.ctrlKey;i?o&&(n=null,s=!0):(n=this.getOptionValue(t),s=!0)}else n=i?null:this.getOptionValue(t),s=!0;s&&this.updateModel(e,n)},onOptionSelectMultiple(e,t){let i=this.isSelected(t),s=null;if(!this.optionTouched&&this.metaKeySelection){let n=e.metaKey||e.ctrlKey;i?s=n?this.removeOption(t):[this.getOptionValue(t)]:(s=n&&this.modelValue||[],s=[...s,this.getOptionValue(t)])}else s=i?this.removeOption(t):[...this.modelValue||[],this.getOptionValue(t)];this.updateModel(e,s)},onOptionSelectRange(e,t=-1,i=-1){if(-1===t&&(t=this.findNearestSelectedOptionIndex(i,!0)),-1===i&&(i=this.findNearestSelectedOptionIndex(t)),-1!==t&&-1!==i){const s=Math.min(t,i),n=Math.max(t,i),o=this.visibleOptions.slice(s,n+1).filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,o)}},onFilterChange(e){this.$emit("filter",{originalEvent:e,value:e.target.value}),this.focusedOptionIndex=this.startRangeIndex=-1},onFilterBlur(){this.focusedOptionIndex=this.startRangeIndex=-1},onFilterKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,!0);break;case"Home":this.onHomeKey(e,!0);break;case"End":this.onEndKey(e,!0);break;case"Enter":this.onEnterKey(e);break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e)}},onArrowDownKey(e){const t=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.findFirstFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,this.startRangeIndex,t),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowUpKey(e){const t=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.findLastFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,t,this.startRangeIndex),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowLeftKey(e,t=!1){t&&(this.focusedOptionIndex=-1)},onHomeKey(e,t=!1){if(t)e.currentTarget.setSelectionRange(0,0),this.focusedOptionIndex=-1;else{let t=e.metaKey||e.ctrlKey,i=this.findFirstOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,i,this.startRangeIndex),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onEndKey(e,t=!1){if(t){const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i),this.focusedOptionIndex=-1}else{let t=e.metaKey||e.ctrlKey,i=this.findLastOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,this.startRangeIndex,i),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onPageUpKey(e){this.scrollInView(0),e.preventDefault()},onPageDownKey(e){this.scrollInView(this.visibleOptions.length-1),e.preventDefault()},onEnterKey(e){-1!==this.focusedOptionIndex&&(this.multiple&&e.shiftKey?this.onOptionSelectRange(e,this.focusedOptionIndex):this.onOptionSelect(e,this.visibleOptions[this.focusedOptionIndex])),e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onShiftKey(){this.startRangeIndex=this.focusedOptionIndex},isOptionMatched(e){return this.isValidOption(e)&&this.getOptionLabel(e).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))},isValidOption(e){return e&&!(this.isOptionDisabled(e)||this.isOptionGroup(e))},isValidSelectedOption(e){return this.isValidOption(e)&&this.isSelected(e)},isSelected(e){const t=this.getOptionValue(e);return this.multiple?(this.modelValue||[]).some((e=>n.ObjectUtils.equals(e,t,this.equalityKey))):n.ObjectUtils.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return n.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidOption(e)))},findNextOptionIndex(e){const t=e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidOption(e))):-1;return t>-1?t+e+1:e},findPrevOptionIndex(e){const t=e>0?n.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidOption(e))):-1;return t>-1?t:e},findFirstSelectedOptionIndex(){return this.hasSelectedOption?this.visibleOptions.findIndex((e=>this.isValidSelectedOption(e))):-1},findLastSelectedOptionIndex(){return this.hasSelectedOption?n.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidSelectedOption(e))):-1},findNextSelectedOptionIndex(e){const t=this.hasSelectedOption&&e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidSelectedOption(e))):-1;return t>-1?t+e+1:-1},findPrevSelectedOptionIndex(e){const t=this.hasSelectedOption&&e>0?n.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidSelectedOption(e))):-1;return t>-1?t:-1},findNearestSelectedOptionIndex(e,t=!1){let i=-1;return this.hasSelectedOption&&(t?(i=this.findPrevSelectedOptionIndex(e),i=-1===i?this.findNextSelectedOptionIndex(e):i):(i=this.findNextSelectedOptionIndex(e),i=-1===i?this.findPrevSelectedOptionIndex(e):i)),i>-1?i:e},findFirstFocusedOptionIndex(){const e=this.findFirstSelectedOptionIndex();return e<0?this.findFirstOptionIndex():e},findLastFocusedOptionIndex(){const e=this.findLastSelectedOptionIndex();return e<0?this.findLastOptionIndex():e},searchOptions(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1;-1!==this.focusedOptionIndex?(i=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))),i=-1===i?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))):i+this.focusedOptionIndex):i=this.visibleOptions.findIndex((e=>this.isOptionMatched(e))),-1===i&&-1===this.focusedOptionIndex&&(i=this.findFirstFocusedOptionIndex()),-1!==i&&this.changeFocusedOptionIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500)},removeOption(e){return this.modelValue.filter((t=>!n.ObjectUtils.equals(t,this.getOptionValue(e),this.equalityKey)))},changeFocusedOptionIndex(e,t){this.focusedOptionIndex!==t&&(this.focusedOptionIndex=t,this.scrollInView(),this.selectOnFocus&&!this.multiple&&this.onOptionSelect(e,this.visibleOptions[t]))},scrollInView(e=-1){const t=-1!==e?`${this.id}_${e}`:this.focusedOptionId,i=n.DomHandler.findSingle(this.list,`li[id="${t}"]`);i?i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||this.virtualScroller&&this.virtualScroller.scrollToIndex(-1!==e?e:this.focusedOptionIndex)},autoUpdateModel(){this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption&&!this.multiple&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex]))},updateModel(e,t){this.$emit("update:modelValue",t),this.$emit("change",{originalEvent:e,value:t})},flatOptions(e){return(e||[]).reduce(((e,t,i)=>{e.push({optionGroup:t,group:!0,index:i});const s=this.getOptionGroupChildren(t);return s&&s.forEach((t=>e.push(t))),e}),[])},listRef(e,t){this.list=e,t&&t(e)},virtualScrollerRef(e){this.virtualScroller=e}},computed:{containerClass(){return["p-listbox p-component",{"p-focus":this.focused,"p-disabled":this.disabled}]},visibleOptions(){const t=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];return this.filterValue?e.FilterService.filter(t,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):t},hasSelectedOption(){return n.ObjectUtils.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return n.ObjectUtils.isNotEmpty(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText(){return this.hasSelectedOption?this.selectionMessageText.replaceAll("{0}",this.multiple?this.modelValue.length:"1"):this.emptySelectionMessageText},focusedOptionId(){return-1!==this.focusedOptionIndex?`${this.id}_${this.focusedOptionIndex}`:null},ariaSetSize(){return this.visibleOptions.filter((e=>!this.isOptionGroup(e))).length},virtualScrollerDisabled(){return!this.virtualScrollerOptions}},directives:{ripple:p.default},components:{VirtualScroller:c.default,SearchIcon:d.default}};const h=["id"],f=["tabindex"],O=["placeholder","aria-owns","aria-activedescendant","tabindex"],m=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],b=["id"],g=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],x=["tabindex"];!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-listbox-list-wrapper {\n overflow: auto;\n}\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n}\n.p-listbox-item-group {\n cursor: auto;\n}\n.p-listbox-filter-container {\n position: relative;\n}\n.p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-listbox-filter {\n width: 100%;\n}\n"),u.render=function(e,t,i,s,n,o){const a=l.resolveComponent("VirtualScroller"),r=l.resolveDirective("ripple");return l.openBlock(),l.createElementBlock("div",l.mergeProps({id:n.id,class:o.containerClass,onFocusout:t[10]||(t[10]=(...e)=>o.onFocusout&&o.onFocusout(...e))},e.ptm("root")),[l.createElementVNode("span",l.mergeProps({ref:"firstHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[0]||(t[0]=(...e)=>o.onFirstHiddenFocus&&o.onFirstHiddenFocus(...e))},e.ptm("hiddenFirstFocusableEl")),null,16,f),l.renderSlot(e.$slots,"header",{value:i.modelValue,options:o.visibleOptions}),i.filter?(l.openBlock(),l.createElementBlock("div",l.mergeProps({key:0,class:"p-listbox-header"},e.ptm("header")),[l.createElementVNode("div",l.mergeProps({class:"p-listbox-filter-container"},e.ptm("filterContainer")),[l.withDirectives(l.createElementVNode("input",l.mergeProps({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>n.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":n.id+"_list","aria-activedescendant":o.focusedOptionId,tabindex:i.disabled||n.focused?-1:i.tabindex,onInput:t[2]||(t[2]=(...e)=>o.onFilterChange&&o.onFilterChange(...e)),onBlur:t[3]||(t[3]=(...e)=>o.onFilterBlur&&o.onFilterBlur(...e)),onKeydown:t[4]||(t[4]=(...e)=>o.onFilterKeyDown&&o.onFilterKeyDown(...e))},{...i.filterInputProps,...e.ptm("filterInput")}),null,16,O),[[l.vModelText,n.filterValue]]),l.renderSlot(e.$slots,"filtericon",{},(()=>[(l.openBlock(),l.createBlock(l.resolveDynamicComponent(i.filterIcon?"span":"SearchIcon"),l.mergeProps({class:["p-listbox-filter-icon",i.filterIcon]},e.ptm("filterIcon")),null,16,["class"]))]))],16),l.createElementVNode("span",l.mergeProps({role:"status","aria-live":"polite",class:"p-hidden-accessible"},e.ptm("hiddenFilterResult")),l.toDisplayString(o.filterResultMessageText),17)],16)):l.createCommentVNode("",!0),l.createElementVNode("div",l.mergeProps({ref:"listWrapper",class:"p-listbox-list-wrapper",style:i.listStyle},e.ptm("wrapper")),[l.createVNode(a,l.mergeProps({ref:o.virtualScrollerRef},{...i.virtualScrollerOptions,...e.ptm("virtualScroller")},{style:i.listStyle,items:o.visibleOptions,tabindex:-1,disabled:o.virtualScrollerDisabled}),l.createSlots({content:l.withCtx((({styleClass:s,contentRef:a,items:d,getItemOptions:p,contentStyle:c,itemSize:u})=>[l.createElementVNode("ul",l.mergeProps({ref:e=>o.listRef(e,a),id:n.id+"_list",class:["p-listbox-list",s],style:c,tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":n.focused?o.focusedOptionId:void 0,"aria-disabled":i.disabled,onFocus:t[6]||(t[6]=(...e)=>o.onListFocus&&o.onListFocus(...e)),onBlur:t[7]||(t[7]=(...e)=>o.onListBlur&&o.onListBlur(...e)),onKeydown:t[8]||(t[8]=(...e)=>o.onListKeyDown&&o.onListKeyDown(...e))},e.ptm("list")),[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(d,((i,s)=>(l.openBlock(),l.createElementBlock(l.Fragment,{key:o.getOptionRenderKey(i,o.getOptionIndex(s,p))},[o.isOptionGroup(i)?(l.openBlock(),l.createElementBlock("li",l.mergeProps({key:0,id:n.id+"_"+o.getOptionIndex(s,p),style:{height:u?u+"px":void 0},class:"p-listbox-item-group",role:"option"},e.ptm("itemGroup")),[l.renderSlot(e.$slots,"optiongroup",{option:i.optionGroup,index:o.getOptionIndex(s,p)},(()=>[l.createTextVNode(l.toDisplayString(o.getOptionGroupLabel(i.optionGroup)),1)]))],16,b)):l.withDirectives((l.openBlock(),l.createElementBlock("li",l.mergeProps({key:1,id:n.id+"_"+o.getOptionIndex(s,p),style:{height:u?u+"px":void 0},class:["p-listbox-item",{"p-highlight":o.isSelected(i),"p-focus":n.focusedOptionIndex===o.getOptionIndex(s,p),"p-disabled":o.isOptionDisabled(i)}],role:"option","aria-label":o.getOptionLabel(i),"aria-selected":o.isSelected(i),"aria-disabled":o.isOptionDisabled(i),"aria-setsize":o.ariaSetSize,"aria-posinset":o.getAriaPosInset(o.getOptionIndex(s,p)),onClick:e=>o.onOptionSelect(e,i,o.getOptionIndex(s,p)),onMousedown:e=>o.onOptionMouseDown(e,o.getOptionIndex(s,p)),onMousemove:e=>o.onOptionMouseMove(e,o.getOptionIndex(s,p)),onTouchend:t[5]||(t[5]=e=>o.onOptionTouchEnd())},o.getPTOptions(i,p,s,"item")),[l.renderSlot(e.$slots,"option",{option:i,index:o.getOptionIndex(s,p)},(()=>[l.createTextVNode(l.toDisplayString(o.getOptionLabel(i)),1)]))],16,g)),[[r]])],64)))),128)),n.filterValue&&(!d||d&&0===d.length)?(l.openBlock(),l.createElementBlock("li",l.mergeProps({key:0,class:"p-listbox-empty-message",role:"option"},e.ptm("emptyMessage")),[l.renderSlot(e.$slots,"emptyfilter",{},(()=>[l.createTextVNode(l.toDisplayString(o.emptyFilterMessageText),1)]))],16)):!i.options||i.options&&0===i.options.length?(l.openBlock(),l.createElementBlock("li",l.mergeProps({key:1,class:"p-listbox-empty-message",role:"option"},e.ptm("emptyMessage")),[l.renderSlot(e.$slots,"empty",{},(()=>[l.createTextVNode(l.toDisplayString(o.emptyMessageText),1)]))],16)):l.createCommentVNode("",!0)],16,m)])),_:2},[e.$slots.loader?{name:"loader",fn:l.withCtx((({options:t})=>[l.renderSlot(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],16),l.renderSlot(e.$slots,"footer",{value:i.modelValue,options:o.visibleOptions}),!i.options||i.options&&0===i.options.length?(l.openBlock(),l.createElementBlock("span",l.mergeProps({key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},e.ptm("emptyMessage")),l.toDisplayString(o.emptyMessageText),17)):l.createCommentVNode("",!0),l.createElementVNode("span",l.mergeProps({role:"status","aria-live":"polite",class:"p-hidden-accessible"},e.ptm("hiddenSelectedMessage")),l.toDisplayString(o.selectedMessageText),17),l.createElementVNode("span",l.mergeProps({ref:"lastHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[9]||(t[9]=(...e)=>o.onLastHiddenFocus&&o.onLastHiddenFocus(...e))},e.ptm("hiddenLastFocusableEl")),null,16,x)],16,h)},module.exports=u;
|