primevue 3.44.0 → 3.46.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/accordion/Accordion.vue +1 -0
- package/accordion/accordion.cjs.js +1 -0
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +1 -0
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +1 -0
- package/accordion/accordion.min.js +1 -1
- package/autocomplete/BaseAutoComplete.vue +1 -1
- package/autocomplete/autocomplete.cjs.js +1 -1
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +1 -1
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +1 -1
- package/autocomplete/autocomplete.min.js +1 -1
- package/basecomponent/BaseComponent.vue +1 -1
- package/basecomponent/basecomponent.cjs.js +2 -2
- package/basecomponent/basecomponent.cjs.min.js +1 -1
- package/basecomponent/basecomponent.esm.js +2 -2
- package/basecomponent/basecomponent.esm.min.js +1 -1
- package/basecomponent/basecomponent.js +2 -2
- package/basecomponent/basecomponent.min.js +1 -1
- package/basecomponent/style/basecomponentstyle.cjs.js +1 -1
- package/basecomponent/style/basecomponentstyle.cjs.min.js +1 -1
- package/basecomponent/style/basecomponentstyle.esm.js +1 -1
- package/basecomponent/style/basecomponentstyle.esm.min.js +1 -1
- package/basecomponent/style/basecomponentstyle.js +1 -1
- package/basecomponent/style/basecomponentstyle.min.js +1 -1
- package/baseicon/BaseIcon.vue +8 -14
- package/baseicon/baseicon.cjs.js +10 -15
- package/baseicon/baseicon.cjs.min.js +1 -1
- package/baseicon/baseicon.esm.js +10 -15
- package/baseicon/baseicon.esm.min.js +1 -1
- package/baseicon/baseicon.js +10 -15
- package/baseicon/baseicon.min.js +1 -1
- package/calendar/BaseCalendar.vue +1 -1
- package/calendar/Calendar.vue +5 -2
- package/calendar/calendar.cjs.js +6 -3
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +6 -3
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +6 -3
- package/calendar/calendar.min.js +1 -1
- package/card/Card.d.ts +4 -0
- package/card/Card.vue +7 -5
- package/card/card.cjs.js +6 -3
- package/card/card.cjs.min.js +1 -1
- package/card/card.esm.js +6 -3
- package/card/card.esm.min.js +1 -1
- package/card/card.js +6 -3
- package/card/card.min.js +1 -1
- package/card/style/cardstyle.cjs.js +1 -0
- package/card/style/cardstyle.cjs.min.js +1 -1
- package/card/style/cardstyle.esm.js +1 -0
- package/card/style/cardstyle.esm.min.js +1 -1
- package/card/style/cardstyle.js +1 -0
- package/card/style/cardstyle.min.js +1 -1
- package/cascadeselect/BaseCascadeSelect.vue +1 -1
- package/cascadeselect/CascadeSelect.d.ts +41 -0
- package/cascadeselect/CascadeSelect.vue +1 -0
- package/cascadeselect/CascadeSelectSub.vue +18 -5
- package/cascadeselect/cascadeselect.cjs.js +20 -6
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.esm.js +20 -6
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +20 -6
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/cascadeselect/style/cascadeselectstyle.cjs.js +1 -1
- package/cascadeselect/style/cascadeselectstyle.cjs.min.js +1 -1
- package/cascadeselect/style/cascadeselectstyle.esm.js +1 -1
- package/cascadeselect/style/cascadeselectstyle.esm.min.js +1 -1
- package/cascadeselect/style/cascadeselectstyle.js +1 -1
- package/cascadeselect/style/cascadeselectstyle.min.js +1 -1
- package/chips/Chips.vue +1 -0
- package/chips/chips.cjs.js +1 -0
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +1 -0
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +1 -0
- package/chips/chips.min.js +1 -1
- package/colorpicker/BaseColorPicker.vue +1 -1
- package/colorpicker/ColorPicker.d.ts +1 -1
- package/colorpicker/colorpicker.cjs.js +1 -1
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +1 -1
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +1 -1
- package/colorpicker/colorpicker.min.js +1 -1
- package/column/Column.d.ts +4 -0
- package/column/Column.vue +7 -0
- package/column/column.cjs.js +9 -0
- package/column/column.cjs.min.js +1 -1
- package/column/column.esm.js +9 -0
- package/column/column.esm.min.js +1 -1
- package/column/column.js +9 -0
- package/column/column.min.js +1 -1
- package/columngroup/ColumnGroup.vue +7 -0
- package/columngroup/columngroup.cjs.js +9 -0
- package/columngroup/columngroup.cjs.min.js +1 -1
- package/columngroup/columngroup.esm.js +9 -0
- package/columngroup/columngroup.esm.min.js +1 -1
- package/columngroup/columngroup.js +9 -0
- package/columngroup/columngroup.min.js +1 -1
- package/confirmdialog/ConfirmDialog.d.ts +1 -1
- package/confirmdialog/ConfirmDialog.vue +1 -1
- package/confirmdialog/confirmdialog.cjs.js +1 -1
- package/confirmdialog/confirmdialog.cjs.min.js +1 -1
- package/confirmdialog/confirmdialog.esm.js +1 -1
- package/confirmdialog/confirmdialog.esm.min.js +1 -1
- package/confirmdialog/confirmdialog.js +1 -1
- package/confirmdialog/confirmdialog.min.js +1 -1
- package/confirmdialog/style/confirmdialogstyle.cjs.js +3 -6
- package/confirmdialog/style/confirmdialogstyle.cjs.min.js +1 -1
- package/confirmdialog/style/confirmdialogstyle.esm.js +3 -6
- package/confirmdialog/style/confirmdialogstyle.esm.min.js +1 -1
- package/confirmdialog/style/confirmdialogstyle.js +3 -6
- package/confirmdialog/style/confirmdialogstyle.min.js +1 -1
- package/confirmpopup/ConfirmPopup.vue +3 -3
- package/confirmpopup/confirmpopup.cjs.js +3 -3
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.esm.js +3 -3
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +3 -3
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/confirmpopup/style/confirmpopupstyle.cjs.js +5 -8
- package/confirmpopup/style/confirmpopupstyle.cjs.min.js +1 -1
- package/confirmpopup/style/confirmpopupstyle.esm.js +5 -8
- package/confirmpopup/style/confirmpopupstyle.esm.min.js +1 -1
- package/confirmpopup/style/confirmpopupstyle.js +5 -8
- package/confirmpopup/style/confirmpopupstyle.min.js +1 -1
- package/contextmenu/BaseContextMenu.vue +1 -1
- package/contextmenu/ContextMenu.vue +1 -0
- package/contextmenu/ContextMenuSub.vue +6 -1
- package/contextmenu/contextmenu.cjs.js +12 -5
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +12 -5
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +12 -5
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +357 -209
- package/core/core.min.js +53 -53
- package/datatable/BaseDataTable.vue +2 -2
- package/datatable/BodyRow.vue +582 -0
- package/datatable/ColumnFilter.vue +1 -0
- package/datatable/DataTable.d.ts +1 -1
- package/datatable/DataTable.vue +111 -132
- package/datatable/HeaderCell.vue +10 -7
- package/datatable/TableBody.vue +74 -414
- package/datatable/TableFooter.vue +19 -26
- package/datatable/TableHeader.vue +19 -26
- package/datatable/datatable.cjs.js +895 -634
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +896 -635
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +895 -634
- package/datatable/datatable.min.js +1 -1
- package/datatable/style/datatablestyle.cjs.js +5 -4
- package/datatable/style/datatablestyle.cjs.min.js +1 -1
- package/datatable/style/datatablestyle.esm.js +5 -4
- package/datatable/style/datatablestyle.esm.min.js +1 -1
- package/datatable/style/datatablestyle.js +5 -4
- package/datatable/style/datatablestyle.min.js +1 -1
- package/dialog/BaseDialog.vue +1 -1
- package/dialog/dialog.cjs.js +1 -1
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +1 -1
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +1 -1
- package/dialog/dialog.min.js +1 -1
- package/dialog/style/dialogstyle.cjs.js +1 -1
- package/dialog/style/dialogstyle.cjs.min.js +1 -1
- package/dialog/style/dialogstyle.esm.js +1 -1
- package/dialog/style/dialogstyle.esm.min.js +1 -1
- package/dialog/style/dialogstyle.js +1 -1
- package/dialog/style/dialogstyle.min.js +1 -1
- package/dock/DockSub.vue +1 -0
- package/dock/dock.cjs.js +1 -0
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +1 -0
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +1 -0
- package/dock/dock.min.js +1 -1
- package/dropdown/BaseDropdown.vue +1 -1
- package/dropdown/Dropdown.vue +26 -0
- package/dropdown/dropdown.cjs.js +50 -26
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +50 -26
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +50 -26
- package/dropdown/dropdown.min.js +1 -1
- package/fieldset/Fieldset.vue +1 -1
- package/fieldset/fieldset.cjs.js +1 -1
- package/fieldset/fieldset.cjs.min.js +1 -1
- package/fieldset/fieldset.esm.js +1 -1
- package/fieldset/fieldset.esm.min.js +1 -1
- package/fieldset/fieldset.js +1 -1
- package/fieldset/fieldset.min.js +1 -1
- package/galleria/GalleriaItem.vue +1 -0
- package/galleria/GalleriaThumbnails.vue +1 -1
- package/galleria/galleria.cjs.js +2 -1
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +2 -1
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +2 -1
- package/galleria/galleria.min.js +1 -1
- package/icons/arrowdown/index.cjs.js +2 -2
- package/icons/arrowdown/index.cjs.min.js +1 -1
- package/icons/arrowdown/index.esm.js +2 -2
- package/icons/arrowdown/index.esm.min.js +1 -1
- package/icons/arrowdown/index.js +2 -2
- package/icons/arrowdown/index.min.js +1 -1
- package/icons/arrowdown/index.vue +1 -1
- package/icons/arrowup/index.cjs.js +2 -2
- package/icons/arrowup/index.cjs.min.js +1 -1
- package/icons/arrowup/index.esm.js +2 -2
- package/icons/arrowup/index.esm.min.js +1 -1
- package/icons/arrowup/index.js +2 -2
- package/icons/arrowup/index.min.js +1 -1
- package/icons/arrowup/index.vue +1 -1
- package/icons/ban/index.cjs.js +2 -2
- package/icons/ban/index.cjs.min.js +1 -1
- package/icons/ban/index.esm.js +2 -2
- package/icons/ban/index.esm.min.js +1 -1
- package/icons/ban/index.js +2 -2
- package/icons/ban/index.min.js +1 -1
- package/icons/ban/index.vue +1 -1
- package/icons/exclamationtriangle/index.cjs.js +2 -2
- package/icons/exclamationtriangle/index.cjs.min.js +1 -1
- package/icons/exclamationtriangle/index.esm.js +2 -2
- package/icons/exclamationtriangle/index.esm.min.js +1 -1
- package/icons/exclamationtriangle/index.js +2 -2
- package/icons/exclamationtriangle/index.min.js +1 -1
- package/icons/exclamationtriangle/index.vue +1 -1
- package/icons/eyeslash/index.cjs.js +2 -2
- package/icons/eyeslash/index.cjs.min.js +1 -1
- package/icons/eyeslash/index.esm.js +2 -2
- package/icons/eyeslash/index.esm.min.js +1 -1
- package/icons/eyeslash/index.js +2 -2
- package/icons/eyeslash/index.min.js +1 -1
- package/icons/eyeslash/index.vue +1 -1
- package/icons/filter/index.cjs.js +2 -2
- package/icons/filter/index.cjs.min.js +1 -1
- package/icons/filter/index.esm.js +2 -2
- package/icons/filter/index.esm.min.js +1 -1
- package/icons/filter/index.js +2 -2
- package/icons/filter/index.min.js +1 -1
- package/icons/filter/index.vue +1 -1
- package/icons/filterslash/index.cjs.js +2 -2
- package/icons/filterslash/index.cjs.min.js +1 -1
- package/icons/filterslash/index.esm.js +2 -2
- package/icons/filterslash/index.esm.min.js +1 -1
- package/icons/filterslash/index.js +2 -2
- package/icons/filterslash/index.min.js +1 -1
- package/icons/filterslash/index.vue +1 -1
- package/icons/infocircle/index.cjs.js +2 -2
- package/icons/infocircle/index.cjs.min.js +1 -1
- package/icons/infocircle/index.esm.js +2 -2
- package/icons/infocircle/index.esm.min.js +1 -1
- package/icons/infocircle/index.js +2 -2
- package/icons/infocircle/index.min.js +1 -1
- package/icons/infocircle/index.vue +1 -1
- package/icons/pencil/index.cjs.js +2 -2
- package/icons/pencil/index.cjs.min.js +1 -1
- package/icons/pencil/index.esm.js +2 -2
- package/icons/pencil/index.esm.min.js +1 -1
- package/icons/pencil/index.js +2 -2
- package/icons/pencil/index.min.js +1 -1
- package/icons/pencil/index.vue +1 -1
- package/icons/plus/index.cjs.js +2 -2
- package/icons/plus/index.cjs.min.js +1 -1
- package/icons/plus/index.esm.js +2 -2
- package/icons/plus/index.esm.min.js +1 -1
- package/icons/plus/index.js +2 -2
- package/icons/plus/index.min.js +1 -1
- package/icons/plus/index.vue +1 -1
- package/icons/refresh/index.cjs.js +2 -2
- package/icons/refresh/index.cjs.min.js +1 -1
- package/icons/refresh/index.esm.js +2 -2
- package/icons/refresh/index.esm.min.js +1 -1
- package/icons/refresh/index.js +2 -2
- package/icons/refresh/index.min.js +1 -1
- package/icons/refresh/index.vue +1 -1
- package/icons/search/index.cjs.js +2 -2
- package/icons/search/index.cjs.min.js +1 -1
- package/icons/search/index.esm.js +2 -2
- package/icons/search/index.esm.min.js +1 -1
- package/icons/search/index.js +2 -2
- package/icons/search/index.min.js +1 -1
- package/icons/search/index.vue +1 -1
- package/icons/searchminus/index.cjs.js +2 -2
- package/icons/searchminus/index.cjs.min.js +1 -1
- package/icons/searchminus/index.esm.js +2 -2
- package/icons/searchminus/index.esm.min.js +1 -1
- package/icons/searchminus/index.js +2 -2
- package/icons/searchminus/index.min.js +1 -1
- package/icons/searchminus/index.vue +1 -1
- package/icons/searchplus/index.cjs.js +2 -2
- package/icons/searchplus/index.cjs.min.js +1 -1
- package/icons/searchplus/index.esm.js +2 -2
- package/icons/searchplus/index.esm.min.js +1 -1
- package/icons/searchplus/index.js +2 -2
- package/icons/searchplus/index.min.js +1 -1
- package/icons/searchplus/index.vue +1 -1
- package/icons/sortalt/index.cjs.js +2 -2
- package/icons/sortalt/index.cjs.min.js +1 -1
- package/icons/sortalt/index.esm.js +2 -2
- package/icons/sortalt/index.esm.min.js +1 -1
- package/icons/sortalt/index.js +2 -2
- package/icons/sortalt/index.min.js +1 -1
- package/icons/sortalt/index.vue +1 -1
- package/icons/sortamountdown/index.cjs.js +12 -9
- package/icons/sortamountdown/index.cjs.min.js +1 -1
- package/icons/sortamountdown/index.esm.js +13 -10
- package/icons/sortamountdown/index.esm.min.js +1 -1
- package/icons/sortamountdown/index.js +12 -9
- package/icons/sortamountdown/index.min.js +1 -1
- package/icons/sortamountdown/index.vue +2 -22
- package/icons/sortamountupalt/index.cjs.js +12 -9
- package/icons/sortamountupalt/index.cjs.min.js +1 -1
- package/icons/sortamountupalt/index.esm.js +13 -10
- package/icons/sortamountupalt/index.esm.min.js +1 -1
- package/icons/sortamountupalt/index.js +12 -9
- package/icons/sortamountupalt/index.min.js +1 -1
- package/icons/sortamountupalt/index.vue +2 -22
- package/icons/spinner/index.cjs.js +2 -2
- package/icons/spinner/index.cjs.min.js +1 -1
- package/icons/spinner/index.esm.js +2 -2
- package/icons/spinner/index.esm.min.js +1 -1
- package/icons/spinner/index.js +2 -2
- package/icons/spinner/index.min.js +1 -1
- package/icons/spinner/index.vue +1 -1
- package/icons/star/index.cjs.js +2 -2
- package/icons/star/index.cjs.min.js +1 -1
- package/icons/star/index.esm.js +2 -2
- package/icons/star/index.esm.min.js +1 -1
- package/icons/star/index.js +2 -2
- package/icons/star/index.min.js +1 -1
- package/icons/star/index.vue +1 -1
- package/icons/starfill/index.cjs.js +2 -2
- package/icons/starfill/index.cjs.min.js +1 -1
- package/icons/starfill/index.esm.js +2 -2
- package/icons/starfill/index.esm.min.js +1 -1
- package/icons/starfill/index.js +2 -2
- package/icons/starfill/index.min.js +1 -1
- package/icons/starfill/index.vue +1 -1
- package/icons/thlarge/index.cjs.js +2 -2
- package/icons/thlarge/index.cjs.min.js +1 -1
- package/icons/thlarge/index.esm.js +2 -2
- package/icons/thlarge/index.esm.min.js +1 -1
- package/icons/thlarge/index.js +2 -2
- package/icons/thlarge/index.min.js +1 -1
- package/icons/thlarge/index.vue +1 -1
- package/icons/timescircle/index.cjs.js +2 -2
- package/icons/timescircle/index.cjs.min.js +1 -1
- package/icons/timescircle/index.esm.js +2 -2
- package/icons/timescircle/index.esm.min.js +1 -1
- package/icons/timescircle/index.js +2 -2
- package/icons/timescircle/index.min.js +1 -1
- package/icons/timescircle/index.vue +1 -1
- package/icons/trash/index.cjs.js +2 -2
- package/icons/trash/index.cjs.min.js +1 -1
- package/icons/trash/index.esm.js +2 -2
- package/icons/trash/index.esm.min.js +1 -1
- package/icons/trash/index.js +2 -2
- package/icons/trash/index.min.js +1 -1
- package/icons/trash/index.vue +1 -1
- package/icons/undo/index.cjs.js +2 -2
- package/icons/undo/index.cjs.min.js +1 -1
- package/icons/undo/index.esm.js +2 -2
- package/icons/undo/index.esm.min.js +1 -1
- package/icons/undo/index.js +2 -2
- package/icons/undo/index.min.js +1 -1
- package/icons/undo/index.vue +1 -1
- package/icons/upload/index.cjs.js +2 -2
- package/icons/upload/index.cjs.min.js +1 -1
- package/icons/upload/index.esm.js +2 -2
- package/icons/upload/index.esm.min.js +1 -1
- package/icons/upload/index.js +2 -2
- package/icons/upload/index.min.js +1 -1
- package/icons/upload/index.vue +1 -1
- package/icons/windowmaximize/index.cjs.js +2 -2
- package/icons/windowmaximize/index.cjs.min.js +1 -1
- package/icons/windowmaximize/index.esm.js +2 -2
- package/icons/windowmaximize/index.esm.min.js +1 -1
- package/icons/windowmaximize/index.js +2 -2
- package/icons/windowmaximize/index.min.js +1 -1
- package/icons/windowmaximize/index.vue +1 -1
- package/icons/windowminimize/index.cjs.js +2 -2
- package/icons/windowminimize/index.cjs.min.js +1 -1
- package/icons/windowminimize/index.esm.js +2 -2
- package/icons/windowminimize/index.esm.min.js +1 -1
- package/icons/windowminimize/index.js +2 -2
- package/icons/windowminimize/index.min.js +1 -1
- package/icons/windowminimize/index.vue +1 -1
- package/image/Image.vue +2 -6
- package/image/image.cjs.js +2 -5
- package/image/image.cjs.min.js +1 -1
- package/image/image.esm.js +2 -5
- package/image/image.esm.min.js +1 -1
- package/image/image.js +2 -5
- package/image/image.min.js +1 -1
- package/image/style/imagestyle.cjs.js +1 -1
- package/image/style/imagestyle.cjs.min.js +1 -1
- package/image/style/imagestyle.esm.js +1 -1
- package/image/style/imagestyle.esm.min.js +1 -1
- package/image/style/imagestyle.js +1 -1
- package/image/style/imagestyle.min.js +1 -1
- package/inputnumber/BaseInputNumber.vue +7 -0
- package/inputnumber/InputNumber.d.ts +7 -0
- package/inputnumber/InputNumber.vue +8 -3
- package/inputnumber/inputnumber.cjs.js +16 -3
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +16 -3
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +16 -3
- package/inputnumber/inputnumber.min.js +1 -1
- package/knob/Knob.vue +1 -1
- package/knob/knob.cjs.js +1 -1
- package/knob/knob.cjs.min.js +1 -1
- package/knob/knob.esm.js +1 -1
- package/knob/knob.esm.min.js +1 -1
- package/knob/knob.js +1 -1
- package/knob/knob.min.js +1 -1
- package/listbox/BaseListbox.vue +1 -1
- package/listbox/Listbox.d.ts +1 -1
- package/listbox/Listbox.vue +2 -0
- package/listbox/listbox.cjs.js +3 -1
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +3 -1
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +3 -1
- package/listbox/listbox.min.js +1 -1
- package/megamenu/MegaMenu.vue +2 -1
- package/megamenu/megamenu.cjs.js +2 -1
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.esm.js +2 -1
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +2 -1
- package/megamenu/megamenu.min.js +1 -1
- package/menu/BaseMenu.vue +1 -1
- package/menu/Menu.vue +1 -0
- package/menu/menu.cjs.js +2 -1
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +2 -1
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +2 -1
- package/menu/menu.min.js +1 -1
- package/menubar/Menubar.vue +4 -2
- package/menubar/MenubarSub.vue +5 -1
- package/menubar/menubar.cjs.js +12 -5
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +12 -5
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +12 -5
- package/menubar/menubar.min.js +1 -1
- package/menuitem/MenuItem.d.ts +0 -6
- package/message/style/messagestyle.cjs.js +1 -1
- package/message/style/messagestyle.cjs.min.js +1 -1
- package/message/style/messagestyle.esm.js +1 -1
- package/message/style/messagestyle.esm.min.js +1 -1
- package/message/style/messagestyle.js +1 -1
- package/message/style/messagestyle.min.js +1 -1
- package/multiselect/BaseMultiSelect.vue +1 -1
- package/multiselect/MultiSelect.vue +2 -0
- package/multiselect/multiselect.cjs.js +3 -1
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +3 -1
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +3 -1
- package/multiselect/multiselect.min.js +1 -1
- package/orderlist/BaseOrderList.vue +1 -1
- package/orderlist/OrderList.d.ts +1 -1
- package/orderlist/OrderList.vue +1 -0
- package/orderlist/orderlist.cjs.js +2 -1
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.esm.js +2 -1
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +2 -1
- package/orderlist/orderlist.min.js +1 -1
- package/organizationchart/OrganizationChartNode.vue +1 -1
- package/organizationchart/organizationchart.cjs.js +1 -1
- package/organizationchart/organizationchart.cjs.min.js +1 -1
- package/organizationchart/organizationchart.esm.js +1 -1
- package/organizationchart/organizationchart.esm.min.js +1 -1
- package/organizationchart/organizationchart.js +1 -1
- package/organizationchart/organizationchart.min.js +1 -1
- package/overlaypanel/BaseOverlayPanel.vue +1 -1
- package/overlaypanel/overlaypanel.cjs.js +1 -1
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +1 -1
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +1 -1
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/paginator/Paginator.vue +4 -4
- package/paginator/paginator.cjs.js +2 -2
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +2 -2
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +2 -2
- package/paginator/paginator.min.js +1 -1
- package/panel/Panel.vue +1 -1
- package/panel/panel.cjs.js +1 -1
- package/panel/panel.cjs.min.js +1 -1
- package/panel/panel.esm.js +1 -1
- package/panel/panel.esm.min.js +1 -1
- package/panel/panel.js +1 -1
- package/panel/panel.min.js +1 -1
- package/panelmenu/PanelMenu.vue +1 -0
- package/panelmenu/PanelMenuList.vue +1 -0
- package/panelmenu/panelmenu.cjs.js +2 -0
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +2 -0
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +2 -0
- package/panelmenu/panelmenu.min.js +1 -1
- package/password/BasePassword.vue +1 -1
- package/password/password.cjs.js +1 -1
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +1 -1
- package/password/password.esm.min.js +1 -1
- package/password/password.js +1 -1
- package/password/password.min.js +1 -1
- package/picklist/BasePickList.vue +1 -1
- package/picklist/PickList.d.ts +1 -1
- package/picklist/PickList.vue +2 -1
- package/picklist/picklist.cjs.js +3 -2
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +3 -2
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +3 -2
- package/picklist/picklist.min.js +1 -1
- package/picklist/style/pickliststyle.cjs.js +1 -1
- package/picklist/style/pickliststyle.cjs.min.js +1 -1
- package/picklist/style/pickliststyle.esm.js +1 -1
- package/picklist/style/pickliststyle.esm.min.js +1 -1
- package/picklist/style/pickliststyle.js +1 -1
- package/picklist/style/pickliststyle.min.js +1 -1
- package/portal/Portal.vue +1 -1
- package/portal/portal.cjs.js +1 -1
- package/portal/portal.cjs.min.js +1 -1
- package/portal/portal.esm.js +1 -1
- package/portal/portal.esm.min.js +1 -1
- package/portal/portal.js +1 -1
- package/portal/portal.min.js +1 -1
- package/resources/themes/arya-blue/theme.css +4 -4
- package/resources/themes/arya-green/theme.css +4 -4
- package/resources/themes/arya-orange/theme.css +4 -4
- package/resources/themes/arya-purple/theme.css +4 -4
- package/resources/themes/bootstrap4-dark-blue/theme.css +4 -4
- package/resources/themes/bootstrap4-dark-purple/theme.css +4 -4
- package/resources/themes/bootstrap4-light-blue/theme.css +4 -4
- package/resources/themes/bootstrap4-light-purple/theme.css +4 -4
- package/resources/themes/fluent-light/theme.css +4 -4
- package/resources/themes/lara-dark-amber/theme.css +4 -4
- package/resources/themes/lara-dark-blue/theme.css +4 -4
- package/resources/themes/lara-dark-cyan/theme.css +4 -4
- package/resources/themes/lara-dark-green/theme.css +4 -4
- package/resources/themes/lara-dark-indigo/theme.css +4 -4
- package/resources/themes/lara-dark-pink/theme.css +4 -4
- package/resources/themes/lara-dark-purple/theme.css +4 -4
- package/resources/themes/lara-dark-teal/theme.css +4 -4
- package/resources/themes/lara-light-amber/theme.css +4 -4
- package/resources/themes/lara-light-blue/theme.css +4 -4
- package/resources/themes/lara-light-cyan/theme.css +4 -4
- package/resources/themes/lara-light-green/theme.css +4 -4
- package/resources/themes/lara-light-indigo/theme.css +4 -4
- package/resources/themes/lara-light-pink/theme.css +4 -4
- package/resources/themes/lara-light-purple/theme.css +4 -4
- package/resources/themes/lara-light-teal/theme.css +44 -44
- package/resources/themes/luna-amber/theme.css +4 -4
- package/resources/themes/luna-blue/theme.css +4 -4
- package/resources/themes/luna-green/theme.css +4 -4
- package/resources/themes/luna-pink/theme.css +4 -4
- package/resources/themes/md-dark-deeppurple/theme.css +4 -4
- package/resources/themes/md-dark-indigo/theme.css +4 -4
- package/resources/themes/md-light-deeppurple/theme.css +4 -4
- package/resources/themes/md-light-indigo/theme.css +4 -4
- package/resources/themes/mdc-dark-deeppurple/theme.css +4 -4
- package/resources/themes/mdc-dark-indigo/theme.css +4 -4
- package/resources/themes/mdc-light-deeppurple/theme.css +4 -4
- package/resources/themes/mdc-light-indigo/theme.css +4 -4
- package/resources/themes/mira/theme.css +4 -4
- package/resources/themes/nano/theme.css +4 -4
- package/resources/themes/nova/theme.css +4 -4
- package/resources/themes/nova-accent/theme.css +4 -4
- package/resources/themes/nova-alt/theme.css +4 -4
- package/resources/themes/nova-vue/theme.css +4 -4
- package/resources/themes/rhea/theme.css +4 -4
- package/resources/themes/saga-blue/theme.css +4 -4
- package/resources/themes/saga-green/theme.css +4 -4
- package/resources/themes/saga-orange/theme.css +4 -4
- package/resources/themes/saga-purple/theme.css +4 -4
- package/resources/themes/soho-dark/theme.css +4 -4
- package/resources/themes/soho-light/theme.css +4 -4
- package/resources/themes/tailwind-light/theme.css +4 -4
- package/resources/themes/vela-blue/theme.css +4 -4
- package/resources/themes/vela-green/theme.css +4 -4
- package/resources/themes/vela-orange/theme.css +4 -4
- package/resources/themes/vela-purple/theme.css +4 -4
- package/resources/themes/viva-dark/theme.css +4 -4
- package/resources/themes/viva-light/theme.css +4 -4
- package/ripple/style/ripplestyle.cjs.js +1 -1
- package/ripple/style/ripplestyle.cjs.min.js +1 -1
- package/ripple/style/ripplestyle.esm.js +1 -1
- package/ripple/style/ripplestyle.esm.min.js +1 -1
- package/ripple/style/ripplestyle.js +1 -1
- package/ripple/style/ripplestyle.min.js +1 -1
- package/row/Row.vue +7 -0
- package/row/row.cjs.js +9 -0
- package/row/row.cjs.min.js +1 -1
- package/row/row.esm.js +9 -0
- package/row/row.esm.min.js +1 -1
- package/row/row.js +9 -0
- package/row/row.min.js +1 -1
- package/sidebar/Sidebar.vue +16 -1
- package/sidebar/sidebar.cjs.js +17 -5
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +17 -5
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +17 -5
- package/sidebar/sidebar.min.js +1 -1
- package/slider/Slider.vue +26 -19
- package/slider/slider.cjs.js +19 -11
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.esm.js +19 -11
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +19 -11
- package/slider/slider.min.js +1 -1
- package/speeddial/SpeedDial.vue +1 -0
- package/speeddial/speeddial.cjs.js +1 -0
- package/speeddial/speeddial.cjs.min.js +1 -1
- package/speeddial/speeddial.esm.js +1 -0
- package/speeddial/speeddial.esm.min.js +1 -1
- package/speeddial/speeddial.js +1 -0
- package/speeddial/speeddial.min.js +1 -1
- package/splitbutton/BaseSplitButton.vue +1 -1
- package/splitbutton/splitbutton.cjs.js +1 -1
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +1 -1
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +1 -1
- package/splitbutton/splitbutton.min.js +1 -1
- package/steps/Steps.vue +3 -1
- package/steps/steps.cjs.js +4 -2
- package/steps/steps.cjs.min.js +1 -1
- package/steps/steps.esm.js +4 -2
- package/steps/steps.esm.min.js +1 -1
- package/steps/steps.js +4 -2
- package/steps/steps.min.js +1 -1
- package/tabmenu/TabMenu.vue +1 -0
- package/tabmenu/tabmenu.cjs.js +1 -0
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +1 -0
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +1 -0
- package/tabmenu/tabmenu.min.js +1 -1
- package/tabview/TabView.vue +1 -0
- package/tabview/tabview.cjs.js +1 -0
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.esm.js +1 -0
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +1 -0
- package/tabview/tabview.min.js +1 -1
- package/terminal/Terminal.vue +1 -1
- package/terminal/terminal.cjs.js +1 -1
- package/terminal/terminal.cjs.min.js +1 -1
- package/terminal/terminal.esm.js +1 -1
- package/terminal/terminal.esm.min.js +1 -1
- package/terminal/terminal.js +1 -1
- package/terminal/terminal.min.js +1 -1
- package/tieredmenu/BaseTieredMenu.vue +1 -1
- package/tieredmenu/TieredMenu.d.ts +4 -0
- package/tieredmenu/TieredMenu.vue +1 -0
- package/tieredmenu/TieredMenuSub.vue +5 -1
- package/tieredmenu/tieredmenu.cjs.js +11 -4
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +11 -4
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +11 -4
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/tooltip/style/tooltipstyle.cjs.js +1 -1
- package/tooltip/style/tooltipstyle.cjs.min.js +1 -1
- package/tooltip/style/tooltipstyle.esm.js +1 -1
- package/tooltip/style/tooltipstyle.esm.min.js +1 -1
- package/tooltip/style/tooltipstyle.js +1 -1
- package/tooltip/style/tooltipstyle.min.js +1 -1
- package/tree/BaseTree.vue +1 -1
- package/tree/Tree.d.ts +1 -1
- package/tree/Tree.vue +1 -1
- package/tree/TreeNode.vue +1 -0
- package/tree/tree.cjs.js +3 -2
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +3 -2
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +3 -2
- package/tree/tree.min.js +1 -1
- package/treeselect/BaseTreeSelect.vue +2 -2
- package/treeselect/TreeSelect.d.ts +1 -1
- package/treeselect/TreeSelect.vue +1 -4
- package/treeselect/treeselect.cjs.js +3 -6
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.esm.js +3 -6
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +3 -6
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/BaseTreeTable.vue +5 -1
- package/treetable/HeaderCell.vue +1 -1
- package/treetable/TreeTable.d.ts +6 -1
- package/treetable/TreeTable.vue +32 -24
- package/treetable/TreeTableRow.vue +32 -20
- package/treetable/style/treetablestyle.cjs.js +1 -1
- package/treetable/style/treetablestyle.cjs.min.js +1 -1
- package/treetable/style/treetablestyle.esm.js +1 -1
- package/treetable/style/treetablestyle.esm.min.js +1 -1
- package/treetable/style/treetablestyle.js +1 -1
- package/treetable/style/treetablestyle.min.js +1 -1
- package/treetable/treetable.cjs.js +70 -43
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +71 -44
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +70 -43
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/TriStateCheckbox.vue +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +1 -1
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/Utils.d.ts +9 -0
- package/utils/utils.cjs.js +142 -41
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +142 -42
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +142 -41
- package/utils/utils.min.js +1 -1
- package/vetur-attributes.json +4 -0
- package/vetur-tags.json +1 -0
- package/virtualscroller/VirtualScroller.vue +19 -15
- package/virtualscroller/style/virtualscrollerstyle.cjs.js +1 -1
- package/virtualscroller/style/virtualscrollerstyle.cjs.min.js +1 -1
- package/virtualscroller/style/virtualscrollerstyle.esm.js +1 -1
- package/virtualscroller/style/virtualscrollerstyle.esm.min.js +1 -1
- package/virtualscroller/style/virtualscrollerstyle.js +1 -1
- package/virtualscroller/style/virtualscrollerstyle.min.js +1 -1
- package/virtualscroller/virtualscroller.cjs.js +19 -15
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.esm.js +19 -15
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +19 -15
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +11 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("primevue/portal"),t=require("primevue/utils"),i=require("primevue/basecomponent"),n=require("primevue/contextmenu/style"),s=require("primevue/icons/angleright"),o=require("primevue/ripple"),r=require("vue");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=c(e),u=c(i),l={name:"BaseContextMenu",extends:u.default,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},tabindex:{type:Number,default:0},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:c(n).default,provide:function(){return{$parentInstance:this}}},m={name:"ContextMenuSub",hostName:"ContextMenu",extends:u.default,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.ObjectUtils.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t),index:i}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){t.DomHandler.nestedPosition(this.$refs.container,this.level)},getMenuItemProps:function(e,t){return{action:r.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r.mergeProps({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:c(s).default},directives:{ripple:c(o).default}},d=["tabindex"],h=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],f=["onClick","onMouseenter"],I=["href","target"],p=["id"];m.render=function(e,t,i,n,s,o){var c=r.resolveComponent("AngleRightIcon"),a=r.resolveComponent("ContextMenuSub",!0),u=r.resolveDirective("ripple");return r.openBlock(),r.createBlock(r.Transition,r.mergeProps({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:r.withCtx((function(){return[i.root||i.visible?(r.openBlock(),r.createElementBlock("ul",r.mergeProps({key:0,ref:"container",tabindex:i.tabindex},e.ptm("menu")),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.items,(function(n,s){return r.openBlock(),r.createElementBlock(r.Fragment,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",n,s),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions("content",n,s)),[i.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.item),{key:1,item:n.item,hasSubmenu:o.getItemProp(n,"items"),label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","hasSubmenu","label","props"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:0,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",n,s)),[i.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.itemicon),{key:0,item:n.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",n,s)),r.toDisplayString(o.getItemLabel(n)),17),o.getItemProp(n,"items")?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[i.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.submenuicon),{key:0,active:o.isItemActive(n),class:r.normalizeClass(e.cx("submenuIcon"))},null,8,["active","class"])):(r.openBlock(),r.createBlock(c,r.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",n,s)),null,16,["class"]))],64)):r.createCommentVNode("",!0)],16,I)),[[u]])],16,f),o.isItemVisible(n)&&o.isItemGroup(n)?(r.openBlock(),r.createBlock(a,r.mergeProps({key:0,id:o.getItemId(n)+"_list",role:"menu",class:e.cx("submenu"),menuId:i.menuId,focusedItemId:i.focusedItemId,items:n.items,templates:i.templates,activeItemPath:i.activeItemPath,level:i.level+1,visible:o.isItemActive(n)&&o.isItemGroup(n),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","level","visible","pt","unstyled"])):r.createCommentVNode("",!0)],16,h)):r.createCommentVNode("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("separator"),o.getItemProp(n,"class")],role:"separator"},e.ptm("separator")),null,16,p)):r.createCommentVNode("",!0)],64)})),128))],16,d)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter"])};var b={name:"ContextMenu",extends:l,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&t.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,i){return e?t.ObjectUtils.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t.DomHandler.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var i=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var i=e.processedItem,n=e.isFocus;if(!t.ObjectUtils.isEmpty(i)){var s=i.index,o=i.key,r=i.level,c=i.parentKey,a=t.ObjectUtils.isNotEmpty(i.items),u=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==o}));a&&(u.push(i),this.submenuVisible=!0),this.focusedItemInfo={index:s,level:r,parentKey:c},this.activeItemPath=u,n&&t.DomHandler.focus(this.list)}},onItemClick:function(e){var i=e.processedItem,n=this.isProccessedItemGroup(i);if(this.isSelected(i)){var s=i.index,o=i.key,r=i.level,c=i.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:c},t.DomHandler.focus(this.list)}else n?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var i=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowLeftKey:function(e){var i=this,n=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===n.parentKey}));t.ObjectUtils.isEmpty(n.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==i.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.searchValue="",this.onArrowDownKey(e)),e.preventDefault()},onHomeKey:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var i=t.DomHandler.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=i&&t.DomHandler.findSingle(i,'a[data-pc-section="action"]');n?n.click():i&&i.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){t.DomHandler.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&t.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),t.DomHandler.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&t.ZIndexUtils.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,i=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:t.DomHandler.getHiddenElementOuterHeight(this.container),o=t.DomHandler.getViewport();e+n-document.body.scrollLeft>o.width&&(e-=n),i+s-document.body.scrollTop>o.height&&(i-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),i<document.body.scrollTop&&(i=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=i+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!t.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemIndex(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=t.DomHandler.findSingle(this.list,'li[id="'.concat(i,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var c=(""!==s?s+"_":"")+r,a={item:e,index:r,level:i,key:c,parent:n,parentKey:s};a.items=t.createProcessedItems(e.items,i+1,a,c),o.push(a)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:m,Portal:a.default}};function v(e){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v(e)}function g(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function y(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?g(Object(i),!0).forEach((function(t){x(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):g(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function x(e,t,i){var n;return(t="symbol"==v(n=P(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function P(e,t){if("object"!=v(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=v(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}b.render=function(e,t,i,n,s,o){var c=r.resolveComponent("ContextMenuSub"),a=r.resolveComponent("Portal");return r.openBlock(),r.createBlock(a,{appendTo:e.appendTo},{default:r.withCtx((function(){return[r.createVNode(r.Transition,r.mergeProps({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:r.withCtx((function(){return[s.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:o.containerRef,class:e.cx("root")},y(y({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[r.createVNode(c,{ref:o.listRef,id:s.id+"_list",class:r.normalizeClass(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])},module.exports=b;
|
|
1
|
+
"use strict";var e=require("primevue/portal"),t=require("primevue/utils"),i=require("primevue/basecomponent"),n=require("primevue/contextmenu/style"),s=require("primevue/icons/angleright"),o=require("primevue/ripple"),r=require("vue");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=a(e),u=a(i),l={name:"BaseContextMenu",extends:u.default,props:{model:{type:Array,default:null},appendTo:{type:[String,Object],default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},tabindex:{type:Number,default:0},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:a(n).default,provide:function(){return{$parentInstance:this}}},m={name:"ContextMenuSub",hostName:"ContextMenu",extends:u.default,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.ObjectUtils.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getItemLabelId:function(e){return"".concat(this.menuId,"_").concat(e.key,"_label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t),index:i}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){t.DomHandler.nestedPosition(this.$refs.container,this.level)},getMenuItemProps:function(e,t){return{action:r.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r.mergeProps({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:a(s).default},directives:{ripple:a(o).default}},d=["tabindex"],h=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],I=["onClick","onMouseenter"],f=["href","target"],p=["id"],b=["id"];m.render=function(e,t,i,n,s,o){var a=r.resolveComponent("AngleRightIcon"),c=r.resolveComponent("ContextMenuSub",!0),u=r.resolveDirective("ripple");return r.openBlock(),r.createBlock(r.Transition,r.mergeProps({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:r.withCtx((function(){return[i.root||i.visible?(r.openBlock(),r.createElementBlock("ul",r.mergeProps({key:0,ref:"container",tabindex:i.tabindex},e.ptm("menu")),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.items,(function(n,s){return r.openBlock(),r.createElementBlock(r.Fragment,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",n,s),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions("content",n,s)),[i.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.item),{key:1,item:n.item,hasSubmenu:o.getItemProp(n,"items"),label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","hasSubmenu","label","props"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:0,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",n,s)),[i.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.itemicon),{key:0,item:n.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({id:o.getItemLabelId(n),class:e.cx("label")},o.getPTOptions("label",n,s)),r.toDisplayString(o.getItemLabel(n)),17,p),o.getItemProp(n,"items")?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[i.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.submenuicon),{key:0,active:o.isItemActive(n),class:r.normalizeClass(e.cx("submenuIcon"))},null,8,["active","class"])):(r.openBlock(),r.createBlock(a,r.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",n,s)),null,16,["class"]))],64)):r.createCommentVNode("",!0)],16,f)),[[u]])],16,I),o.isItemVisible(n)&&o.isItemGroup(n)?(r.openBlock(),r.createBlock(c,r.mergeProps({key:0,id:o.getItemId(n)+"_list",role:"menu",class:e.cx("submenu"),menuId:i.menuId,focusedItemId:i.focusedItemId,items:n.items,templates:i.templates,activeItemPath:i.activeItemPath,level:i.level+1,visible:o.isItemActive(n)&&o.isItemGroup(n),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)}),"aria-labelledby":o.getItemLabelId(n)},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","level","visible","pt","unstyled","aria-labelledby"])):r.createCommentVNode("",!0)],16,h)):r.createCommentVNode("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("separator"),o.getItemProp(n,"class")],role:"separator"},e.ptm("separator")),null,16,b)):r.createCommentVNode("",!0)],64)})),128))],16,d)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter"])};var v={name:"ContextMenu",extends:l,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&t.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,i){return e?t.ObjectUtils.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t.DomHandler.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var i=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":case"NumpadEnter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var i=e.processedItem,n=e.isFocus;if(!t.ObjectUtils.isEmpty(i)){var s=i.index,o=i.key,r=i.level,a=i.parentKey,c=t.ObjectUtils.isNotEmpty(i.items),u=this.activeItemPath.filter((function(e){return e.parentKey!==a&&e.parentKey!==o}));c&&(u.push(i),this.submenuVisible=!0),this.focusedItemInfo={index:s,level:r,parentKey:a},this.activeItemPath=u,n&&t.DomHandler.focus(this.list)}},onItemClick:function(e){var i=e.processedItem,n=this.isProccessedItemGroup(i);if(this.isSelected(i)){var s=i.index,o=i.key,r=i.level,a=i.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:a},t.DomHandler.focus(this.list)}else n?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var i=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowLeftKey:function(e){var i=this,n=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===n.parentKey}));t.ObjectUtils.isEmpty(n.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==i.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.searchValue="",this.onArrowDownKey(e)),e.preventDefault()},onHomeKey:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var i=t.DomHandler.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=i&&t.DomHandler.findSingle(i,'a[data-pc-section="action"]');n?n.click():i&&i.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){t.DomHandler.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&t.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),t.DomHandler.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&t.ZIndexUtils.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,i=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:t.DomHandler.getHiddenElementOuterHeight(this.container),o=t.DomHandler.getViewport();e+n-document.body.scrollLeft>o.width&&(e-=n),i+s-document.body.scrollTop>o.height&&(i-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),i<document.body.scrollTop&&(i=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=i+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!t.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemIndex(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=t.DomHandler.findSingle(this.list,'li[id="'.concat(i,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var a=(""!==s?s+"_":"")+r,c={item:e,index:r,level:i,key:a,parent:n,parentKey:s};c.items=t.createProcessedItems(e.items,i+1,c,a),o.push(c)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:m,Portal:c.default}};function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function y(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function x(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?y(Object(i),!0).forEach((function(t){P(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):y(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function P(e,t,i){var n;return(t="symbol"==g(n=k(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function k(e,t){if("object"!=g(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}v.render=function(e,t,i,n,s,o){var a=r.resolveComponent("ContextMenuSub"),c=r.resolveComponent("Portal");return r.openBlock(),r.createBlock(c,{appendTo:e.appendTo},{default:r.withCtx((function(){return[r.createVNode(r.Transition,r.mergeProps({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:r.withCtx((function(){return[s.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:o.containerRef,class:e.cx("root")},x(x({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[r.createVNode(a,{ref:o.listRef,id:s.id+"_list",class:r.normalizeClass(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])},module.exports=v;
|
|
@@ -15,7 +15,7 @@ var script$2 = {
|
|
|
15
15
|
"default": null
|
|
16
16
|
},
|
|
17
17
|
appendTo: {
|
|
18
|
-
type: String,
|
|
18
|
+
type: [String, Object],
|
|
19
19
|
"default": 'body'
|
|
20
20
|
},
|
|
21
21
|
autoZIndex: {
|
|
@@ -107,6 +107,9 @@ var script$1 = {
|
|
|
107
107
|
getItemLabel: function getItemLabel(processedItem) {
|
|
108
108
|
return this.getItemProp(processedItem, 'label');
|
|
109
109
|
},
|
|
110
|
+
getItemLabelId: function getItemLabelId(processedItem) {
|
|
111
|
+
return "".concat(this.menuId, "_").concat(processedItem.key, "_label");
|
|
112
|
+
},
|
|
110
113
|
getPTOptions: function getPTOptions(key, processedItem, index) {
|
|
111
114
|
return this.ptm(key, {
|
|
112
115
|
context: {
|
|
@@ -199,6 +202,7 @@ var _hoisted_2 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-ha
|
|
|
199
202
|
var _hoisted_3 = ["onClick", "onMouseenter"];
|
|
200
203
|
var _hoisted_4 = ["href", "target"];
|
|
201
204
|
var _hoisted_5 = ["id"];
|
|
205
|
+
var _hoisted_6 = ["id"];
|
|
202
206
|
function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
203
207
|
var _component_AngleRightIcon = resolveComponent("AngleRightIcon");
|
|
204
208
|
var _component_ContextMenuSub = resolveComponent("ContextMenuSub", true);
|
|
@@ -257,8 +261,9 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
257
261
|
key: 1,
|
|
258
262
|
"class": [_ctx.cx('icon'), $options.getItemProp(processedItem, 'icon')]
|
|
259
263
|
}, $options.getPTOptions('icon', processedItem, index)), null, 16)) : createCommentVNode("", true), createElementVNode("span", mergeProps({
|
|
264
|
+
id: $options.getItemLabelId(processedItem),
|
|
260
265
|
"class": _ctx.cx('label')
|
|
261
|
-
}, $options.getPTOptions('label', processedItem, index)), toDisplayString($options.getItemLabel(processedItem)), 17), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {
|
|
266
|
+
}, $options.getPTOptions('label', processedItem, index)), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_5), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {
|
|
262
267
|
key: 2
|
|
263
268
|
}, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), {
|
|
264
269
|
key: 0,
|
|
@@ -292,14 +297,15 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
292
297
|
}),
|
|
293
298
|
onItemMouseenter: _cache[1] || (_cache[1] = function ($event) {
|
|
294
299
|
return _ctx.$emit('item-mouseenter', $event);
|
|
295
|
-
})
|
|
296
|
-
|
|
300
|
+
}),
|
|
301
|
+
"aria-labelledby": $options.getItemLabelId(processedItem)
|
|
302
|
+
}, _ctx.ptm('submenu')), null, 16, ["id", "class", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "level", "visible", "pt", "unstyled", "aria-labelledby"])) : createCommentVNode("", true)], 16, _hoisted_2)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock("li", mergeProps({
|
|
297
303
|
key: 1,
|
|
298
304
|
id: $options.getItemId(processedItem),
|
|
299
305
|
style: $options.getItemProp(processedItem, 'style'),
|
|
300
306
|
"class": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],
|
|
301
307
|
role: "separator"
|
|
302
|
-
}, _ctx.ptm('separator')), null, 16,
|
|
308
|
+
}, _ctx.ptm('separator')), null, 16, _hoisted_6)) : createCommentVNode("", true)], 64);
|
|
303
309
|
}), 128))], 16, _hoisted_1)) : createCommentVNode("", true)];
|
|
304
310
|
}),
|
|
305
311
|
_: 1
|
|
@@ -457,6 +463,7 @@ var script = {
|
|
|
457
463
|
this.onSpaceKey(event);
|
|
458
464
|
break;
|
|
459
465
|
case 'Enter':
|
|
466
|
+
case 'NumpadEnter':
|
|
460
467
|
this.onEnterKey(event);
|
|
461
468
|
break;
|
|
462
469
|
case 'Escape':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"primevue/portal";import{ObjectUtils as t,DomHandler as i,UniqueComponentId as n,ZIndexUtils as s}from"primevue/utils";import o from"primevue/basecomponent";import r from"primevue/contextmenu/style";import a from"primevue/icons/angleright";import c from"primevue/ripple";import{mergeProps as u,resolveComponent as d,resolveDirective as l,openBlock as m,createBlock as h,Transition as f,withCtx as I,createElementBlock as p,Fragment as b,renderList as v,createElementVNode as y,withDirectives as g,resolveDynamicComponent as x,normalizeClass as P,createCommentVNode as L,toDisplayString as k,createVNode as K}from"vue";var w={name:"BaseContextMenu",extends:o,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},tabindex:{type:Number,default:0},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:r,provide:function(){return{$parentInstance:this}}},E={name:"ContextMenuSub",hostName:"ContextMenu",extends:o,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t),index:i}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){i.nestedPosition(this.$refs.container,this.level)},getMenuItemProps:function(e,t){return{action:u({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:u({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:u({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:u({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:a},directives:{ripple:c}},C=["tabindex"],S=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],O=["onClick","onMouseenter"],A=["href","target"],D=["id"];E.render=function(e,t,i,n,s,o){var r=d("AngleRightIcon"),a=d("ContextMenuSub",!0),c=l("ripple");return m(),h(f,u({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:I((function(){return[i.root||i.visible?(m(),p("ul",u({key:0,ref:"container",tabindex:i.tabindex},e.ptm("menu")),[(m(!0),p(b,null,v(i.items,(function(n,s){return m(),p(b,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(m(),p("li",u({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",n,s),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[y("div",u({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions("content",n,s)),[i.templates.item?(m(),h(x(i.templates.item),{key:1,item:n.item,hasSubmenu:o.getItemProp(n,"items"),label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","hasSubmenu","label","props"])):g((m(),p("a",u({key:0,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",n,s)),[i.templates.itemicon?(m(),h(x(i.templates.itemicon),{key:0,item:n.item,class:P([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(m(),p("span",u({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):L("",!0),y("span",u({class:e.cx("label")},o.getPTOptions("label",n,s)),k(o.getItemLabel(n)),17),o.getItemProp(n,"items")?(m(),p(b,{key:2},[i.templates.submenuicon?(m(),h(x(i.templates.submenuicon),{key:0,active:o.isItemActive(n),class:P(e.cx("submenuIcon"))},null,8,["active","class"])):(m(),h(r,u({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",n,s)),null,16,["class"]))],64)):L("",!0)],16,A)),[[c]])],16,O),o.isItemVisible(n)&&o.isItemGroup(n)?(m(),h(a,u({key:0,id:o.getItemId(n)+"_list",role:"menu",class:e.cx("submenu"),menuId:i.menuId,focusedItemId:i.focusedItemId,items:n.items,templates:i.templates,activeItemPath:i.activeItemPath,level:i.level+1,visible:o.isItemActive(n)&&o.isItemGroup(n),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","level","visible","pt","unstyled"])):L("",!0)],16,S)):L("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(m(),p("li",u({key:1,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("separator"),o.getItemProp(n,"class")],role:"separator"},e.ptm("separator")),null,16,D)):L("",!0)],64)})),128))],16,C)):L("",!0)]})),_:1},16,["onEnter"])};var M={name:"ContextMenu",extends:w,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||n()},activeItemPath:function(e){t.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||n(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&s.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,i){return e?t.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},i.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var i=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&t.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,s=e.isFocus;if(!t.isEmpty(n)){var o=n.index,r=n.key,a=n.level,c=n.parentKey,u=t.isNotEmpty(n.items),d=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==r}));u&&(d.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:o,level:a,parentKey:c},this.activeItemPath=d,s&&i.focus(this.list)}},onItemClick:function(e){var t=e.processedItem,n=this.isProccessedItemGroup(t);if(this.isSelected(t)){var s=t.index,o=t.key,r=t.level,a=t.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:a},i.focus(this.list)}else n?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var i=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowLeftKey:function(e){var i=this,n=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===n.parentKey}));t.isEmpty(n.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==i.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.searchValue="",this.onArrowDownKey(e)),e.preventDefault()},onHomeKey:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var t=i.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=t&&i.findSingle(t,'a[data-pc-section="action"]');n?n.click():t&&t.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){i.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&s.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),i.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&s.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,t=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:i.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:i.getHiddenElementOuterHeight(this.container),o=i.getViewport();e+n-document.body.scrollLeft>o.width&&(e-=n),t+s-document.body.scrollTop>o.height&&(t-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),t<document.body.scrollTop&&(t=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=t+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!i.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemIndex(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=i.findSingle(this.list,'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var a=(""!==s?s+"_":"")+r,c={item:e,index:r,level:i,key:a,parent:n,parentKey:s};c.items=t.createProcessedItems(e.items,i+1,c,a),o.push(c)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:E,Portal:e}};function V(e){return V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},V(e)}function F(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function T(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?F(Object(i),!0).forEach((function(t){z(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):F(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function z(e,t,i){var n;return(t="symbol"==V(n=R(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function R(e,t){if("object"!=V(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=V(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}M.render=function(e,t,i,n,s,o){var r=d("ContextMenuSub"),a=d("Portal");return m(),h(a,{appendTo:e.appendTo},{default:I((function(){return[K(f,u({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:I((function(){return[s.visible?(m(),p("div",u({key:0,ref:o.containerRef,class:e.cx("root")},T(T({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[K(r,{ref:o.listRef,id:s.id+"_list",class:P(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):L("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])};export{M as default};
|
|
1
|
+
import e from"primevue/portal";import{ObjectUtils as t,DomHandler as i,UniqueComponentId as n,ZIndexUtils as s}from"primevue/utils";import o from"primevue/basecomponent";import r from"primevue/contextmenu/style";import a from"primevue/icons/angleright";import c from"primevue/ripple";import{mergeProps as u,resolveComponent as d,resolveDirective as l,openBlock as m,createBlock as h,Transition as f,withCtx as I,createElementBlock as p,Fragment as b,renderList as v,createElementVNode as y,withDirectives as g,resolveDynamicComponent as x,normalizeClass as P,createCommentVNode as L,toDisplayString as k,createVNode as E}from"vue";var K={name:"BaseContextMenu",extends:o,props:{model:{type:Array,default:null},appendTo:{type:[String,Object],default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},tabindex:{type:Number,default:0},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:r,provide:function(){return{$parentInstance:this}}},w={name:"ContextMenuSub",hostName:"ContextMenu",extends:o,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getItemLabelId:function(e){return"".concat(this.menuId,"_").concat(e.key,"_label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t),index:i}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){i.nestedPosition(this.$refs.container,this.level)},getMenuItemProps:function(e,t){return{action:u({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:u({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:u({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:u({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:a},directives:{ripple:c}},C=["tabindex"],S=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],O=["onClick","onMouseenter"],A=["href","target"],D=["id"],M=["id"];w.render=function(e,t,i,n,s,o){var r=d("AngleRightIcon"),a=d("ContextMenuSub",!0),c=l("ripple");return m(),h(f,u({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:I((function(){return[i.root||i.visible?(m(),p("ul",u({key:0,ref:"container",tabindex:i.tabindex},e.ptm("menu")),[(m(!0),p(b,null,v(i.items,(function(n,s){return m(),p(b,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(m(),p("li",u({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",n,s),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[y("div",u({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions("content",n,s)),[i.templates.item?(m(),h(x(i.templates.item),{key:1,item:n.item,hasSubmenu:o.getItemProp(n,"items"),label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","hasSubmenu","label","props"])):g((m(),p("a",u({key:0,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",n,s)),[i.templates.itemicon?(m(),h(x(i.templates.itemicon),{key:0,item:n.item,class:P([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(m(),p("span",u({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):L("",!0),y("span",u({id:o.getItemLabelId(n),class:e.cx("label")},o.getPTOptions("label",n,s)),k(o.getItemLabel(n)),17,D),o.getItemProp(n,"items")?(m(),p(b,{key:2},[i.templates.submenuicon?(m(),h(x(i.templates.submenuicon),{key:0,active:o.isItemActive(n),class:P(e.cx("submenuIcon"))},null,8,["active","class"])):(m(),h(r,u({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",n,s)),null,16,["class"]))],64)):L("",!0)],16,A)),[[c]])],16,O),o.isItemVisible(n)&&o.isItemGroup(n)?(m(),h(a,u({key:0,id:o.getItemId(n)+"_list",role:"menu",class:e.cx("submenu"),menuId:i.menuId,focusedItemId:i.focusedItemId,items:n.items,templates:i.templates,activeItemPath:i.activeItemPath,level:i.level+1,visible:o.isItemActive(n)&&o.isItemGroup(n),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)}),"aria-labelledby":o.getItemLabelId(n)},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","level","visible","pt","unstyled","aria-labelledby"])):L("",!0)],16,S)):L("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(m(),p("li",u({key:1,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("separator"),o.getItemProp(n,"class")],role:"separator"},e.ptm("separator")),null,16,M)):L("",!0)],64)})),128))],16,C)):L("",!0)]})),_:1},16,["onEnter"])};var V={name:"ContextMenu",extends:K,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||n()},activeItemPath:function(e){t.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||n(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&s.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,i){return e?t.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},i.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var i=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":case"NumpadEnter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&t.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,s=e.isFocus;if(!t.isEmpty(n)){var o=n.index,r=n.key,a=n.level,c=n.parentKey,u=t.isNotEmpty(n.items),d=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==r}));u&&(d.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:o,level:a,parentKey:c},this.activeItemPath=d,s&&i.focus(this.list)}},onItemClick:function(e){var t=e.processedItem,n=this.isProccessedItemGroup(t);if(this.isSelected(t)){var s=t.index,o=t.key,r=t.level,a=t.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:a},i.focus(this.list)}else n?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var i=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowLeftKey:function(e){var i=this,n=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===n.parentKey}));t.isEmpty(n.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==i.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.searchValue="",this.onArrowDownKey(e)),e.preventDefault()},onHomeKey:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var t=i.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=t&&i.findSingle(t,'a[data-pc-section="action"]');n?n.click():t&&t.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){i.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&s.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),i.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&s.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,t=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:i.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:i.getHiddenElementOuterHeight(this.container),o=i.getViewport();e+n-document.body.scrollLeft>o.width&&(e-=n),t+s-document.body.scrollTop>o.height&&(t-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),t<document.body.scrollTop&&(t=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=t+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!i.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemIndex(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=i.findSingle(this.list,'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var a=(""!==s?s+"_":"")+r,c={item:e,index:r,level:i,key:a,parent:n,parentKey:s};c.items=t.createProcessedItems(e.items,i+1,c,a),o.push(c)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:w,Portal:e}};function F(e){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F(e)}function T(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function z(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?T(Object(i),!0).forEach((function(t){j(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):T(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function j(e,t,i){var n;return(t="symbol"==F(n=R(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function R(e,t){if("object"!=F(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=F(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}V.render=function(e,t,i,n,s,o){var r=d("ContextMenuSub"),a=d("Portal");return m(),h(a,{appendTo:e.appendTo},{default:I((function(){return[E(f,u({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:I((function(){return[s.visible?(m(),p("div",u({key:0,ref:o.containerRef,class:e.cx("root")},z(z({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[E(r,{ref:o.listRef,id:s.id+"_list",class:P(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):L("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])};export{V as default};
|
|
@@ -19,7 +19,7 @@ this.primevue.contextmenu = (function (Portal, utils, BaseComponent, ContextMenu
|
|
|
19
19
|
"default": null
|
|
20
20
|
},
|
|
21
21
|
appendTo: {
|
|
22
|
-
type: String,
|
|
22
|
+
type: [String, Object],
|
|
23
23
|
"default": 'body'
|
|
24
24
|
},
|
|
25
25
|
autoZIndex: {
|
|
@@ -111,6 +111,9 @@ this.primevue.contextmenu = (function (Portal, utils, BaseComponent, ContextMenu
|
|
|
111
111
|
getItemLabel: function getItemLabel(processedItem) {
|
|
112
112
|
return this.getItemProp(processedItem, 'label');
|
|
113
113
|
},
|
|
114
|
+
getItemLabelId: function getItemLabelId(processedItem) {
|
|
115
|
+
return "".concat(this.menuId, "_").concat(processedItem.key, "_label");
|
|
116
|
+
},
|
|
114
117
|
getPTOptions: function getPTOptions(key, processedItem, index) {
|
|
115
118
|
return this.ptm(key, {
|
|
116
119
|
context: {
|
|
@@ -203,6 +206,7 @@ this.primevue.contextmenu = (function (Portal, utils, BaseComponent, ContextMenu
|
|
|
203
206
|
var _hoisted_3 = ["onClick", "onMouseenter"];
|
|
204
207
|
var _hoisted_4 = ["href", "target"];
|
|
205
208
|
var _hoisted_5 = ["id"];
|
|
209
|
+
var _hoisted_6 = ["id"];
|
|
206
210
|
function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
207
211
|
var _component_AngleRightIcon = vue.resolveComponent("AngleRightIcon");
|
|
208
212
|
var _component_ContextMenuSub = vue.resolveComponent("ContextMenuSub", true);
|
|
@@ -261,8 +265,9 @@ this.primevue.contextmenu = (function (Portal, utils, BaseComponent, ContextMenu
|
|
|
261
265
|
key: 1,
|
|
262
266
|
"class": [_ctx.cx('icon'), $options.getItemProp(processedItem, 'icon')]
|
|
263
267
|
}, $options.getPTOptions('icon', processedItem, index)), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", vue.mergeProps({
|
|
268
|
+
id: $options.getItemLabelId(processedItem),
|
|
264
269
|
"class": _ctx.cx('label')
|
|
265
|
-
}, $options.getPTOptions('label', processedItem, index)), vue.toDisplayString($options.getItemLabel(processedItem)), 17), $options.getItemProp(processedItem, 'items') ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
270
|
+
}, $options.getPTOptions('label', processedItem, index)), vue.toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_5), $options.getItemProp(processedItem, 'items') ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
266
271
|
key: 2
|
|
267
272
|
}, [$props.templates.submenuicon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.submenuicon), {
|
|
268
273
|
key: 0,
|
|
@@ -296,14 +301,15 @@ this.primevue.contextmenu = (function (Portal, utils, BaseComponent, ContextMenu
|
|
|
296
301
|
}),
|
|
297
302
|
onItemMouseenter: _cache[1] || (_cache[1] = function ($event) {
|
|
298
303
|
return _ctx.$emit('item-mouseenter', $event);
|
|
299
|
-
})
|
|
300
|
-
|
|
304
|
+
}),
|
|
305
|
+
"aria-labelledby": $options.getItemLabelId(processedItem)
|
|
306
|
+
}, _ctx.ptm('submenu')), null, 16, ["id", "class", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "level", "visible", "pt", "unstyled", "aria-labelledby"])) : vue.createCommentVNode("", true)], 16, _hoisted_2)) : vue.createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, 'separator') ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
|
|
301
307
|
key: 1,
|
|
302
308
|
id: $options.getItemId(processedItem),
|
|
303
309
|
style: $options.getItemProp(processedItem, 'style'),
|
|
304
310
|
"class": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],
|
|
305
311
|
role: "separator"
|
|
306
|
-
}, _ctx.ptm('separator')), null, 16,
|
|
312
|
+
}, _ctx.ptm('separator')), null, 16, _hoisted_6)) : vue.createCommentVNode("", true)], 64);
|
|
307
313
|
}), 128))], 16, _hoisted_1)) : vue.createCommentVNode("", true)];
|
|
308
314
|
}),
|
|
309
315
|
_: 1
|
|
@@ -461,6 +467,7 @@ this.primevue.contextmenu = (function (Portal, utils, BaseComponent, ContextMenu
|
|
|
461
467
|
this.onSpaceKey(event);
|
|
462
468
|
break;
|
|
463
469
|
case 'Enter':
|
|
470
|
+
case 'NumpadEnter':
|
|
464
471
|
this.onEnterKey(event);
|
|
465
472
|
break;
|
|
466
473
|
case 'Escape':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primevue=this.primevue||{},this.primevue.contextmenu=function(e,t,i,n,s,o,r){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=c(e),u=c(i),l={name:"BaseContextMenu",extends:u.default,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},tabindex:{type:Number,default:0},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:c(n).default,provide:function(){return{$parentInstance:this}}},m={name:"ContextMenuSub",hostName:"ContextMenu",extends:u.default,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.ObjectUtils.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t),index:i}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){t.DomHandler.nestedPosition(this.$refs.container,this.level)},getMenuItemProps:function(e,t){return{action:r.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r.mergeProps({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:c(s).default},directives:{ripple:c(o).default}},d=["tabindex"],h=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],f=["onClick","onMouseenter"],I=["href","target"],p=["id"];m.render=function(e,t,i,n,s,o){var c=r.resolveComponent("AngleRightIcon"),a=r.resolveComponent("ContextMenuSub",!0),u=r.resolveDirective("ripple");return r.openBlock(),r.createBlock(r.Transition,r.mergeProps({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:r.withCtx((function(){return[i.root||i.visible?(r.openBlock(),r.createElementBlock("ul",r.mergeProps({key:0,ref:"container",tabindex:i.tabindex},e.ptm("menu")),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.items,(function(n,s){return r.openBlock(),r.createElementBlock(r.Fragment,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",n,s),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions("content",n,s)),[i.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.item),{key:1,item:n.item,hasSubmenu:o.getItemProp(n,"items"),label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","hasSubmenu","label","props"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:0,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",n,s)),[i.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.itemicon),{key:0,item:n.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",n,s)),r.toDisplayString(o.getItemLabel(n)),17),o.getItemProp(n,"items")?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[i.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.submenuicon),{key:0,active:o.isItemActive(n),class:r.normalizeClass(e.cx("submenuIcon"))},null,8,["active","class"])):(r.openBlock(),r.createBlock(c,r.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",n,s)),null,16,["class"]))],64)):r.createCommentVNode("",!0)],16,I)),[[u]])],16,f),o.isItemVisible(n)&&o.isItemGroup(n)?(r.openBlock(),r.createBlock(a,r.mergeProps({key:0,id:o.getItemId(n)+"_list",role:"menu",class:e.cx("submenu"),menuId:i.menuId,focusedItemId:i.focusedItemId,items:n.items,templates:i.templates,activeItemPath:i.activeItemPath,level:i.level+1,visible:o.isItemActive(n)&&o.isItemGroup(n),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","level","visible","pt","unstyled"])):r.createCommentVNode("",!0)],16,h)):r.createCommentVNode("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("separator"),o.getItemProp(n,"class")],role:"separator"},e.ptm("separator")),null,16,p)):r.createCommentVNode("",!0)],64)})),128))],16,d)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter"])};var b={name:"ContextMenu",extends:l,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&t.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,i){return e?t.ObjectUtils.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t.DomHandler.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var i=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var i=e.processedItem,n=e.isFocus;if(!t.ObjectUtils.isEmpty(i)){var s=i.index,o=i.key,r=i.level,c=i.parentKey,a=t.ObjectUtils.isNotEmpty(i.items),u=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==o}));a&&(u.push(i),this.submenuVisible=!0),this.focusedItemInfo={index:s,level:r,parentKey:c},this.activeItemPath=u,n&&t.DomHandler.focus(this.list)}},onItemClick:function(e){var i=e.processedItem,n=this.isProccessedItemGroup(i);if(this.isSelected(i)){var s=i.index,o=i.key,r=i.level,c=i.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:c},t.DomHandler.focus(this.list)}else n?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var i=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowLeftKey:function(e){var i=this,n=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===n.parentKey}));t.ObjectUtils.isEmpty(n.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==i.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.searchValue="",this.onArrowDownKey(e)),e.preventDefault()},onHomeKey:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var i=t.DomHandler.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=i&&t.DomHandler.findSingle(i,'a[data-pc-section="action"]');n?n.click():i&&i.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){t.DomHandler.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&t.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),t.DomHandler.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&t.ZIndexUtils.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,i=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:t.DomHandler.getHiddenElementOuterHeight(this.container),o=t.DomHandler.getViewport();e+n-document.body.scrollLeft>o.width&&(e-=n),i+s-document.body.scrollTop>o.height&&(i-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),i<document.body.scrollTop&&(i=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=i+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!t.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemIndex(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=t.DomHandler.findSingle(this.list,'li[id="'.concat(i,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var c=(""!==s?s+"_":"")+r,a={item:e,index:r,level:i,key:c,parent:n,parentKey:s};a.items=t.createProcessedItems(e.items,i+1,a,c),o.push(a)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:m,Portal:a.default}};function v(e){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v(e)}function g(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function y(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?g(Object(i),!0).forEach((function(t){x(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):g(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function x(e,t,i){var n;return(t="symbol"==v(n=P(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function P(e,t){if("object"!=v(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=v(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}return b.render=function(e,t,i,n,s,o){var c=r.resolveComponent("ContextMenuSub"),a=r.resolveComponent("Portal");return r.openBlock(),r.createBlock(a,{appendTo:e.appendTo},{default:r.withCtx((function(){return[r.createVNode(r.Transition,r.mergeProps({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:r.withCtx((function(){return[s.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:o.containerRef,class:e.cx("root")},y(y({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[r.createVNode(c,{ref:o.listRef,id:s.id+"_list",class:r.normalizeClass(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])},b}(primevue.portal,primevue.utils,primevue.basecomponent,primevue.contextmenu.style,primevue.icons.angleright,primevue.ripple,Vue);
|
|
1
|
+
this.primevue=this.primevue||{},this.primevue.contextmenu=function(e,t,i,n,s,o,r){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=a(e),u=a(i),l={name:"BaseContextMenu",extends:u.default,props:{model:{type:Array,default:null},appendTo:{type:[String,Object],default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},tabindex:{type:Number,default:0},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:a(n).default,provide:function(){return{$parentInstance:this}}},m={name:"ContextMenuSub",hostName:"ContextMenu",extends:u.default,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.ObjectUtils.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getItemLabelId:function(e){return"".concat(this.menuId,"_").concat(e.key,"_label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t),index:i}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){t.DomHandler.nestedPosition(this.$refs.container,this.level)},getMenuItemProps:function(e,t){return{action:r.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r.mergeProps({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:a(s).default},directives:{ripple:a(o).default}},d=["tabindex"],h=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],I=["onClick","onMouseenter"],f=["href","target"],p=["id"],b=["id"];m.render=function(e,t,i,n,s,o){var a=r.resolveComponent("AngleRightIcon"),c=r.resolveComponent("ContextMenuSub",!0),u=r.resolveDirective("ripple");return r.openBlock(),r.createBlock(r.Transition,r.mergeProps({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:r.withCtx((function(){return[i.root||i.visible?(r.openBlock(),r.createElementBlock("ul",r.mergeProps({key:0,ref:"container",tabindex:i.tabindex},e.ptm("menu")),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.items,(function(n,s){return r.openBlock(),r.createElementBlock(r.Fragment,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",n,s),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions("content",n,s)),[i.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.item),{key:1,item:n.item,hasSubmenu:o.getItemProp(n,"items"),label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","hasSubmenu","label","props"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:0,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",n,s)),[i.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.itemicon),{key:0,item:n.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({id:o.getItemLabelId(n),class:e.cx("label")},o.getPTOptions("label",n,s)),r.toDisplayString(o.getItemLabel(n)),17,p),o.getItemProp(n,"items")?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[i.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.templates.submenuicon),{key:0,active:o.isItemActive(n),class:r.normalizeClass(e.cx("submenuIcon"))},null,8,["active","class"])):(r.openBlock(),r.createBlock(a,r.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",n,s)),null,16,["class"]))],64)):r.createCommentVNode("",!0)],16,f)),[[u]])],16,I),o.isItemVisible(n)&&o.isItemGroup(n)?(r.openBlock(),r.createBlock(c,r.mergeProps({key:0,id:o.getItemId(n)+"_list",role:"menu",class:e.cx("submenu"),menuId:i.menuId,focusedItemId:i.focusedItemId,items:n.items,templates:i.templates,activeItemPath:i.activeItemPath,level:i.level+1,visible:o.isItemActive(n)&&o.isItemGroup(n),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)}),"aria-labelledby":o.getItemLabelId(n)},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","level","visible","pt","unstyled","aria-labelledby"])):r.createCommentVNode("",!0)],16,h)):r.createCommentVNode("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("separator"),o.getItemProp(n,"class")],role:"separator"},e.ptm("separator")),null,16,b)):r.createCommentVNode("",!0)],64)})),128))],16,d)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter"])};var v={name:"ContextMenu",extends:l,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&t.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,i){return e?t.ObjectUtils.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t.DomHandler.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var i=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":case"NumpadEnter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var i=e.processedItem,n=e.isFocus;if(!t.ObjectUtils.isEmpty(i)){var s=i.index,o=i.key,r=i.level,a=i.parentKey,c=t.ObjectUtils.isNotEmpty(i.items),u=this.activeItemPath.filter((function(e){return e.parentKey!==a&&e.parentKey!==o}));c&&(u.push(i),this.submenuVisible=!0),this.focusedItemInfo={index:s,level:r,parentKey:a},this.activeItemPath=u,n&&t.DomHandler.focus(this.list)}},onItemClick:function(e){var i=e.processedItem,n=this.isProccessedItemGroup(i);if(this.isSelected(i)){var s=i.index,o=i.key,r=i.level,a=i.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:a},t.DomHandler.focus(this.list)}else n?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var i=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowLeftKey:function(e){var i=this,n=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===n.parentKey}));t.ObjectUtils.isEmpty(n.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==i.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.searchValue="",this.onArrowDownKey(e)),e.preventDefault()},onHomeKey:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var i=t.DomHandler.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=i&&t.DomHandler.findSingle(i,'a[data-pc-section="action"]');n?n.click():i&&i.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){t.DomHandler.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&t.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),t.DomHandler.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&t.ZIndexUtils.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,i=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:t.DomHandler.getHiddenElementOuterHeight(this.container),o=t.DomHandler.getViewport();e+n-document.body.scrollLeft>o.width&&(e-=n),i+s-document.body.scrollTop>o.height&&(i-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),i<document.body.scrollTop&&(i=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=i+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!t.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemIndex(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=t.DomHandler.findSingle(this.list,'li[id="'.concat(i,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var a=(""!==s?s+"_":"")+r,c={item:e,index:r,level:i,key:a,parent:n,parentKey:s};c.items=t.createProcessedItems(e.items,i+1,c,a),o.push(c)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:m,Portal:c.default}};function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function y(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function x(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?y(Object(i),!0).forEach((function(t){P(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):y(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function P(e,t,i){var n;return(t="symbol"==g(n=k(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function k(e,t){if("object"!=g(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}return v.render=function(e,t,i,n,s,o){var a=r.resolveComponent("ContextMenuSub"),c=r.resolveComponent("Portal");return r.openBlock(),r.createBlock(c,{appendTo:e.appendTo},{default:r.withCtx((function(){return[r.createVNode(r.Transition,r.mergeProps({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:r.withCtx((function(){return[s.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:o.containerRef,class:e.cx("root")},x(x({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[r.createVNode(a,{ref:o.listRef,id:s.id+"_list",class:r.normalizeClass(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])},v}(primevue.portal,primevue.utils,primevue.basecomponent,primevue.contextmenu.style,primevue.icons.angleright,primevue.ripple,Vue);
|