primevue 3.26.1 → 3.28.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 +5 -9
- package/accordion/Accordion.d.ts +46 -2
- package/accordion/Accordion.vue +29 -13
- package/accordion/accordion.cjs.js +60 -33
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +58 -34
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +59 -35
- package/accordion/accordion.min.js +1 -1
- package/accordiontab/AccordionTab.d.ts +76 -1
- package/accordiontab/AccordionTab.vue +3 -0
- package/accordiontab/accordiontab.cjs.js +6 -0
- package/accordiontab/accordiontab.cjs.min.js +1 -1
- package/accordiontab/accordiontab.esm.js +2 -0
- package/accordiontab/accordiontab.esm.min.js +1 -1
- package/accordiontab/accordiontab.js +7 -2
- package/accordiontab/accordiontab.min.js +1 -1
- package/autocomplete/AutoComplete.d.ts +24 -3
- package/autocomplete/AutoComplete.vue +25 -10
- package/autocomplete/autocomplete.cjs.js +65 -36
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +63 -37
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +64 -38
- package/autocomplete/autocomplete.min.js +1 -1
- package/avatar/Avatar.d.ts +49 -0
- package/avatar/Avatar.vue +8 -7
- package/avatar/avatar.cjs.js +31 -24
- package/avatar/avatar.cjs.min.js +1 -1
- package/avatar/avatar.esm.js +28 -25
- package/avatar/avatar.esm.min.js +1 -1
- package/avatar/avatar.js +32 -26
- package/avatar/avatar.min.js +1 -1
- package/avatargroup/AvatarGroup.d.ts +27 -1
- package/avatargroup/AvatarGroup.vue +5 -2
- package/avatargroup/avatargroup.cjs.js +9 -5
- package/avatargroup/avatargroup.cjs.min.js +1 -1
- package/avatargroup/avatargroup.esm.js +6 -6
- package/avatargroup/avatargroup.esm.min.js +1 -1
- package/avatargroup/avatargroup.js +10 -7
- package/avatargroup/avatargroup.min.js +1 -1
- package/badge/Badge.d.ts +32 -0
- package/badge/Badge.vue +3 -1
- package/badge/badge.cjs.js +8 -4
- package/badge/badge.cjs.min.js +1 -1
- package/badge/badge.esm.js +5 -5
- package/badge/badge.esm.min.js +1 -1
- package/badge/badge.js +9 -6
- package/badge/badge.min.js +1 -1
- package/basecomponent/BaseComponent.vue +33 -0
- package/basecomponent/basecomponent.cjs.js +35 -0
- package/basecomponent/basecomponent.cjs.min.js +1 -0
- package/basecomponent/basecomponent.esm.js +33 -0
- package/basecomponent/basecomponent.esm.min.js +1 -0
- package/basecomponent/basecomponent.js +37 -0
- package/basecomponent/basecomponent.min.js +1 -0
- package/basecomponent/package.json +8 -0
- package/baseicon/BaseIcon.vue +66 -0
- package/baseicon/baseicon.cjs.js +66 -0
- package/baseicon/baseicon.cjs.min.js +1 -0
- package/baseicon/baseicon.esm.js +64 -0
- package/baseicon/baseicon.esm.min.js +1 -0
- package/baseicon/baseicon.js +68 -0
- package/baseicon/baseicon.min.js +1 -0
- package/baseicon/package.json +8 -0
- package/blockui/BlockUI.d.ts +44 -0
- package/blockui/BlockUI.vue +3 -1
- package/blockui/blockui.cjs.js +9 -3
- package/blockui/blockui.cjs.min.js +1 -1
- package/blockui/blockui.esm.js +6 -4
- package/blockui/blockui.esm.min.js +1 -1
- package/blockui/blockui.js +10 -5
- package/blockui/blockui.min.js +1 -1
- package/breadcrumb/Breadcrumb.d.ts +78 -0
- package/breadcrumb/Breadcrumb.vue +13 -7
- package/breadcrumb/BreadcrumbItem.vue +17 -16
- package/breadcrumb/breadcrumb.cjs.js +82 -69
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +78 -70
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +82 -71
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/button/Button.d.ts +68 -1
- package/button/Button.vue +25 -9
- package/button/button.cjs.js +50 -22
- package/button/button.cjs.min.js +1 -1
- package/button/button.esm.js +49 -23
- package/button/button.esm.min.js +1 -1
- package/button/button.js +50 -24
- package/button/button.min.js +1 -1
- package/calendar/Calendar.d.ts +25 -5
- package/calendar/Calendar.vue +56 -23
- package/calendar/calendar.cjs.js +84 -43
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +80 -44
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +81 -45
- package/calendar/calendar.min.js +1 -1
- package/card/Card.d.ts +51 -1
- package/card/Card.vue +15 -14
- package/card/card.cjs.js +33 -65
- package/card/card.cjs.min.js +1 -1
- package/card/card.esm.js +30 -66
- package/card/card.esm.min.js +1 -1
- package/card/card.js +34 -67
- package/card/card.min.js +1 -1
- package/carousel/Carousel.d.ts +8 -0
- package/carousel/Carousel.vue +16 -2
- package/carousel/carousel.cjs.js +20 -6
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +17 -7
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +18 -8
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/CascadeSelect.d.ts +16 -3
- package/cascadeselect/CascadeSelect.vue +16 -9
- package/cascadeselect/CascadeSelectSub.vue +10 -1
- package/cascadeselect/cascadeselect.cjs.js +46 -14
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.esm.js +43 -14
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +45 -16
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/chart/Chart.d.ts +36 -0
- package/chart/Chart.vue +5 -2
- package/chart/chart.cjs.js +10 -5
- package/chart/chart.cjs.min.js +1 -1
- package/chart/chart.esm.js +7 -6
- package/chart/chart.esm.min.js +1 -1
- package/chart/chart.js +11 -7
- package/chart/chart.min.js +1 -1
- package/checkbox/Checkbox.d.ts +13 -2
- package/checkbox/Checkbox.vue +7 -1
- package/checkbox/checkbox.cjs.js +11 -3
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +8 -4
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +12 -5
- package/checkbox/checkbox.min.js +1 -1
- package/chip/Chip.d.ts +80 -1
- package/chip/Chip.vue +16 -12
- package/chip/chip.cjs.js +43 -29
- package/chip/chip.cjs.min.js +1 -1
- package/chip/chip.esm.js +39 -30
- package/chip/chip.esm.min.js +1 -1
- package/chip/chip.js +43 -31
- package/chip/chip.min.js +1 -1
- package/chips/Chips.d.ts +12 -1
- package/chips/Chips.vue +8 -2
- package/chips/chips.cjs.js +22 -11
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +19 -12
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +23 -13
- package/chips/chips.min.js +1 -1
- package/column/Column.d.ts +77 -1
- package/column/Column.vue +1 -1
- package/column/column.cjs.js +1 -1
- package/column/column.cjs.min.js +1 -1
- package/column/column.esm.js +1 -1
- package/column/column.esm.min.js +1 -1
- package/column/column.js +1 -1
- package/column/column.min.js +1 -1
- package/config/PrimeVue.d.ts +8 -0
- package/config/config.cjs.js +3 -1
- package/config/config.cjs.min.js +1 -1
- package/config/config.esm.js +3 -2
- package/config/config.esm.min.js +1 -1
- package/config/config.js +3 -1
- package/config/config.min.js +1 -1
- package/confirmdialog/ConfirmDialog.d.ts +111 -1
- package/confirmdialog/ConfirmDialog.vue +22 -4
- package/confirmdialog/confirmdialog.cjs.js +47 -18
- package/confirmdialog/confirmdialog.cjs.min.js +1 -1
- package/confirmdialog/confirmdialog.esm.js +47 -19
- package/confirmdialog/confirmdialog.esm.min.js +1 -1
- package/confirmdialog/confirmdialog.js +48 -20
- package/confirmdialog/confirmdialog.min.js +1 -1
- package/confirmpopup/ConfirmPopup.d.ts +98 -1
- package/confirmpopup/ConfirmPopup.vue +24 -7
- package/confirmpopup/confirmpopup.cjs.js +51 -23
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.esm.js +51 -24
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +52 -25
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/contextmenu/ContextMenu.d.ts +158 -0
- package/contextmenu/ContextMenu.vue +5 -2
- package/contextmenu/ContextMenuSub.vue +60 -15
- package/contextmenu/contextmenu.cjs.js +93 -57
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +92 -58
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +93 -59
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +2825 -424
- package/core/core.min.js +108 -14
- package/datatable/BodyCell.vue +44 -13
- package/datatable/ColumnFilter.vue +59 -17
- package/datatable/DataTable.d.ts +41 -3
- package/datatable/DataTable.vue +46 -10
- package/datatable/FooterCell.vue +1 -1
- package/datatable/HeaderCell.vue +36 -15
- package/datatable/HeaderCheckbox.vue +11 -2
- package/datatable/RowCheckbox.vue +11 -2
- package/datatable/TableBody.vue +15 -13
- package/datatable/TableFooter.vue +1 -1
- package/datatable/TableHeader.vue +10 -0
- package/datatable/datatable.cjs.js +424 -139
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +409 -140
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +410 -141
- package/datatable/datatable.min.js +1 -1
- package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +12 -2
- package/dataviewlayoutoptions/DataViewLayoutOptions.vue +13 -2
- package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +25 -11
- package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
- package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +21 -12
- package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
- package/dataviewlayoutoptions/dataviewlayoutoptions.js +25 -13
- package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
- package/deferredcontent/DeferredContent.d.ts +49 -1
- package/deferredcontent/DeferredContent.vue +4 -1
- package/deferredcontent/deferredcontent.cjs.js +8 -4
- package/deferredcontent/deferredcontent.cjs.min.js +1 -1
- package/deferredcontent/deferredcontent.esm.js +5 -5
- package/deferredcontent/deferredcontent.esm.min.js +1 -1
- package/deferredcontent/deferredcontent.js +9 -6
- package/deferredcontent/deferredcontent.min.js +1 -1
- package/dialog/Dialog.d.ts +105 -4
- package/dialog/Dialog.vue +43 -21
- package/dialog/dialog.cjs.js +54 -41
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +51 -42
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +52 -43
- package/dialog/dialog.min.js +1 -1
- package/divider/Divider.d.ts +36 -0
- package/divider/Divider.vue +5 -2
- package/divider/divider.cjs.js +15 -10
- package/divider/divider.cjs.min.js +1 -1
- package/divider/divider.esm.js +12 -11
- package/divider/divider.esm.min.js +1 -1
- package/divider/divider.js +16 -12
- package/divider/divider.min.js +1 -1
- package/dock/Dock.d.ts +94 -0
- package/dock/Dock.vue +4 -2
- package/dock/DockSub.vue +30 -6
- package/dock/dock.cjs.js +52 -39
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +52 -40
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +53 -41
- package/dock/dock.min.js +1 -1
- package/dropdown/Dropdown.d.ts +40 -4
- package/dropdown/Dropdown.vue +26 -13
- package/dropdown/dropdown.cjs.js +68 -31
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +65 -32
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +66 -33
- package/dropdown/dropdown.min.js +1 -1
- package/dynamicdialog/DynamicDialog.vue +3 -1
- package/dynamicdialog/dynamicdialog.cjs.js +5 -1
- package/dynamicdialog/dynamicdialog.cjs.min.js +1 -1
- package/dynamicdialog/dynamicdialog.esm.js +4 -1
- package/dynamicdialog/dynamicdialog.esm.min.js +1 -1
- package/dynamicdialog/dynamicdialog.js +6 -3
- package/dynamicdialog/dynamicdialog.min.js +1 -1
- package/fieldset/Fieldset.d.ts +73 -0
- package/fieldset/Fieldset.vue +18 -17
- package/fieldset/fieldset.cjs.js +33 -34
- package/fieldset/fieldset.cjs.min.js +1 -1
- package/fieldset/fieldset.esm.js +31 -35
- package/fieldset/fieldset.esm.min.js +1 -1
- package/fieldset/fieldset.js +32 -36
- package/fieldset/fieldset.min.js +1 -1
- package/fileupload/FileContent.vue +22 -9
- package/fileupload/FileUpload.d.ts +182 -3
- package/fileupload/FileUpload.vue +52 -31
- package/fileupload/fileupload.cjs.js +163 -100
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.esm.js +160 -101
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +161 -102
- package/fileupload/fileupload.min.js +1 -1
- package/galleria/Galleria.d.ts +20 -0
- package/galleria/Galleria.vue +2 -2
- package/galleria/GalleriaContent.vue +7 -2
- package/galleria/GalleriaItem.vue +8 -2
- package/galleria/GalleriaThumbnails.vue +12 -20
- package/galleria/galleria.cjs.js +60 -64
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +56 -65
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +57 -66
- package/galleria/galleria.min.js +1 -1
- package/icons/angledoubledown/index.cjs.js +37 -0
- package/icons/angledoubledown/index.cjs.min.js +1 -0
- package/icons/angledoubledown/index.d.ts +12 -0
- package/icons/angledoubledown/index.esm.js +31 -0
- package/icons/angledoubledown/index.esm.min.js +1 -0
- package/icons/angledoubledown/index.js +39 -0
- package/icons/angledoubledown/index.min.js +1 -0
- package/icons/angledoubledown/index.vue +18 -0
- package/icons/angledoubledown/package.json +9 -0
- package/icons/angledoubleleft/index.cjs.js +37 -0
- package/icons/angledoubleleft/index.cjs.min.js +1 -0
- package/icons/angledoubleleft/index.d.ts +12 -0
- package/icons/angledoubleleft/index.esm.js +31 -0
- package/icons/angledoubleleft/index.esm.min.js +1 -0
- package/icons/angledoubleleft/index.js +39 -0
- package/icons/angledoubleleft/index.min.js +1 -0
- package/icons/angledoubleleft/index.vue +18 -0
- package/icons/angledoubleleft/package.json +9 -0
- package/icons/angledoubleright/index.cjs.js +37 -0
- package/icons/angledoubleright/index.cjs.min.js +1 -0
- package/icons/angledoubleright/index.d.ts +12 -0
- package/icons/angledoubleright/index.esm.js +31 -0
- package/icons/angledoubleright/index.esm.min.js +1 -0
- package/icons/angledoubleright/index.js +39 -0
- package/icons/angledoubleright/index.min.js +1 -0
- package/icons/angledoubleright/index.vue +18 -0
- package/icons/angledoubleright/package.json +9 -0
- package/icons/angledoubleup/index.cjs.js +37 -0
- package/icons/angledoubleup/index.cjs.min.js +1 -0
- package/icons/angledoubleup/index.d.ts +12 -0
- package/icons/angledoubleup/index.esm.js +31 -0
- package/icons/angledoubleup/index.esm.min.js +1 -0
- package/icons/angledoubleup/index.js +39 -0
- package/icons/angledoubleup/index.min.js +1 -0
- package/icons/angledoubleup/index.vue +18 -0
- package/icons/angledoubleup/package.json +9 -0
- package/icons/angledown/index.cjs.js +35 -0
- package/icons/angledown/index.cjs.min.js +1 -0
- package/icons/angledown/index.d.ts +12 -0
- package/icons/angledown/index.esm.js +29 -0
- package/icons/angledown/index.esm.min.js +1 -0
- package/icons/angledown/index.js +37 -0
- package/icons/angledown/index.min.js +1 -0
- package/icons/angledown/index.vue +16 -0
- package/icons/angledown/package.json +9 -0
- package/icons/angleleft/index.cjs.js +35 -0
- package/icons/angleleft/index.cjs.min.js +1 -0
- package/icons/angleleft/index.d.ts +12 -0
- package/icons/angleleft/index.esm.js +29 -0
- package/icons/angleleft/index.esm.min.js +1 -0
- package/icons/angleleft/index.js +37 -0
- package/icons/angleleft/index.min.js +1 -0
- package/icons/angleleft/index.vue +16 -0
- package/icons/angleleft/package.json +9 -0
- package/icons/angleright/index.cjs.js +35 -0
- package/icons/angleright/index.cjs.min.js +1 -0
- package/icons/angleright/index.d.ts +12 -0
- package/icons/angleright/index.esm.js +29 -0
- package/icons/angleright/index.esm.min.js +1 -0
- package/icons/angleright/index.js +37 -0
- package/icons/angleright/index.min.js +1 -0
- package/icons/angleright/index.vue +16 -0
- package/icons/angleright/package.json +9 -0
- package/icons/angleup/index.cjs.js +35 -0
- package/icons/angleup/index.cjs.min.js +1 -0
- package/icons/angleup/index.d.ts +12 -0
- package/icons/angleup/index.esm.js +29 -0
- package/icons/angleup/index.esm.min.js +1 -0
- package/icons/angleup/index.js +37 -0
- package/icons/angleup/index.min.js +1 -0
- package/icons/angleup/index.vue +16 -0
- package/icons/angleup/package.json +9 -0
- package/icons/arrowdown/index.cjs.js +49 -0
- package/icons/arrowdown/index.cjs.min.js +1 -0
- package/icons/arrowdown/index.d.ts +12 -0
- package/icons/arrowdown/index.esm.js +43 -0
- package/icons/arrowdown/index.esm.min.js +1 -0
- package/icons/arrowdown/index.js +51 -0
- package/icons/arrowdown/index.min.js +1 -0
- package/icons/arrowdown/index.vue +25 -0
- package/icons/arrowdown/package.json +9 -0
- package/icons/arrowup/index.cjs.js +49 -0
- package/icons/arrowup/index.cjs.min.js +1 -0
- package/icons/arrowup/index.d.ts +12 -0
- package/icons/arrowup/index.esm.js +43 -0
- package/icons/arrowup/index.esm.min.js +1 -0
- package/icons/arrowup/index.js +51 -0
- package/icons/arrowup/index.min.js +1 -0
- package/icons/arrowup/index.vue +25 -0
- package/icons/arrowup/package.json +9 -0
- package/icons/ban/index.cjs.js +47 -0
- package/icons/ban/index.cjs.min.js +1 -0
- package/icons/ban/index.d.ts +12 -0
- package/icons/ban/index.esm.js +41 -0
- package/icons/ban/index.esm.min.js +1 -0
- package/icons/ban/index.js +49 -0
- package/icons/ban/index.min.js +1 -0
- package/icons/ban/index.vue +23 -0
- package/icons/ban/package.json +9 -0
- package/icons/bars/index.cjs.js +37 -0
- package/icons/bars/index.cjs.min.js +1 -0
- package/icons/bars/index.d.ts +12 -0
- package/icons/bars/index.esm.js +31 -0
- package/icons/bars/index.esm.min.js +1 -0
- package/icons/bars/index.js +39 -0
- package/icons/bars/index.min.js +1 -0
- package/icons/bars/index.vue +18 -0
- package/icons/bars/package.json +9 -0
- package/icons/calendar/index.cjs.js +35 -0
- package/icons/calendar/index.cjs.min.js +1 -0
- package/icons/calendar/index.d.ts +12 -0
- package/icons/calendar/index.esm.js +29 -0
- package/icons/calendar/index.esm.min.js +1 -0
- package/icons/calendar/index.js +37 -0
- package/icons/calendar/index.min.js +1 -0
- package/icons/calendar/index.vue +16 -0
- package/icons/calendar/package.json +9 -0
- package/icons/check/index.cjs.js +35 -0
- package/icons/check/index.cjs.min.js +1 -0
- package/icons/check/index.d.ts +12 -0
- package/icons/check/index.esm.js +29 -0
- package/icons/check/index.esm.min.js +1 -0
- package/icons/check/index.js +37 -0
- package/icons/check/index.min.js +1 -0
- package/icons/check/index.vue +16 -0
- package/icons/check/package.json +9 -0
- package/icons/chevrondown/index.cjs.js +35 -0
- package/icons/chevrondown/index.cjs.min.js +1 -0
- package/icons/chevrondown/index.d.ts +12 -0
- package/icons/chevrondown/index.esm.js +29 -0
- package/icons/chevrondown/index.esm.min.js +1 -0
- package/icons/chevrondown/index.js +37 -0
- package/icons/chevrondown/index.min.js +1 -0
- package/icons/chevrondown/index.vue +16 -0
- package/icons/chevrondown/package.json +9 -0
- package/icons/chevronleft/index.cjs.js +35 -0
- package/icons/chevronleft/index.cjs.min.js +1 -0
- package/icons/chevronleft/index.d.ts +12 -0
- package/icons/chevronleft/index.esm.js +29 -0
- package/icons/chevronleft/index.esm.min.js +1 -0
- package/icons/chevronleft/index.js +37 -0
- package/icons/chevronleft/index.min.js +1 -0
- package/icons/chevronleft/index.vue +16 -0
- package/icons/chevronleft/package.json +9 -0
- package/icons/chevronright/index.cjs.js +35 -0
- package/icons/chevronright/index.cjs.min.js +1 -0
- package/icons/chevronright/index.d.ts +12 -0
- package/icons/chevronright/index.esm.js +29 -0
- package/icons/chevronright/index.esm.min.js +1 -0
- package/icons/chevronright/index.js +37 -0
- package/icons/chevronright/index.min.js +1 -0
- package/icons/chevronright/index.vue +16 -0
- package/icons/chevronright/package.json +9 -0
- package/icons/chevronup/index.cjs.js +35 -0
- package/icons/chevronup/index.cjs.min.js +1 -0
- package/icons/chevronup/index.d.ts +12 -0
- package/icons/chevronup/index.esm.js +29 -0
- package/icons/chevronup/index.esm.min.js +1 -0
- package/icons/chevronup/index.js +37 -0
- package/icons/chevronup/index.min.js +1 -0
- package/icons/chevronup/index.vue +16 -0
- package/icons/chevronup/package.json +9 -0
- package/icons/exclamationtriangle/index.cjs.js +32 -0
- package/icons/exclamationtriangle/index.cjs.min.js +1 -0
- package/icons/exclamationtriangle/index.d.ts +12 -0
- package/icons/exclamationtriangle/index.esm.js +26 -0
- package/icons/exclamationtriangle/index.esm.min.js +1 -0
- package/icons/exclamationtriangle/index.js +34 -0
- package/icons/exclamationtriangle/index.min.js +1 -0
- package/icons/exclamationtriangle/index.vue +31 -0
- package/icons/exclamationtriangle/package.json +9 -0
- package/icons/eye/index.cjs.js +37 -0
- package/icons/eye/index.cjs.min.js +1 -0
- package/icons/eye/index.d.ts +12 -0
- package/icons/eye/index.esm.js +31 -0
- package/icons/eye/index.esm.min.js +1 -0
- package/icons/eye/index.js +39 -0
- package/icons/eye/index.min.js +1 -0
- package/icons/eye/index.vue +18 -0
- package/icons/eye/package.json +9 -0
- package/icons/eyeslash/index.cjs.js +49 -0
- package/icons/eyeslash/index.cjs.min.js +1 -0
- package/icons/eyeslash/index.d.ts +12 -0
- package/icons/eyeslash/index.esm.js +43 -0
- package/icons/eyeslash/index.esm.min.js +1 -0
- package/icons/eyeslash/index.js +51 -0
- package/icons/eyeslash/index.min.js +1 -0
- package/icons/eyeslash/index.vue +25 -0
- package/icons/eyeslash/package.json +9 -0
- package/icons/filter/index.cjs.js +47 -0
- package/icons/filter/index.cjs.min.js +1 -0
- package/icons/filter/index.d.ts +12 -0
- package/icons/filter/index.esm.js +41 -0
- package/icons/filter/index.esm.min.js +1 -0
- package/icons/filter/index.js +49 -0
- package/icons/filter/index.min.js +1 -0
- package/icons/filter/index.vue +23 -0
- package/icons/filter/package.json +9 -0
- package/icons/filterslash/index.cjs.js +49 -0
- package/icons/filterslash/index.cjs.min.js +1 -0
- package/icons/filterslash/index.d.ts +12 -0
- package/icons/filterslash/index.esm.js +43 -0
- package/icons/filterslash/index.esm.min.js +1 -0
- package/icons/filterslash/index.js +51 -0
- package/icons/filterslash/index.min.js +1 -0
- package/icons/filterslash/index.vue +25 -0
- package/icons/filterslash/package.json +9 -0
- package/icons/index.d.ts +12 -0
- package/icons/infocircle/index.cjs.js +49 -0
- package/icons/infocircle/index.cjs.min.js +1 -0
- package/icons/infocircle/index.d.ts +12 -0
- package/icons/infocircle/index.esm.js +43 -0
- package/icons/infocircle/index.esm.min.js +1 -0
- package/icons/infocircle/index.js +51 -0
- package/icons/infocircle/index.min.js +1 -0
- package/icons/infocircle/index.vue +25 -0
- package/icons/infocircle/package.json +9 -0
- package/icons/minus/index.cjs.js +35 -0
- package/icons/minus/index.cjs.min.js +1 -0
- package/icons/minus/index.d.ts +12 -0
- package/icons/minus/index.esm.js +29 -0
- package/icons/minus/index.esm.min.js +1 -0
- package/icons/minus/index.js +37 -0
- package/icons/minus/index.min.js +1 -0
- package/icons/minus/index.vue +16 -0
- package/icons/minus/package.json +9 -0
- package/icons/pencil/index.cjs.js +47 -0
- package/icons/pencil/index.cjs.min.js +1 -0
- package/icons/pencil/index.d.ts +12 -0
- package/icons/pencil/index.esm.js +41 -0
- package/icons/pencil/index.esm.min.js +1 -0
- package/icons/pencil/index.js +49 -0
- package/icons/pencil/index.min.js +1 -0
- package/icons/pencil/index.vue +23 -0
- package/icons/pencil/package.json +9 -0
- package/icons/plus/index.cjs.js +47 -0
- package/icons/plus/index.cjs.min.js +1 -0
- package/icons/plus/index.d.ts +12 -0
- package/icons/plus/index.esm.js +41 -0
- package/icons/plus/index.esm.min.js +1 -0
- package/icons/plus/index.js +49 -0
- package/icons/plus/index.min.js +1 -0
- package/icons/plus/index.vue +23 -0
- package/icons/plus/package.json +9 -0
- package/icons/refresh/index.cjs.js +49 -0
- package/icons/refresh/index.cjs.min.js +1 -0
- package/icons/refresh/index.d.ts +12 -0
- package/icons/refresh/index.esm.js +43 -0
- package/icons/refresh/index.esm.min.js +1 -0
- package/icons/refresh/index.js +51 -0
- package/icons/refresh/index.min.js +1 -0
- package/icons/refresh/index.vue +25 -0
- package/icons/refresh/package.json +9 -0
- package/icons/search/index.cjs.js +49 -0
- package/icons/search/index.cjs.min.js +1 -0
- package/icons/search/index.d.ts +12 -0
- package/icons/search/index.esm.js +43 -0
- package/icons/search/index.esm.min.js +1 -0
- package/icons/search/index.js +51 -0
- package/icons/search/index.min.js +1 -0
- package/icons/search/index.vue +25 -0
- package/icons/search/package.json +9 -0
- package/icons/searchminus/index.cjs.js +49 -0
- package/icons/searchminus/index.cjs.min.js +1 -0
- package/icons/searchminus/index.d.ts +12 -0
- package/icons/searchminus/index.esm.js +43 -0
- package/icons/searchminus/index.esm.min.js +1 -0
- package/icons/searchminus/index.js +51 -0
- package/icons/searchminus/index.min.js +1 -0
- package/icons/searchminus/index.vue +25 -0
- package/icons/searchminus/package.json +9 -0
- package/icons/searchplus/index.cjs.js +49 -0
- package/icons/searchplus/index.cjs.min.js +1 -0
- package/icons/searchplus/index.d.ts +12 -0
- package/icons/searchplus/index.esm.js +43 -0
- package/icons/searchplus/index.esm.min.js +1 -0
- package/icons/searchplus/index.js +51 -0
- package/icons/searchplus/index.min.js +1 -0
- package/icons/searchplus/index.vue +25 -0
- package/icons/searchplus/package.json +9 -0
- package/icons/sortalt/index.cjs.js +32 -0
- package/icons/sortalt/index.cjs.min.js +1 -0
- package/icons/sortalt/index.d.ts +12 -0
- package/icons/sortalt/index.esm.js +26 -0
- package/icons/sortalt/index.esm.min.js +1 -0
- package/icons/sortalt/index.js +34 -0
- package/icons/sortalt/index.min.js +1 -0
- package/icons/sortalt/index.vue +29 -0
- package/icons/sortalt/package.json +9 -0
- package/icons/sortamountdown/index.cjs.js +32 -0
- package/icons/sortamountdown/index.cjs.min.js +1 -0
- package/icons/sortamountdown/index.d.ts +12 -0
- package/icons/sortamountdown/index.esm.js +26 -0
- package/icons/sortamountdown/index.esm.min.js +1 -0
- package/icons/sortamountdown/index.js +34 -0
- package/icons/sortamountdown/index.min.js +1 -0
- package/icons/sortamountdown/index.vue +43 -0
- package/icons/sortamountdown/package.json +9 -0
- package/icons/sortamountupalt/index.cjs.js +32 -0
- package/icons/sortamountupalt/index.cjs.min.js +1 -0
- package/icons/sortamountupalt/index.d.ts +12 -0
- package/icons/sortamountupalt/index.esm.js +26 -0
- package/icons/sortamountupalt/index.esm.min.js +1 -0
- package/icons/sortamountupalt/index.js +34 -0
- package/icons/sortamountupalt/index.min.js +1 -0
- package/icons/sortamountupalt/index.vue +43 -0
- package/icons/sortamountupalt/package.json +9 -0
- package/icons/spinner/index.cjs.js +47 -0
- package/icons/spinner/index.cjs.min.js +1 -0
- package/icons/spinner/index.d.ts +12 -0
- package/icons/spinner/index.esm.js +41 -0
- package/icons/spinner/index.esm.min.js +1 -0
- package/icons/spinner/index.js +49 -0
- package/icons/spinner/index.min.js +1 -0
- package/icons/spinner/index.vue +23 -0
- package/icons/spinner/package.json +9 -0
- package/icons/star/index.cjs.js +47 -0
- package/icons/star/index.cjs.min.js +1 -0
- package/icons/star/index.d.ts +12 -0
- package/icons/star/index.esm.js +41 -0
- package/icons/star/index.esm.min.js +1 -0
- package/icons/star/index.js +49 -0
- package/icons/star/index.min.js +1 -0
- package/icons/star/index.vue +23 -0
- package/icons/star/package.json +9 -0
- package/icons/starfill/index.cjs.js +47 -0
- package/icons/starfill/index.cjs.min.js +1 -0
- package/icons/starfill/index.d.ts +12 -0
- package/icons/starfill/index.esm.js +41 -0
- package/icons/starfill/index.esm.min.js +1 -0
- package/icons/starfill/index.js +49 -0
- package/icons/starfill/index.min.js +1 -0
- package/icons/starfill/index.vue +23 -0
- package/icons/starfill/package.json +9 -0
- package/icons/thlarge/index.cjs.js +49 -0
- package/icons/thlarge/index.cjs.min.js +1 -0
- package/icons/thlarge/index.d.ts +12 -0
- package/icons/thlarge/index.esm.js +43 -0
- package/icons/thlarge/index.esm.min.js +1 -0
- package/icons/thlarge/index.js +51 -0
- package/icons/thlarge/index.min.js +1 -0
- package/icons/thlarge/index.vue +25 -0
- package/icons/thlarge/package.json +9 -0
- package/icons/times/index.cjs.js +35 -0
- package/icons/times/index.cjs.min.js +1 -0
- package/icons/times/index.d.ts +12 -0
- package/icons/times/index.esm.js +29 -0
- package/icons/times/index.esm.min.js +1 -0
- package/icons/times/index.js +37 -0
- package/icons/times/index.min.js +1 -0
- package/icons/times/index.vue +16 -0
- package/icons/times/package.json +9 -0
- package/icons/timescircle/index.cjs.js +49 -0
- package/icons/timescircle/index.cjs.min.js +1 -0
- package/icons/timescircle/index.d.ts +12 -0
- package/icons/timescircle/index.esm.js +43 -0
- package/icons/timescircle/index.esm.min.js +1 -0
- package/icons/timescircle/index.js +51 -0
- package/icons/timescircle/index.min.js +1 -0
- package/icons/timescircle/index.vue +25 -0
- package/icons/timescircle/package.json +9 -0
- package/icons/trash/index.cjs.js +49 -0
- package/icons/trash/index.cjs.min.js +1 -0
- package/icons/trash/index.d.ts +12 -0
- package/icons/trash/index.esm.js +43 -0
- package/icons/trash/index.esm.min.js +1 -0
- package/icons/trash/index.js +51 -0
- package/icons/trash/index.min.js +1 -0
- package/icons/trash/index.vue +25 -0
- package/icons/trash/package.json +9 -0
- package/icons/undo/index.cjs.js +49 -0
- package/icons/undo/index.cjs.min.js +1 -0
- package/icons/undo/index.d.ts +12 -0
- package/icons/undo/index.esm.js +43 -0
- package/icons/undo/index.esm.min.js +1 -0
- package/icons/undo/index.js +51 -0
- package/icons/undo/index.min.js +1 -0
- package/icons/undo/index.vue +25 -0
- package/icons/undo/package.json +9 -0
- package/icons/upload/index.cjs.js +49 -0
- package/icons/upload/index.cjs.min.js +1 -0
- package/icons/upload/index.d.ts +12 -0
- package/icons/upload/index.esm.js +43 -0
- package/icons/upload/index.esm.min.js +1 -0
- package/icons/upload/index.js +51 -0
- package/icons/upload/index.min.js +1 -0
- package/icons/upload/index.vue +25 -0
- package/icons/upload/package.json +9 -0
- package/icons/windowmaximize/index.cjs.js +49 -0
- package/icons/windowmaximize/index.cjs.min.js +1 -0
- package/icons/windowmaximize/index.d.ts +12 -0
- package/icons/windowmaximize/index.esm.js +43 -0
- package/icons/windowmaximize/index.esm.min.js +1 -0
- package/icons/windowmaximize/index.js +51 -0
- package/icons/windowmaximize/index.min.js +1 -0
- package/icons/windowmaximize/index.vue +25 -0
- package/icons/windowmaximize/package.json +9 -0
- package/icons/windowminimize/index.cjs.js +49 -0
- package/icons/windowminimize/index.cjs.min.js +1 -0
- package/icons/windowminimize/index.d.ts +12 -0
- package/icons/windowminimize/index.esm.js +43 -0
- package/icons/windowminimize/index.esm.min.js +1 -0
- package/icons/windowminimize/index.js +51 -0
- package/icons/windowminimize/index.min.js +1 -0
- package/icons/windowminimize/index.vue +25 -0
- package/icons/windowminimize/package.json +9 -0
- package/image/Image.d.ts +1 -1
- package/image/Image.vue +21 -13
- package/image/image.cjs.js +45 -29
- package/image/image.cjs.min.js +1 -1
- package/image/image.esm.js +40 -30
- package/image/image.esm.min.js +1 -1
- package/image/image.js +41 -31
- package/image/image.min.js +1 -1
- package/inlinemessage/InlineMessage.d.ts +61 -0
- package/inlinemessage/InlineMessage.vue +25 -13
- package/inlinemessage/inlinemessage.cjs.js +36 -21
- package/inlinemessage/inlinemessage.cjs.min.js +1 -1
- package/inlinemessage/inlinemessage.esm.js +29 -22
- package/inlinemessage/inlinemessage.esm.min.js +1 -1
- package/inlinemessage/inlinemessage.js +33 -23
- package/inlinemessage/inlinemessage.min.js +1 -1
- package/inplace/Inplace.d.ts +64 -1
- package/inplace/Inplace.vue +16 -6
- package/inplace/inplace.cjs.js +28 -16
- package/inplace/inplace.cjs.min.js +1 -1
- package/inplace/inplace.esm.js +27 -17
- package/inplace/inplace.esm.min.js +1 -1
- package/inplace/inplace.js +28 -18
- package/inplace/inplace.min.js +1 -1
- package/inputnumber/InputNumber.d.ts +13 -4
- package/inputnumber/InputNumber.vue +35 -7
- package/inputnumber/inputnumber.cjs.js +53 -19
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +52 -20
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +53 -21
- package/inputnumber/inputnumber.min.js +1 -1
- package/listbox/Listbox.d.ts +6 -2
- package/listbox/Listbox.vue +8 -3
- package/listbox/listbox.cjs.js +10 -5
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +10 -6
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +11 -7
- package/listbox/listbox.min.js +1 -1
- package/megamenu/MegaMenu.d.ts +172 -0
- package/megamenu/MegaMenu.vue +7 -4
- package/megamenu/MegaMenuSub.vue +58 -22
- package/megamenu/megamenu.cjs.js +119 -86
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.esm.js +117 -87
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +118 -88
- package/megamenu/megamenu.min.js +1 -1
- package/menu/Menu.d.ts +127 -0
- package/menu/Menu.vue +11 -8
- package/menu/Menuitem.vue +30 -11
- package/menu/menu.cjs.js +99 -71
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +99 -72
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +100 -73
- package/menu/menu.min.js +1 -1
- package/menubar/Menubar.d.ts +177 -0
- package/menubar/Menubar.vue +14 -7
- package/menubar/MenubarSub.vue +54 -18
- package/menubar/menubar.cjs.js +116 -76
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +113 -77
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +114 -78
- package/menubar/menubar.min.js +1 -1
- package/message/Message.d.ts +83 -1
- package/message/Message.vue +36 -22
- package/message/message.cjs.js +59 -35
- package/message/message.cjs.min.js +1 -1
- package/message/message.esm.js +54 -36
- package/message/message.esm.min.js +1 -1
- package/message/message.js +55 -37
- package/message/message.min.js +1 -1
- package/multiselect/MultiSelect.d.ts +85 -6
- package/multiselect/MultiSelect.vue +41 -17
- package/multiselect/multiselect.cjs.js +96 -32
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +91 -33
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +92 -34
- package/multiselect/multiselect.min.js +1 -1
- package/orderlist/OrderList.d.ts +16 -0
- package/orderlist/OrderList.vue +37 -5
- package/orderlist/orderlist.cjs.js +49 -9
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.esm.js +46 -10
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +47 -11
- package/orderlist/orderlist.min.js +1 -1
- package/organizationchart/OrganizationChart.d.ts +10 -0
- package/organizationchart/OrganizationChartNode.vue +8 -1
- package/organizationchart/organizationchart.cjs.js +21 -3
- package/organizationchart/organizationchart.cjs.min.js +1 -1
- package/organizationchart/organizationchart.esm.js +16 -3
- package/organizationchart/organizationchart.esm.min.js +1 -1
- package/organizationchart/organizationchart.js +21 -5
- package/organizationchart/organizationchart.min.js +1 -1
- package/overlaypanel/OverlayPanel.d.ts +65 -0
- package/overlaypanel/OverlayPanel.vue +15 -5
- package/overlaypanel/overlaypanel.cjs.js +23 -11
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +22 -12
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +23 -13
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +2 -3
- package/paginator/FirstPageLink.vue +11 -1
- package/paginator/LastPageLink.vue +11 -1
- package/paginator/NextPageLink.vue +11 -1
- package/paginator/Paginator.d.ts +17 -1
- package/paginator/Paginator.vue +4 -4
- package/paginator/PrevPageLink.vue +11 -1
- package/paginator/paginator.cjs.js +70 -34
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +67 -35
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +68 -36
- package/paginator/paginator.min.js +1 -1
- package/panel/Panel.d.ts +101 -1
- package/panel/Panel.vue +22 -9
- package/panel/panel.cjs.js +44 -27
- package/panel/panel.cjs.min.js +1 -1
- package/panel/panel.esm.js +42 -28
- package/panel/panel.esm.min.js +1 -1
- package/panel/panel.js +43 -29
- package/panel/panel.min.js +1 -1
- package/panelmenu/PanelMenu.d.ts +170 -0
- package/panelmenu/PanelMenu.vue +45 -17
- package/panelmenu/PanelMenuList.vue +6 -3
- package/panelmenu/PanelMenuSub.vue +48 -19
- package/panelmenu/panelmenu.cjs.js +175 -118
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +173 -119
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +174 -120
- package/panelmenu/panelmenu.min.js +1 -1
- package/password/Password.d.ts +20 -2
- package/password/Password.vue +13 -7
- package/password/password.cjs.js +30 -12
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +29 -13
- package/password/password.esm.min.js +1 -1
- package/password/password.js +30 -14
- package/password/password.min.js +1 -1
- package/picklist/PickList.d.ts +56 -0
- package/picklist/PickList.vue +134 -30
- package/picklist/picklist.cjs.js +166 -58
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +159 -59
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +160 -60
- package/picklist/picklist.min.js +1 -1
- package/progressbar/ProgressBar.d.ts +40 -0
- package/progressbar/ProgressBar.vue +8 -5
- package/progressbar/progressbar.cjs.js +25 -23
- package/progressbar/progressbar.cjs.min.js +1 -1
- package/progressbar/progressbar.esm.js +22 -24
- package/progressbar/progressbar.esm.min.js +1 -1
- package/progressbar/progressbar.js +26 -25
- package/progressbar/progressbar.min.js +1 -1
- package/progressspinner/ProgressSpinner.d.ts +40 -0
- package/progressspinner/ProgressSpinner.vue +6 -3
- package/progressspinner/progressspinner.cjs.js +18 -13
- package/progressspinner/progressspinner.cjs.min.js +1 -1
- package/progressspinner/progressspinner.esm.js +15 -14
- package/progressspinner/progressspinner.esm.min.js +1 -1
- package/progressspinner/progressspinner.js +19 -15
- package/progressspinner/progressspinner.min.js +1 -1
- package/rating/Rating.d.ts +3 -3
- package/rating/Rating.vue +14 -15
- package/rating/rating.cjs.js +26 -21
- package/rating/rating.cjs.min.js +1 -1
- package/rating/rating.esm.js +21 -22
- package/rating/rating.esm.min.js +1 -1
- package/rating/rating.js +25 -23
- package/rating/rating.min.js +1 -1
- package/resources/primevue.css +3 -1
- package/resources/primevue.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +80 -1
- package/resources/themes/arya-green/theme.css +80 -1
- package/resources/themes/arya-orange/theme.css +80 -1
- package/resources/themes/arya-purple/theme.css +80 -1
- package/resources/themes/bootstrap4-dark-blue/theme.css +80 -1
- package/resources/themes/bootstrap4-dark-purple/theme.css +80 -1
- package/resources/themes/bootstrap4-light-blue/theme.css +80 -1
- package/resources/themes/bootstrap4-light-purple/theme.css +80 -1
- package/resources/themes/fluent-light/theme.css +80 -1
- package/resources/themes/lara-dark-blue/theme.css +80 -1
- package/resources/themes/lara-dark-indigo/theme.css +80 -1
- package/resources/themes/lara-dark-purple/theme.css +80 -1
- package/resources/themes/lara-dark-teal/theme.css +80 -1
- package/resources/themes/lara-light-blue/theme.css +80 -1
- package/resources/themes/lara-light-indigo/theme.css +80 -1
- package/resources/themes/lara-light-purple/theme.css +80 -1
- package/resources/themes/lara-light-teal/theme.css +80 -1
- package/resources/themes/luna-amber/theme.css +80 -1
- package/resources/themes/luna-blue/theme.css +80 -1
- package/resources/themes/luna-green/theme.css +80 -1
- package/resources/themes/luna-pink/theme.css +80 -1
- package/resources/themes/md-dark-deeppurple/theme.css +83 -1
- package/resources/themes/md-dark-indigo/theme.css +83 -1
- package/resources/themes/md-light-deeppurple/theme.css +83 -1
- package/resources/themes/md-light-indigo/theme.css +83 -1
- package/resources/themes/mdc-dark-deeppurple/theme.css +83 -1
- package/resources/themes/mdc-dark-indigo/theme.css +83 -1
- package/resources/themes/mdc-light-deeppurple/theme.css +83 -1
- package/resources/themes/mdc-light-indigo/theme.css +83 -1
- package/resources/themes/mira/theme.css +80 -1
- package/resources/themes/nano/theme.css +80 -1
- package/resources/themes/nova/theme.css +80 -1
- package/resources/themes/nova-accent/theme.css +80 -1
- package/resources/themes/nova-alt/theme.css +80 -1
- package/resources/themes/nova-vue/theme.css +80 -1
- package/resources/themes/rhea/theme.css +80 -1
- package/resources/themes/saga-blue/theme.css +80 -1
- package/resources/themes/saga-green/theme.css +80 -1
- package/resources/themes/saga-orange/theme.css +80 -1
- package/resources/themes/saga-purple/theme.css +80 -1
- package/resources/themes/soho-dark/theme.css +80 -1
- package/resources/themes/soho-light/theme.css +80 -1
- package/resources/themes/tailwind-light/theme.css +80 -1
- package/resources/themes/vela-blue/theme.css +80 -1
- package/resources/themes/vela-green/theme.css +80 -1
- package/resources/themes/vela-orange/theme.css +80 -1
- package/resources/themes/vela-purple/theme.css +80 -1
- package/resources/themes/viva-dark/theme.css +80 -1
- package/resources/themes/viva-light/theme.css +80 -1
- package/scrollpanel/ScrollPanel.d.ts +74 -0
- package/scrollpanel/ScrollPanel.vue +7 -3
- package/scrollpanel/scrollpanel.cjs.js +19 -15
- package/scrollpanel/scrollpanel.cjs.min.js +1 -1
- package/scrollpanel/scrollpanel.esm.js +16 -16
- package/scrollpanel/scrollpanel.esm.min.js +1 -1
- package/scrollpanel/scrollpanel.js +20 -17
- package/scrollpanel/scrollpanel.min.js +1 -1
- package/scrolltop/ScrollTop.d.ts +56 -2
- package/scrolltop/ScrollTop.vue +11 -6
- package/scrolltop/scrolltop.cjs.js +22 -12
- package/scrolltop/scrolltop.cjs.min.js +1 -1
- package/scrolltop/scrolltop.esm.js +18 -13
- package/scrolltop/scrolltop.esm.min.js +1 -1
- package/scrolltop/scrolltop.js +22 -14
- package/scrolltop/scrolltop.min.js +1 -1
- package/sidebar/Sidebar.d.ts +73 -1
- package/sidebar/Sidebar.vue +15 -9
- package/sidebar/sidebar.cjs.js +33 -26
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +32 -27
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +33 -28
- package/sidebar/sidebar.min.js +1 -1
- package/skeleton/Skeleton.d.ts +32 -0
- package/skeleton/Skeleton.vue +4 -1
- package/skeleton/skeleton.cjs.js +10 -4
- package/skeleton/skeleton.cjs.min.js +1 -1
- package/skeleton/skeleton.esm.js +7 -5
- package/skeleton/skeleton.esm.min.js +1 -1
- package/skeleton/skeleton.js +11 -6
- package/skeleton/skeleton.min.js +1 -1
- package/speeddial/SpeedDial.d.ts +113 -1
- package/speeddial/SpeedDial.vue +45 -14
- package/speeddial/speeddial.cjs.js +65 -34
- package/speeddial/speeddial.cjs.min.js +1 -1
- package/speeddial/speeddial.esm.js +64 -35
- package/speeddial/speeddial.esm.min.js +1 -1
- package/speeddial/speeddial.js +65 -36
- package/speeddial/speeddial.min.js +1 -1
- package/splitbutton/SplitButton.d.ts +74 -0
- package/splitbutton/SplitButton.vue +23 -7
- package/splitbutton/splitbutton.cjs.js +40 -16
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +39 -17
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +40 -18
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/Splitter.d.ts +51 -0
- package/splitter/Splitter.vue +15 -3
- package/splitter/splitter.cjs.js +16 -11
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.esm.js +13 -12
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +17 -13
- package/splitter/splitter.min.js +1 -1
- package/splitterpanel/SplitterPanel.d.ts +32 -0
- package/splitterpanel/SplitterPanel.vue +4 -1
- package/splitterpanel/splitterpanel.cjs.js +10 -4
- package/splitterpanel/splitterpanel.cjs.min.js +1 -1
- package/splitterpanel/splitterpanel.esm.js +7 -5
- package/splitterpanel/splitterpanel.esm.min.js +1 -1
- package/splitterpanel/splitterpanel.js +11 -6
- package/splitterpanel/splitterpanel.min.js +1 -1
- package/steps/Steps.d.ts +52 -0
- package/steps/Steps.vue +11 -8
- package/steps/steps.cjs.js +34 -33
- package/steps/steps.cjs.min.js +1 -1
- package/steps/steps.esm.js +31 -34
- package/steps/steps.esm.min.js +1 -1
- package/steps/steps.js +35 -35
- package/steps/steps.min.js +1 -1
- package/tabmenu/TabMenu.d.ts +93 -0
- package/tabmenu/TabMenu.vue +22 -10
- package/tabmenu/tabmenu.cjs.js +61 -43
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +61 -44
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +62 -45
- package/tabmenu/tabmenu.min.js +1 -1
- package/tabpanel/TabPanel.d.ts +52 -2
- package/tabpanel/TabPanel.vue +2 -0
- package/tabpanel/tabpanel.cjs.js +6 -0
- package/tabpanel/tabpanel.cjs.min.js +1 -1
- package/tabpanel/tabpanel.esm.js +2 -0
- package/tabpanel/tabpanel.esm.min.js +1 -1
- package/tabpanel/tabpanel.js +7 -2
- package/tabpanel/tabpanel.min.js +1 -1
- package/tabview/TabView.d.ts +108 -3
- package/tabview/TabView.vue +52 -15
- package/tabview/tabview.cjs.js +81 -60
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.esm.js +79 -61
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +80 -62
- package/tabview/tabview.min.js +1 -1
- package/tag/Tag.d.ts +45 -0
- package/tag/Tag.vue +7 -3
- package/tag/tag.cjs.js +19 -12
- package/tag/tag.cjs.min.js +1 -1
- package/tag/tag.esm.js +16 -13
- package/tag/tag.esm.min.js +1 -1
- package/tag/tag.js +20 -14
- package/tag/tag.min.js +1 -1
- package/terminal/Terminal.d.ts +79 -0
- package/terminal/Terminal.vue +12 -10
- package/terminal/terminal.cjs.js +23 -28
- package/terminal/terminal.cjs.min.js +1 -1
- package/terminal/terminal.esm.js +23 -29
- package/terminal/terminal.esm.min.js +1 -1
- package/terminal/terminal.js +24 -30
- package/terminal/terminal.min.js +1 -1
- package/tieredmenu/TieredMenu.d.ts +153 -0
- package/tieredmenu/TieredMenu.vue +5 -2
- package/tieredmenu/TieredMenuSub.vue +52 -15
- package/tieredmenu/tieredmenu.cjs.js +88 -51
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +87 -52
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +88 -53
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toast/Toast.d.ts +94 -6
- package/toast/Toast.vue +10 -7
- package/toast/ToastMessage.vue +35 -14
- package/toast/toast.cjs.js +66 -41
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.esm.js +61 -42
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +62 -43
- package/toast/toast.min.js +1 -1
- package/togglebutton/ToggleButton.d.ts +18 -2
- package/togglebutton/ToggleButton.vue +4 -2
- package/togglebutton/togglebutton.cjs.js +12 -7
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +13 -8
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +12 -7
- package/togglebutton/togglebutton.min.js +1 -1
- package/toolbar/Toolbar.d.ts +44 -0
- package/toolbar/Toolbar.vue +6 -4
- package/toolbar/toolbar.cjs.js +15 -12
- package/toolbar/toolbar.cjs.min.js +1 -1
- package/toolbar/toolbar.esm.js +12 -13
- package/toolbar/toolbar.esm.min.js +1 -1
- package/toolbar/toolbar.js +16 -14
- package/toolbar/toolbar.min.js +1 -1
- package/tree/Tree.d.ts +35 -5
- package/tree/Tree.vue +13 -7
- package/tree/TreeNode.vue +20 -9
- package/tree/tree.cjs.js +73 -25
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +68 -26
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +69 -27
- package/tree/tree.min.js +1 -1
- package/treeselect/TreeSelect.d.ts +33 -0
- package/treeselect/TreeSelect.vue +20 -6
- package/treeselect/treeselect.cjs.js +44 -11
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.esm.js +44 -12
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +45 -13
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/BodyCell.vue +22 -11
- package/treetable/HeaderCell.vue +28 -13
- package/treetable/TreeTable.d.ts +42 -1
- package/treetable/TreeTable.vue +32 -6
- package/treetable/TreeTableRow.vue +6 -0
- package/treetable/treetable.cjs.js +176 -41
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +168 -41
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +170 -43
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/TriStateCheckbox.d.ts +16 -2
- package/tristatecheckbox/TriStateCheckbox.vue +16 -20
- package/tristatecheckbox/tristatecheckbox.cjs.js +23 -22
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +19 -23
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +23 -24
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/Utils.d.ts +1 -0
- package/utils/utils.cjs.js +5 -0
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +5 -0
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +5 -0
- package/utils/utils.min.js +1 -1
- package/vetur-attributes.json +303 -7
- package/vetur-tags.json +137 -53
- package/virtualscroller/VirtualScroller.d.ts +4 -0
- package/virtualscroller/VirtualScroller.vue +12 -1
- package/virtualscroller/virtualscroller.cjs.js +18 -6
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.esm.js +15 -7
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +19 -8
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +1725 -151
- package/fullcalendar/FullCalendar.d.ts +0 -34
- package/fullcalendar/FullCalendar.vue +0 -64
- package/fullcalendar/fullcalendar.cjs.js +0 -67
- package/fullcalendar/fullcalendar.cjs.min.js +0 -1
- package/fullcalendar/fullcalendar.esm.js +0 -65
- package/fullcalendar/fullcalendar.esm.min.js +0 -1
- package/fullcalendar/fullcalendar.js +0 -67
- package/fullcalendar/fullcalendar.min.js +0 -1
- package/fullcalendar/package.json +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("primevue/api"),t=require("primevue/ripple"),i=require("primevue/utils"),s=require("primevue/virtualscroller"),n=require("vue");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(t),a=o(s),r={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:"pi pi-search"},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||i.UniqueComponentId()},options(){this.autoUpdateModel()}},mounted(){this.id=this.id||i.UniqueComponentId(),this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?i.ObjectUtils.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?i.ObjectUtils.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?i.ObjectUtils.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},isOptionDisabled(e){return!!this.optionDisabled&&i.ObjectUtils.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return i.ObjectUtils.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return i.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(){i.DomHandler.focus(this.list);const e=i.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=i.ObjectUtils.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=i.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");i.DomHandler.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else i.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&&i.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=>i.ObjectUtils.equals(e,t,this.equalityKey))):i.ObjectUtils.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return i.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?i.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?i.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?i.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=>!i.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,s=i.DomHandler.findSingle(this.list,`li[id="${t}"]`);s?s.scrollIntoView&&s.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 i.ObjectUtils.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return i.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:l.default},components:{VirtualScroller:a.default}};const d=["id"],p=["tabindex"],c={key:0,class:"p-listbox-header"},u={class:"p-listbox-filter-container"},h=["placeholder","aria-owns","aria-activedescendant","tabindex"],f={role:"status","aria-live":"polite",class:"p-hidden-accessible"},O=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],b=["id"],m=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],x={key:0,class:"p-listbox-empty-message",role:"option"},g={key:1,class:"p-listbox-empty-message",role:"option"},y={key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},I={role:"status","aria-live":"polite",class:"p-hidden-accessible"},S=["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"),r.render=function(e,t,i,s,o,l){const a=n.resolveComponent("VirtualScroller"),r=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("div",{id:o.id,class:n.normalizeClass(l.containerClass),onFocusout:t[10]||(t[10]=(...e)=>l.onFocusout&&l.onFocusout(...e))},[n.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,p),n.renderSlot(e.$slots,"header",{value:i.modelValue,options:l.visibleOptions}),i.filter?(n.openBlock(),n.createElementBlock("div",c,[n.createElementVNode("div",u,[n.withDirectives(n.createElementVNode("input",n.mergeProps({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>o.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":o.id+"_list","aria-activedescendant":l.focusedOptionId,tabindex:i.disabled||o.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,h),[[n.vModelText,o.filterValue]]),n.createElementVNode("span",{class:n.normalizeClass(["p-listbox-filter-icon",i.filterIcon])},null,2)]),n.createElementVNode("span",f,n.toDisplayString(l.filterResultMessageText),1)])):n.createCommentVNode("",!0),n.createElementVNode("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:n.normalizeStyle(i.listStyle)},[n.createVNode(a,n.mergeProps({ref:l.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:l.visibleOptions,tabindex:-1,disabled:l.virtualScrollerDisabled}),n.createSlots({content:n.withCtx((({styleClass:s,contentRef:a,items:d,getItemOptions:p,contentStyle:c,itemSize:u})=>[n.createElementVNode("ul",{ref:e=>l.listRef(e,a),id:o.id+"_list",class:n.normalizeClass(["p-listbox-list",s]),style:n.normalizeStyle(c),tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":o.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))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(d,((i,s)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:l.getOptionRenderKey(i,l.getOptionIndex(s,p))},[l.isOptionGroup(i)?(n.openBlock(),n.createElementBlock("li",{key:0,id:o.id+"_"+l.getOptionIndex(s,p),style:n.normalizeStyle({height:u?u+"px":void 0}),class:"p-listbox-item-group",role:"option"},[n.renderSlot(e.$slots,"optiongroup",{option:i.optionGroup,index:l.getOptionIndex(s,p)},(()=>[n.createTextVNode(n.toDisplayString(l.getOptionGroupLabel(i.optionGroup)),1)]))],12,b)):n.withDirectives((n.openBlock(),n.createElementBlock("li",{key:1,id:o.id+"_"+l.getOptionIndex(s,p),style:n.normalizeStyle({height:u?u+"px":void 0}),class:n.normalizeClass(["p-listbox-item",{"p-highlight":l.isSelected(i),"p-focus":o.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())},[n.renderSlot(e.$slots,"option",{option:i,index:l.getOptionIndex(s,p)},(()=>[n.createTextVNode(n.toDisplayString(l.getOptionLabel(i)),1)]))],46,m)),[[r]])],64)))),128)),o.filterValue&&(!d||d&&0===d.length)?(n.openBlock(),n.createElementBlock("li",x,[n.renderSlot(e.$slots,"emptyfilter",{},(()=>[n.createTextVNode(n.toDisplayString(l.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(n.openBlock(),n.createElementBlock("li",g,[n.renderSlot(e.$slots,"empty",{},(()=>[n.createTextVNode(n.toDisplayString(l.emptyMessageText),1)]))])):n.createCommentVNode("",!0)],46,O)])),_:2},[e.$slots.loader?{name:"loader",fn:n.withCtx((({options:t})=>[n.renderSlot(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),n.renderSlot(e.$slots,"footer",{value:i.modelValue,options:l.visibleOptions}),!i.options||i.options&&0===i.options.length?(n.openBlock(),n.createElementBlock("span",y,n.toDisplayString(l.emptyMessageText),1)):n.createCommentVNode("",!0),n.createElementVNode("span",I,n.toDisplayString(l.selectedMessageText),1),n.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,S)],42,d)},module.exports=r;
|
|
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;
|
package/listbox/listbox.esm.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { FilterService } from 'primevue/api';
|
|
2
|
+
import SearchIcon from 'primevue/icons/search';
|
|
2
3
|
import Ripple from 'primevue/ripple';
|
|
3
4
|
import { UniqueComponentId, ObjectUtils, DomHandler } from 'primevue/utils';
|
|
4
5
|
import VirtualScroller from 'primevue/virtualscroller';
|
|
5
|
-
import { resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, withDirectives, mergeProps, vModelText, toDisplayString, createCommentVNode, normalizeStyle, createVNode, createSlots, withCtx, Fragment, renderList, createTextVNode } from 'vue';
|
|
6
|
+
import { resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, withDirectives, mergeProps, vModelText, createBlock, resolveDynamicComponent, toDisplayString, createCommentVNode, normalizeStyle, createVNode, createSlots, withCtx, Fragment, renderList, createTextVNode } from 'vue';
|
|
6
7
|
|
|
7
8
|
var script = {
|
|
8
9
|
name: 'Listbox',
|
|
@@ -66,7 +67,7 @@ var script = {
|
|
|
66
67
|
},
|
|
67
68
|
filterIcon: {
|
|
68
69
|
type: String,
|
|
69
|
-
default:
|
|
70
|
+
default: undefined
|
|
70
71
|
},
|
|
71
72
|
tabindex: {
|
|
72
73
|
type: Number,
|
|
@@ -655,7 +656,8 @@ var script = {
|
|
|
655
656
|
ripple: Ripple
|
|
656
657
|
},
|
|
657
658
|
components: {
|
|
658
|
-
VirtualScroller: VirtualScroller
|
|
659
|
+
VirtualScroller: VirtualScroller,
|
|
660
|
+
SearchIcon: SearchIcon
|
|
659
661
|
}
|
|
660
662
|
};
|
|
661
663
|
|
|
@@ -739,9 +741,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
739
741
|
}, $props.filterInputProps), null, 16, _hoisted_5), [
|
|
740
742
|
[vModelText, $data.filterValue]
|
|
741
743
|
]),
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
744
|
+
renderSlot(_ctx.$slots, "filtericon", {}, () => [
|
|
745
|
+
(openBlock(), createBlock(resolveDynamicComponent($props.filterIcon ? 'span' : 'SearchIcon'), {
|
|
746
|
+
class: normalizeClass(['p-listbox-filter-icon', $props.filterIcon])
|
|
747
|
+
}, null, 8, ["class"]))
|
|
748
|
+
])
|
|
745
749
|
]),
|
|
746
750
|
createElementVNode("span", _hoisted_6, toDisplayString($options.filterResultMessageText), 1)
|
|
747
751
|
]))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{FilterService as e}from"primevue/api";import t from"primevue/ripple";import{UniqueComponentId as i,ObjectUtils as s,DomHandler as n}from"primevue/utils";import o from"primevue/virtualscroller";import{resolveComponent as l,resolveDirective as a,openBlock as r,createElementBlock as d,normalizeClass as p,createElementVNode as h,renderSlot as u,withDirectives as c,mergeProps as f,vModelText as O,toDisplayString as x,createCommentVNode as b,normalizeStyle as g,createVNode as m,createSlots as y,withCtx as I,Fragment as v,renderList as S,createTextVNode as F}from"vue";var K={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:"pi pi-search"},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||i()},options(){this.autoUpdateModel()}},mounted(){this.id=this.id||i(),this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?s.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?s.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?s.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},isOptionDisabled(e){return!!this.optionDisabled&&s.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return s.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return s.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.focus(this.list);const e=n.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=s.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=n.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");n.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else n.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.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.equals(e,t,this.equalityKey))):s.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return s.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.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.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.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.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.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.filter(t,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):t},hasSelectedOption(){return s.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return s.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:t},components:{VirtualScroller:o}};const M=["id"],V=["tabindex"],L={key:0,class:"p-listbox-header"},w={class:"p-listbox-filter-container"},D=["placeholder","aria-owns","aria-activedescendant","tabindex"],T={role:"status","aria-live":"polite",class:"p-hidden-accessible"},$=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],E=["id"],k=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],R={key:0,class:"p-listbox-empty-message",role:"option"},H={key:1,class:"p-listbox-empty-message",role:"option"},A={key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},G={role:"status","aria-live":"polite",class:"p-hidden-accessible"},C=["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"),K.render=function(e,t,i,s,n,o){const K=l("VirtualScroller"),P=a("ripple");return r(),d("div",{id:n.id,class:p(o.containerClass),onFocusout:t[10]||(t[10]=(...e)=>o.onFocusout&&o.onFocusout(...e))},[h("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)=>o.onFirstHiddenFocus&&o.onFirstHiddenFocus(...e))},null,40,V),u(e.$slots,"header",{value:i.modelValue,options:o.visibleOptions}),i.filter?(r(),d("div",L,[h("div",w,[c(h("input",f({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),null,16,D),[[O,n.filterValue]]),h("span",{class:p(["p-listbox-filter-icon",i.filterIcon])},null,2)]),h("span",T,x(o.filterResultMessageText),1)])):b("",!0),h("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:g(i.listStyle)},[m(K,f({ref:o.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:o.visibleOptions,tabindex:-1,disabled:o.virtualScrollerDisabled}),y({content:I((({styleClass:s,contentRef:l,items:a,getItemOptions:f,contentStyle:O,itemSize:m})=>[h("ul",{ref:e=>o.listRef(e,l),id:n.id+"_list",class:p(["p-listbox-list",s]),style:g(O),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))},[(r(!0),d(v,null,S(a,((i,s)=>(r(),d(v,{key:o.getOptionRenderKey(i,o.getOptionIndex(s,f))},[o.isOptionGroup(i)?(r(),d("li",{key:0,id:n.id+"_"+o.getOptionIndex(s,f),style:g({height:m?m+"px":void 0}),class:"p-listbox-item-group",role:"option"},[u(e.$slots,"optiongroup",{option:i.optionGroup,index:o.getOptionIndex(s,f)},(()=>[F(x(o.getOptionGroupLabel(i.optionGroup)),1)]))],12,E)):c((r(),d("li",{key:1,id:n.id+"_"+o.getOptionIndex(s,f),style:g({height:m?m+"px":void 0}),class:p(["p-listbox-item",{"p-highlight":o.isSelected(i),"p-focus":n.focusedOptionIndex===o.getOptionIndex(s,f),"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,f)),onClick:e=>o.onOptionSelect(e,i,o.getOptionIndex(s,f)),onMousedown:e=>o.onOptionMouseDown(e,o.getOptionIndex(s,f)),onMousemove:e=>o.onOptionMouseMove(e,o.getOptionIndex(s,f)),onTouchend:t[5]||(t[5]=e=>o.onOptionTouchEnd())},[u(e.$slots,"option",{option:i,index:o.getOptionIndex(s,f)},(()=>[F(x(o.getOptionLabel(i)),1)]))],46,k)),[[P]])],64)))),128)),n.filterValue&&(!a||a&&0===a.length)?(r(),d("li",R,[u(e.$slots,"emptyfilter",{},(()=>[F(x(o.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(r(),d("li",H,[u(e.$slots,"empty",{},(()=>[F(x(o.emptyMessageText),1)]))])):b("",!0)],46,$)])),_:2},[e.$slots.loader?{name:"loader",fn:I((({options:t})=>[u(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),u(e.$slots,"footer",{value:i.modelValue,options:o.visibleOptions}),!i.options||i.options&&0===i.options.length?(r(),d("span",A,x(o.emptyMessageText),1)):b("",!0),h("span",G,x(o.selectedMessageText),1),h("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)=>o.onLastHiddenFocus&&o.onLastHiddenFocus(...e))},null,40,C)],42,M)};export{K as default};
|
|
1
|
+
import{FilterService as e}from"primevue/api";import t from"primevue/icons/search";import i from"primevue/ripple";import{UniqueComponentId as s,ObjectUtils as n,DomHandler as o}from"primevue/utils";import l from"primevue/virtualscroller";import{resolveComponent as a,resolveDirective as r,openBlock as d,createElementBlock as p,normalizeClass as h,createElementVNode as u,renderSlot as c,withDirectives as f,mergeProps as O,vModelText as x,createBlock as b,resolveDynamicComponent as g,toDisplayString as m,createCommentVNode as y,normalizeStyle as I,createVNode as v,createSlots as S,withCtx as F,Fragment as K,renderList as M,createTextVNode as V}from"vue";var L={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()},options(){this.autoUpdateModel()}},mounted(){this.id=this.id||s(),this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?n.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?n.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?n.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},isOptionDisabled(e){return!!this.optionDisabled&&n.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return n.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return n.resolveFieldData(e,this.optionGroupChildren)},getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions.slice(0,e).filter((e=>this.isOptionGroup(e))).length:e)+1},onFirstHiddenFocus(){o.focus(this.list);const e=o.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=n.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=o.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");o.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else o.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.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.equals(e,t,this.equalityKey))):n.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return n.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.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.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.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.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=o.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.filter(t,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):t},hasSelectedOption(){return n.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return n.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:i},components:{VirtualScroller:l,SearchIcon:t}};const w=["id"],D=["tabindex"],T={key:0,class:"p-listbox-header"},$={class:"p-listbox-filter-container"},E=["placeholder","aria-owns","aria-activedescendant","tabindex"],k={role:"status","aria-live":"polite",class:"p-hidden-accessible"},R=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],H=["id"],A=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],G={key:0,class:"p-listbox-empty-message",role:"option"},C={key:1,class:"p-listbox-empty-message",role:"option"},P={key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},B={role:"status","aria-live":"polite",class:"p-hidden-accessible"},N=["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"),L.render=function(e,t,i,s,n,o){const l=a("VirtualScroller"),L=r("ripple");return d(),p("div",{id:n.id,class:h(o.containerClass),onFocusout:t[10]||(t[10]=(...e)=>o.onFocusout&&o.onFocusout(...e))},[u("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)=>o.onFirstHiddenFocus&&o.onFirstHiddenFocus(...e))},null,40,D),c(e.$slots,"header",{value:i.modelValue,options:o.visibleOptions}),i.filter?(d(),p("div",T,[u("div",$,[f(u("input",O({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),null,16,E),[[x,n.filterValue]]),c(e.$slots,"filtericon",{},(()=>[(d(),b(g(i.filterIcon?"span":"SearchIcon"),{class:h(["p-listbox-filter-icon",i.filterIcon])},null,8,["class"]))]))]),u("span",k,m(o.filterResultMessageText),1)])):y("",!0),u("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:I(i.listStyle)},[v(l,O({ref:o.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:o.visibleOptions,tabindex:-1,disabled:o.virtualScrollerDisabled}),S({content:F((({styleClass:s,contentRef:l,items:a,getItemOptions:r,contentStyle:O,itemSize:x})=>[u("ul",{ref:e=>o.listRef(e,l),id:n.id+"_list",class:h(["p-listbox-list",s]),style:I(O),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))},[(d(!0),p(K,null,M(a,((i,s)=>(d(),p(K,{key:o.getOptionRenderKey(i,o.getOptionIndex(s,r))},[o.isOptionGroup(i)?(d(),p("li",{key:0,id:n.id+"_"+o.getOptionIndex(s,r),style:I({height:x?x+"px":void 0}),class:"p-listbox-item-group",role:"option"},[c(e.$slots,"optiongroup",{option:i.optionGroup,index:o.getOptionIndex(s,r)},(()=>[V(m(o.getOptionGroupLabel(i.optionGroup)),1)]))],12,H)):f((d(),p("li",{key:1,id:n.id+"_"+o.getOptionIndex(s,r),style:I({height:x?x+"px":void 0}),class:h(["p-listbox-item",{"p-highlight":o.isSelected(i),"p-focus":n.focusedOptionIndex===o.getOptionIndex(s,r),"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,r)),onClick:e=>o.onOptionSelect(e,i,o.getOptionIndex(s,r)),onMousedown:e=>o.onOptionMouseDown(e,o.getOptionIndex(s,r)),onMousemove:e=>o.onOptionMouseMove(e,o.getOptionIndex(s,r)),onTouchend:t[5]||(t[5]=e=>o.onOptionTouchEnd())},[c(e.$slots,"option",{option:i,index:o.getOptionIndex(s,r)},(()=>[V(m(o.getOptionLabel(i)),1)]))],46,A)),[[L]])],64)))),128)),n.filterValue&&(!a||a&&0===a.length)?(d(),p("li",G,[c(e.$slots,"emptyfilter",{},(()=>[V(m(o.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(d(),p("li",C,[c(e.$slots,"empty",{},(()=>[V(m(o.emptyMessageText),1)]))])):y("",!0)],46,R)])),_:2},[e.$slots.loader?{name:"loader",fn:F((({options:t})=>[c(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),c(e.$slots,"footer",{value:i.modelValue,options:o.visibleOptions}),!i.options||i.options&&0===i.options.length?(d(),p("span",P,m(o.emptyMessageText),1)):y("",!0),u("span",B,m(o.selectedMessageText),1),u("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)=>o.onLastHiddenFocus&&o.onLastHiddenFocus(...e))},null,40,N)],42,w)};export{L as default};
|
package/listbox/listbox.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
this.primevue = this.primevue || {};
|
|
2
|
-
this.primevue.listbox = (function (api, Ripple, utils, VirtualScroller, vue) {
|
|
2
|
+
this.primevue.listbox = (function (api, SearchIcon, Ripple, utils, VirtualScroller, vue) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
5
5
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
6
6
|
|
|
7
|
+
var SearchIcon__default = /*#__PURE__*/_interopDefaultLegacy(SearchIcon);
|
|
7
8
|
var Ripple__default = /*#__PURE__*/_interopDefaultLegacy(Ripple);
|
|
8
9
|
var VirtualScroller__default = /*#__PURE__*/_interopDefaultLegacy(VirtualScroller);
|
|
9
10
|
|
|
@@ -69,7 +70,7 @@ this.primevue.listbox = (function (api, Ripple, utils, VirtualScroller, vue) {
|
|
|
69
70
|
},
|
|
70
71
|
filterIcon: {
|
|
71
72
|
type: String,
|
|
72
|
-
default:
|
|
73
|
+
default: undefined
|
|
73
74
|
},
|
|
74
75
|
tabindex: {
|
|
75
76
|
type: Number,
|
|
@@ -658,7 +659,8 @@ this.primevue.listbox = (function (api, Ripple, utils, VirtualScroller, vue) {
|
|
|
658
659
|
ripple: Ripple__default["default"]
|
|
659
660
|
},
|
|
660
661
|
components: {
|
|
661
|
-
VirtualScroller: VirtualScroller__default["default"]
|
|
662
|
+
VirtualScroller: VirtualScroller__default["default"],
|
|
663
|
+
SearchIcon: SearchIcon__default["default"]
|
|
662
664
|
}
|
|
663
665
|
};
|
|
664
666
|
|
|
@@ -742,9 +744,11 @@ this.primevue.listbox = (function (api, Ripple, utils, VirtualScroller, vue) {
|
|
|
742
744
|
}, $props.filterInputProps), null, 16, _hoisted_5), [
|
|
743
745
|
[vue.vModelText, $data.filterValue]
|
|
744
746
|
]),
|
|
745
|
-
vue.
|
|
746
|
-
|
|
747
|
-
|
|
747
|
+
vue.renderSlot(_ctx.$slots, "filtericon", {}, () => [
|
|
748
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.filterIcon ? 'span' : 'SearchIcon'), {
|
|
749
|
+
class: vue.normalizeClass(['p-listbox-filter-icon', $props.filterIcon])
|
|
750
|
+
}, null, 8, ["class"]))
|
|
751
|
+
])
|
|
748
752
|
]),
|
|
749
753
|
vue.createElementVNode("span", _hoisted_6, vue.toDisplayString($options.filterResultMessageText), 1)
|
|
750
754
|
]))
|
|
@@ -904,4 +908,4 @@ this.primevue.listbox = (function (api, Ripple, utils, VirtualScroller, vue) {
|
|
|
904
908
|
|
|
905
909
|
return script;
|
|
906
910
|
|
|
907
|
-
})(primevue.api, primevue.ripple, primevue.utils, primevue.virtualscroller, Vue);
|
|
911
|
+
})(primevue.api, primevue.icons.search, primevue.ripple, primevue.utils, primevue.virtualscroller, Vue);
|
package/listbox/listbox.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primevue=this.primevue||{},this.primevue.listbox=function(e,t,i,s,n){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(t),a=o(s),r={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:"pi pi-search"},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||i.UniqueComponentId()},options(){this.autoUpdateModel()}},mounted(){this.id=this.id||i.UniqueComponentId(),this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?i.ObjectUtils.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?i.ObjectUtils.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?i.ObjectUtils.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},isOptionDisabled(e){return!!this.optionDisabled&&i.ObjectUtils.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return i.ObjectUtils.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return i.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(){i.DomHandler.focus(this.list);const e=i.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=i.ObjectUtils.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=i.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");i.DomHandler.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else i.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&&i.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=>i.ObjectUtils.equals(e,t,this.equalityKey))):i.ObjectUtils.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return i.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?i.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?i.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?i.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=>!i.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,s=i.DomHandler.findSingle(this.list,`li[id="${t}"]`);s?s.scrollIntoView&&s.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 i.ObjectUtils.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return i.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:l.default},components:{VirtualScroller:a.default}};const d=["id"],p=["tabindex"],c={key:0,class:"p-listbox-header"},u={class:"p-listbox-filter-container"},h=["placeholder","aria-owns","aria-activedescendant","tabindex"],f={role:"status","aria-live":"polite",class:"p-hidden-accessible"},O=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],m=["id"],b=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],x={key:0,class:"p-listbox-empty-message",role:"option"},g={key:1,class:"p-listbox-empty-message",role:"option"},y={key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},I={role:"status","aria-live":"polite",class:"p-hidden-accessible"},S=["tabindex"];return 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"),r.render=function(e,t,i,s,o,l){const a=n.resolveComponent("VirtualScroller"),r=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("div",{id:o.id,class:n.normalizeClass(l.containerClass),onFocusout:t[10]||(t[10]=(...e)=>l.onFocusout&&l.onFocusout(...e))},[n.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,p),n.renderSlot(e.$slots,"header",{value:i.modelValue,options:l.visibleOptions}),i.filter?(n.openBlock(),n.createElementBlock("div",c,[n.createElementVNode("div",u,[n.withDirectives(n.createElementVNode("input",n.mergeProps({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>o.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":o.id+"_list","aria-activedescendant":l.focusedOptionId,tabindex:i.disabled||o.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,h),[[n.vModelText,o.filterValue]]),n.createElementVNode("span",{class:n.normalizeClass(["p-listbox-filter-icon",i.filterIcon])},null,2)]),n.createElementVNode("span",f,n.toDisplayString(l.filterResultMessageText),1)])):n.createCommentVNode("",!0),n.createElementVNode("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:n.normalizeStyle(i.listStyle)},[n.createVNode(a,n.mergeProps({ref:l.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:l.visibleOptions,tabindex:-1,disabled:l.virtualScrollerDisabled}),n.createSlots({content:n.withCtx((({styleClass:s,contentRef:a,items:d,getItemOptions:p,contentStyle:c,itemSize:u})=>[n.createElementVNode("ul",{ref:e=>l.listRef(e,a),id:o.id+"_list",class:n.normalizeClass(["p-listbox-list",s]),style:n.normalizeStyle(c),tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":o.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))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(d,((i,s)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:l.getOptionRenderKey(i,l.getOptionIndex(s,p))},[l.isOptionGroup(i)?(n.openBlock(),n.createElementBlock("li",{key:0,id:o.id+"_"+l.getOptionIndex(s,p),style:n.normalizeStyle({height:u?u+"px":void 0}),class:"p-listbox-item-group",role:"option"},[n.renderSlot(e.$slots,"optiongroup",{option:i.optionGroup,index:l.getOptionIndex(s,p)},(()=>[n.createTextVNode(n.toDisplayString(l.getOptionGroupLabel(i.optionGroup)),1)]))],12,m)):n.withDirectives((n.openBlock(),n.createElementBlock("li",{key:1,id:o.id+"_"+l.getOptionIndex(s,p),style:n.normalizeStyle({height:u?u+"px":void 0}),class:n.normalizeClass(["p-listbox-item",{"p-highlight":l.isSelected(i),"p-focus":o.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())},[n.renderSlot(e.$slots,"option",{option:i,index:l.getOptionIndex(s,p)},(()=>[n.createTextVNode(n.toDisplayString(l.getOptionLabel(i)),1)]))],46,b)),[[r]])],64)))),128)),o.filterValue&&(!d||d&&0===d.length)?(n.openBlock(),n.createElementBlock("li",x,[n.renderSlot(e.$slots,"emptyfilter",{},(()=>[n.createTextVNode(n.toDisplayString(l.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(n.openBlock(),n.createElementBlock("li",g,[n.renderSlot(e.$slots,"empty",{},(()=>[n.createTextVNode(n.toDisplayString(l.emptyMessageText),1)]))])):n.createCommentVNode("",!0)],46,O)])),_:2},[e.$slots.loader?{name:"loader",fn:n.withCtx((({options:t})=>[n.renderSlot(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),n.renderSlot(e.$slots,"footer",{value:i.modelValue,options:l.visibleOptions}),!i.options||i.options&&0===i.options.length?(n.openBlock(),n.createElementBlock("span",y,n.toDisplayString(l.emptyMessageText),1)):n.createCommentVNode("",!0),n.createElementVNode("span",I,n.toDisplayString(l.selectedMessageText),1),n.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,S)],42,d)},r}(primevue.api,primevue.ripple,primevue.utils,primevue.virtualscroller,Vue);
|
|
1
|
+
this.primevue=this.primevue||{},this.primevue.listbox=function(e,t,i,s,n,o){"use strict";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"];return 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)},p}(primevue.api,primevue.icons.search,primevue.ripple,primevue.utils,primevue.virtualscroller,Vue);
|
package/megamenu/MegaMenu.d.ts
CHANGED
|
@@ -11,6 +11,150 @@ import { VNode } from 'vue';
|
|
|
11
11
|
import { MenuItem } from '../menuitem';
|
|
12
12
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
13
13
|
|
|
14
|
+
export declare type MegaMenuPassThroughOptionType = MegaMenuPassThroughAttributes | ((options: MegaMenuPassThroughMethodOptions) => MegaMenuPassThroughAttributes) | null | undefined;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Custom passthrough(pt) option method.
|
|
18
|
+
*/
|
|
19
|
+
export interface MegaMenuPassThroughMethodOptions {
|
|
20
|
+
props: MegaMenuProps;
|
|
21
|
+
state: MegaMenuState;
|
|
22
|
+
context: MegaMenuContext;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Custom passthrough(pt) options.
|
|
27
|
+
* @see {@link MegaMenuProps.pt}
|
|
28
|
+
*/
|
|
29
|
+
export interface MegaMenuPassThroughOptions {
|
|
30
|
+
/**
|
|
31
|
+
* Uses to pass attributes to the root's DOM element.
|
|
32
|
+
*/
|
|
33
|
+
root?: MegaMenuPassThroughOptionType;
|
|
34
|
+
/**
|
|
35
|
+
* Uses to pass attributes to the list's DOM element.
|
|
36
|
+
*/
|
|
37
|
+
menu?: MegaMenuPassThroughOptionType;
|
|
38
|
+
/**
|
|
39
|
+
* Uses to pass attributes to the submenu header's DOM element.
|
|
40
|
+
*/
|
|
41
|
+
submenuHeader?: MegaMenuPassThroughOptionType;
|
|
42
|
+
/**
|
|
43
|
+
* Uses to pass attributes to the list item's DOM element.
|
|
44
|
+
*/
|
|
45
|
+
menuitem?: MegaMenuPassThroughOptionType;
|
|
46
|
+
/**
|
|
47
|
+
* Uses to pass attributes to the content's DOM element.
|
|
48
|
+
*/
|
|
49
|
+
content?: MegaMenuPassThroughOptionType;
|
|
50
|
+
/**
|
|
51
|
+
* Uses to pass attributes to the action's DOM element.
|
|
52
|
+
*/
|
|
53
|
+
action?: MegaMenuPassThroughOptionType;
|
|
54
|
+
/**
|
|
55
|
+
* Uses to pass attributes to the icon's DOM element.
|
|
56
|
+
*/
|
|
57
|
+
icon?: MegaMenuPassThroughOptionType;
|
|
58
|
+
/**
|
|
59
|
+
* Uses to pass attributes to the label's DOM element.
|
|
60
|
+
*/
|
|
61
|
+
label?: MegaMenuPassThroughOptionType;
|
|
62
|
+
/**
|
|
63
|
+
* Uses to pass attributes to the submenu icon's DOM element.
|
|
64
|
+
*/
|
|
65
|
+
submenuicon?: MegaMenuPassThroughOptionType;
|
|
66
|
+
/**
|
|
67
|
+
* Uses to pass attributes to the panel's DOM element.
|
|
68
|
+
*/
|
|
69
|
+
panel?: MegaMenuPassThroughOptionType;
|
|
70
|
+
/**
|
|
71
|
+
* Uses to pass attributes to the grid's DOM element.
|
|
72
|
+
*/
|
|
73
|
+
grid?: MegaMenuPassThroughOptionType;
|
|
74
|
+
/**
|
|
75
|
+
* Uses to pass attributes to the column's DOM element.
|
|
76
|
+
*/
|
|
77
|
+
column?: MegaMenuPassThroughOptionType;
|
|
78
|
+
/**
|
|
79
|
+
* Uses to pass attributes to the separator's DOM element.
|
|
80
|
+
*/
|
|
81
|
+
separator?: MegaMenuPassThroughOptionType;
|
|
82
|
+
/**
|
|
83
|
+
* Uses to pass attributes to the start of the component.
|
|
84
|
+
*/
|
|
85
|
+
start?: MegaMenuPassThroughOptionType;
|
|
86
|
+
/**
|
|
87
|
+
* Uses to pass attributes to the end of the component.
|
|
88
|
+
*/
|
|
89
|
+
end?: MegaMenuPassThroughOptionType;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Custom passthrough attributes for each DOM elements
|
|
94
|
+
*/
|
|
95
|
+
export interface MegaMenuPassThroughAttributes {
|
|
96
|
+
[key: string]: any;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Defines focused item info
|
|
101
|
+
*/
|
|
102
|
+
export interface MegaMenuFocusedItemInfo {
|
|
103
|
+
/**
|
|
104
|
+
* Active item index
|
|
105
|
+
*/
|
|
106
|
+
index: number;
|
|
107
|
+
/**
|
|
108
|
+
* Active item level
|
|
109
|
+
*/
|
|
110
|
+
level: number;
|
|
111
|
+
/**
|
|
112
|
+
* Parent key info
|
|
113
|
+
*/
|
|
114
|
+
parentKey: string;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Defines current inline state in MegaMenu component.
|
|
119
|
+
*/
|
|
120
|
+
export interface MegaMenuState {
|
|
121
|
+
/**
|
|
122
|
+
* Current id state as a string.
|
|
123
|
+
*/
|
|
124
|
+
id: string;
|
|
125
|
+
/**
|
|
126
|
+
* Current focus state as a boolean.
|
|
127
|
+
* @defaultValue false
|
|
128
|
+
*/
|
|
129
|
+
focused: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Current focused item info.
|
|
132
|
+
* @type {MegaMenuFocusedItemInfo}
|
|
133
|
+
*/
|
|
134
|
+
focusedItemInfo: MegaMenuFocusedItemInfo;
|
|
135
|
+
/**
|
|
136
|
+
* Active item path.
|
|
137
|
+
* @type {MenuItem}
|
|
138
|
+
*/
|
|
139
|
+
activeItem: MenuItem;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Defines current options in MegaMenu component.
|
|
144
|
+
*/
|
|
145
|
+
export interface MegaMenuContext {
|
|
146
|
+
/**
|
|
147
|
+
* Current active state of menuitem as a boolean.
|
|
148
|
+
* @defaultValue false
|
|
149
|
+
*/
|
|
150
|
+
active: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Current focused state of menuitem as a boolean.
|
|
153
|
+
* @defaultValue false
|
|
154
|
+
*/
|
|
155
|
+
focused: boolean;
|
|
156
|
+
}
|
|
157
|
+
|
|
14
158
|
/**
|
|
15
159
|
* Defines valid properties in MegaMenu component.
|
|
16
160
|
*/
|
|
@@ -46,6 +190,11 @@ export interface MegaMenuProps {
|
|
|
46
190
|
* Identifier of the underlying menu element.
|
|
47
191
|
*/
|
|
48
192
|
'aria-labelledby'?: string | undefined;
|
|
193
|
+
/**
|
|
194
|
+
* Uses to pass attributes to DOM elements inside the component.
|
|
195
|
+
* @type {MegaMenuPassThroughOptions}
|
|
196
|
+
*/
|
|
197
|
+
pt?: MegaMenuPassThroughOptions;
|
|
49
198
|
}
|
|
50
199
|
|
|
51
200
|
/**
|
|
@@ -70,6 +219,29 @@ export interface MegaMenuSlots {
|
|
|
70
219
|
*/
|
|
71
220
|
item: MenuItem;
|
|
72
221
|
}): VNode[];
|
|
222
|
+
/**
|
|
223
|
+
* Custom submenu icon template.
|
|
224
|
+
*/
|
|
225
|
+
submenuicon(scope: {
|
|
226
|
+
/**
|
|
227
|
+
* Whether item is active
|
|
228
|
+
*/
|
|
229
|
+
active: boolean;
|
|
230
|
+
}): VNode[];
|
|
231
|
+
/**
|
|
232
|
+
* Custom item icon template.
|
|
233
|
+
* @param {Object} scope - item icon slot's params.
|
|
234
|
+
*/
|
|
235
|
+
itemicon(scope: {
|
|
236
|
+
/**
|
|
237
|
+
* Menuitem instance
|
|
238
|
+
*/
|
|
239
|
+
item: MenuItem;
|
|
240
|
+
/**
|
|
241
|
+
* Style class of the item icon element.
|
|
242
|
+
*/
|
|
243
|
+
class: any;
|
|
244
|
+
}): VNode[];
|
|
73
245
|
}
|
|
74
246
|
|
|
75
247
|
/**
|