primevue 3.32.2 → 3.34.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.d.ts +21 -2
- package/accordion/accordion.cjs.js +3 -3
- package/accordion/accordion.esm.js +3 -3
- package/accordion/accordion.js +3 -3
- package/accordiontab/AccordionTab.d.ts +24 -2
- package/autocomplete/AutoComplete.d.ts +24 -2
- package/autocomplete/AutoComplete.vue +1 -1
- package/autocomplete/autocomplete.cjs.js +5 -5
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +5 -5
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +5 -5
- package/autocomplete/autocomplete.min.js +1 -1
- package/avatar/Avatar.d.ts +21 -2
- package/avatargroup/AvatarGroup.d.ts +8 -2
- package/badge/Badge.d.ts +18 -2
- package/badgedirective/BadgeDirective.d.ts +12 -2
- package/badgedirective/badgedirective.cjs.js +3 -3
- package/badgedirective/badgedirective.esm.js +3 -3
- package/badgedirective/badgedirective.js +3 -3
- package/basecomponent/BaseComponent.vue +20 -22
- package/basecomponent/basecomponent.cjs.js +41 -28
- package/basecomponent/basecomponent.cjs.min.js +1 -1
- package/basecomponent/basecomponent.esm.js +41 -28
- package/basecomponent/basecomponent.esm.min.js +1 -1
- package/basecomponent/basecomponent.js +41 -28
- package/basecomponent/basecomponent.min.js +1 -1
- package/basedirective/basedirective.cjs.js +42 -25
- package/basedirective/basedirective.cjs.min.js +1 -1
- package/basedirective/basedirective.esm.js +42 -25
- package/basedirective/basedirective.esm.min.js +1 -1
- package/basedirective/basedirective.js +42 -25
- package/basedirective/basedirective.min.js +1 -1
- package/blockui/BlockUI.d.ts +21 -2
- package/breadcrumb/Breadcrumb.d.ts +47 -2
- package/breadcrumb/Breadcrumb.vue +7 -2
- package/breadcrumb/BreadcrumbItem.vue +28 -3
- package/breadcrumb/breadcrumb.cjs.js +35 -8
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +36 -9
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +35 -8
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/button/Button.d.ts +24 -2
- package/button/button.cjs.js +1 -1
- package/button/button.esm.js +1 -1
- package/button/button.js +1 -1
- package/calendar/Calendar.d.ts +26 -4
- package/calendar/Calendar.vue +63 -29
- package/calendar/calendar.cjs.js +137 -51
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +137 -51
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +137 -51
- package/calendar/calendar.min.js +1 -1
- package/card/Card.d.ts +8 -2
- package/carousel/Carousel.d.ts +24 -2
- package/carousel/Carousel.vue +22 -2
- package/carousel/carousel.cjs.js +9 -5
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +9 -5
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +9 -5
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/CascadeSelect.d.ts +21 -2
- package/cascadeselect/cascadeselect.cjs.js +3 -3
- package/cascadeselect/cascadeselect.esm.js +3 -3
- package/cascadeselect/cascadeselect.js +3 -3
- package/chart/Chart.d.ts +18 -2
- package/chart/chart.cjs.js +3 -3
- package/chart/chart.esm.js +3 -3
- package/chart/chart.js +3 -3
- package/checkbox/Checkbox.d.ts +24 -2
- package/checkbox/checkbox.cjs.js +3 -3
- package/checkbox/checkbox.esm.js +3 -3
- package/checkbox/checkbox.js +3 -3
- package/chip/Chip.d.ts +21 -2
- package/chips/Chips.d.ts +21 -2
- package/chips/chips.cjs.js +3 -3
- package/chips/chips.esm.js +3 -3
- package/chips/chips.js +3 -3
- package/colorpicker/ColorPicker.d.ts +21 -2
- package/column/Column.d.ts +24 -2
- package/columngroup/ColumnGroup.d.ts +24 -2
- package/config/PrimeVue.d.ts +93 -92
- package/config/config.cjs.js +4 -3
- package/config/config.cjs.min.js +1 -1
- package/config/config.esm.js +4 -3
- package/config/config.esm.min.js +1 -1
- package/config/config.js +4 -3
- package/config/config.min.js +1 -1
- package/confirmdialog/ConfirmDialog.d.ts +21 -2
- package/confirmpopup/ConfirmPopup.d.ts +21 -2
- package/confirmpopup/confirmpopup.cjs.js +3 -3
- package/confirmpopup/confirmpopup.esm.js +3 -3
- package/confirmpopup/confirmpopup.js +3 -3
- package/contextmenu/ContextMenu.d.ts +54 -2
- package/contextmenu/ContextMenu.vue +13 -7
- package/contextmenu/ContextMenuSub.vue +34 -2
- package/contextmenu/contextmenu.cjs.js +41 -14
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +42 -15
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +41 -14
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +256 -147
- package/core/core.min.js +12 -12
- package/datatable/BodyCell.vue +14 -4
- package/datatable/DataTable.d.ts +41 -3
- package/datatable/DataTable.vue +6 -3
- package/datatable/TableBody.vue +7 -8
- package/datatable/datatable.cjs.js +63 -57
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +63 -57
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +63 -57
- package/datatable/datatable.min.js +1 -1
- package/dataview/DataView.d.ts +21 -2
- package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +21 -2
- package/deferredcontent/DeferredContent.d.ts +21 -2
- package/dialog/Dialog.d.ts +21 -2
- package/dialog/Dialog.vue +2 -2
- package/dialog/dialog.cjs.js +7 -5
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +8 -6
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +7 -5
- package/dialog/dialog.min.js +1 -1
- package/divider/Divider.d.ts +18 -2
- package/dock/Dock.d.ts +46 -2
- package/dock/Dock.vue +5 -0
- package/dock/DockSub.vue +20 -1
- package/dock/dock.cjs.js +21 -2
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +22 -3
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +21 -2
- package/dock/dock.min.js +1 -1
- package/dropdown/Dropdown.d.ts +24 -2
- package/dropdown/dropdown.cjs.js +6 -6
- package/dropdown/dropdown.esm.js +6 -6
- package/dropdown/dropdown.js +6 -6
- package/editor/Editor.d.ts +22 -2
- package/editor/editor.cjs.js +3 -3
- package/editor/editor.esm.js +3 -3
- package/editor/editor.js +3 -3
- package/fieldset/Fieldset.d.ts +21 -2
- package/fieldset/fieldset.cjs.js +4 -4
- package/fieldset/fieldset.esm.js +4 -4
- package/fieldset/fieldset.js +4 -4
- package/fileupload/FileContent.vue +8 -6
- package/fileupload/FileUpload.d.ts +21 -2
- package/fileupload/FileUpload.vue +9 -7
- package/fileupload/fileupload.cjs.js +17 -13
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.esm.js +17 -13
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +17 -13
- package/fileupload/fileupload.min.js +1 -1
- package/focustrap/FocusTrap.d.ts +8 -2
- package/galleria/Galleria.d.ts +24 -2
- package/galleria/galleria.cjs.js +9 -9
- package/galleria/galleria.esm.js +9 -9
- package/galleria/galleria.js +9 -9
- package/image/Image.d.ts +21 -2
- package/image/image.cjs.js +3 -3
- package/image/image.esm.js +3 -3
- package/image/image.js +3 -3
- package/inlinemessage/InlineMessage.d.ts +21 -2
- package/inplace/Inplace.d.ts +21 -2
- package/inplace/inplace.cjs.js +3 -3
- package/inplace/inplace.esm.js +3 -3
- package/inplace/inplace.js +3 -3
- package/inputmask/InputMask.d.ts +21 -2
- package/inputmask/InputMask.vue +3 -1
- package/inputmask/inputmask.cjs.js +2 -1
- package/inputmask/inputmask.cjs.min.js +1 -1
- package/inputmask/inputmask.esm.js +2 -1
- package/inputmask/inputmask.esm.min.js +1 -1
- package/inputmask/inputmask.js +2 -1
- package/inputmask/inputmask.min.js +1 -1
- package/inputnumber/InputNumber.d.ts +21 -2
- package/inputnumber/inputnumber.cjs.js +6 -6
- package/inputnumber/inputnumber.esm.js +6 -6
- package/inputnumber/inputnumber.js +6 -6
- package/inputswitch/InputSwitch.d.ts +21 -2
- package/inputswitch/inputswitch.cjs.js +3 -3
- package/inputswitch/inputswitch.esm.js +3 -3
- package/inputswitch/inputswitch.js +3 -3
- package/inputtext/InputText.d.ts +21 -2
- package/knob/Knob.d.ts +21 -2
- package/listbox/Listbox.d.ts +24 -2
- package/listbox/listbox.cjs.js +3 -3
- package/listbox/listbox.esm.js +3 -3
- package/listbox/listbox.js +3 -3
- package/megamenu/MegaMenu.d.ts +58 -2
- package/megamenu/MegaMenu.vue +6 -30
- package/megamenu/MegaMenuSub.vue +34 -3
- package/megamenu/megamenu.cjs.js +36 -39
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.esm.js +37 -40
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +36 -39
- package/megamenu/megamenu.min.js +1 -1
- package/menu/Menu.d.ts +60 -2
- package/menu/Menu.vue +6 -1
- package/menu/Menuitem.vue +26 -1
- package/menu/menu.cjs.js +29 -7
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +30 -8
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +29 -7
- package/menu/menu.min.js +1 -1
- package/menubar/Menubar.d.ts +62 -2
- package/menubar/Menubar.vue +6 -0
- package/menubar/MenubarSub.vue +32 -1
- package/menubar/menubar.cjs.js +34 -6
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +35 -7
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +34 -6
- package/menubar/menubar.min.js +1 -1
- package/menuitem/MenuItem.d.ts +1 -0
- package/message/Message.d.ts +21 -2
- package/message/message.cjs.js +3 -3
- package/message/message.esm.js +3 -3
- package/message/message.js +3 -3
- package/multiselect/MultiSelect.d.ts +24 -2
- package/multiselect/multiselect.cjs.js +6 -6
- package/multiselect/multiselect.esm.js +6 -6
- package/multiselect/multiselect.js +6 -6
- package/orderlist/OrderList.d.ts +24 -2
- package/orderlist/OrderList.vue +7 -5
- package/orderlist/orderlist.cjs.js +10 -8
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.esm.js +10 -8
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +10 -8
- package/orderlist/orderlist.min.js +1 -1
- package/organizationchart/OrganizationChart.d.ts +24 -2
- package/organizationchart/organizationchart.cjs.js +4 -4
- package/organizationchart/organizationchart.esm.js +4 -4
- package/organizationchart/organizationchart.js +4 -4
- package/overlaypanel/OverlayPanel.d.ts +21 -2
- package/overlaypanel/overlaypanel.cjs.js +3 -3
- package/overlaypanel/overlaypanel.esm.js +3 -3
- package/overlaypanel/overlaypanel.js +3 -3
- package/package.json +1 -1
- package/paginator/FirstPageLink.vue +1 -1
- package/paginator/JumpToPageDropdown.vue +1 -0
- package/paginator/LastPageLink.vue +1 -1
- package/paginator/NextPageLink.vue +1 -1
- package/paginator/Paginator.d.ts +24 -2
- package/paginator/PrevPageLink.vue +1 -1
- package/paginator/RowsPerPageDropdown.vue +1 -0
- package/paginator/paginator.cjs.js +19 -9
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +19 -9
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +19 -9
- package/paginator/paginator.min.js +1 -1
- package/panel/Panel.d.ts +21 -2
- package/panel/panel.cjs.js +3 -3
- package/panel/panel.esm.js +3 -3
- package/panel/panel.js +3 -3
- package/panelmenu/PanelMenu.d.ts +58 -2
- package/panelmenu/PanelMenu.vue +6 -0
- package/panelmenu/PanelMenuList.vue +1 -0
- package/panelmenu/PanelMenuSub.vue +33 -1
- package/panelmenu/panelmenu.cjs.js +41 -12
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +42 -13
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +41 -12
- package/panelmenu/panelmenu.min.js +1 -1
- package/passthrough/index.cjs.js +15 -9
- package/passthrough/index.cjs.min.js +1 -1
- package/passthrough/index.d.ts +4 -4
- package/passthrough/index.esm.js +15 -9
- package/passthrough/index.esm.min.js +1 -1
- package/passthrough/index.js +15 -9
- package/passthrough/index.min.js +1 -1
- package/passthrough/tailwind/index.cjs.js +3 -3
- package/passthrough/tailwind/index.cjs.min.js +1 -1
- package/passthrough/tailwind/index.esm.js +3 -3
- package/passthrough/tailwind/index.esm.min.js +1 -1
- package/passthrough/tailwind/index.js +3 -3
- package/passthrough/tailwind/index.min.js +1 -1
- package/password/Password.d.ts +21 -2
- package/password/password.cjs.js +3 -3
- package/password/password.esm.js +3 -3
- package/password/password.js +3 -3
- package/picklist/PickList.d.ts +24 -2
- package/picklist/PickList.vue +8 -5
- package/picklist/picklist.cjs.js +10 -8
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +10 -8
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +10 -8
- package/picklist/picklist.min.js +1 -1
- package/progressbar/ProgressBar.d.ts +18 -2
- package/progressspinner/ProgressSpinner.d.ts +18 -2
- package/radiobutton/RadioButton.d.ts +21 -2
- package/radiobutton/radiobutton.cjs.js +3 -3
- package/radiobutton/radiobutton.esm.js +3 -3
- package/radiobutton/radiobutton.js +3 -3
- package/rating/Rating.d.ts +24 -2
- package/ripple/Ripple.d.ts +8 -2
- package/row/Row.d.ts +16 -0
- package/scrollpanel/ScrollPanel.d.ts +21 -2
- package/scrolltop/ScrollTop.d.ts +21 -2
- package/selectbutton/SelectButton.d.ts +24 -2
- package/sidebar/Sidebar.d.ts +21 -2
- package/sidebar/sidebar.cjs.js +3 -3
- package/sidebar/sidebar.esm.js +3 -3
- package/sidebar/sidebar.js +3 -3
- package/skeleton/Skeleton.d.ts +18 -2
- package/slider/Slider.d.ts +18 -2
- package/speeddial/SpeedDial.d.ts +24 -2
- package/speeddial/speeddial.cjs.js +4 -4
- package/speeddial/speeddial.esm.js +4 -4
- package/speeddial/speeddial.js +4 -4
- package/splitbutton/SplitButton.d.ts +35 -2
- package/splitbutton/SplitButton.vue +6 -2
- package/splitbutton/splitbutton.cjs.js +17 -9
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +18 -10
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +17 -9
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/Splitter.d.ts +24 -2
- package/splitterpanel/SplitterPanel.d.ts +21 -2
- package/steps/Steps.d.ts +51 -2
- package/steps/Steps.vue +31 -1
- package/steps/steps.cjs.js +31 -3
- package/steps/steps.cjs.min.js +1 -1
- package/steps/steps.esm.js +31 -3
- package/steps/steps.esm.min.js +1 -1
- package/steps/steps.js +32 -4
- package/steps/steps.min.js +1 -1
- package/styleclass/StyleClass.d.ts +8 -2
- package/tabmenu/TabMenu.d.ts +50 -2
- package/tabmenu/TabMenu.vue +27 -1
- package/tabmenu/tabmenu.cjs.js +26 -3
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +26 -3
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +27 -4
- package/tabmenu/tabmenu.min.js +1 -1
- package/tabpanel/TabPanel.d.ts +24 -2
- package/tabview/TabView.d.ts +8 -2
- package/tabview/tabview.cjs.js +3 -3
- package/tabview/tabview.esm.js +3 -3
- package/tabview/tabview.js +3 -3
- package/tag/Tag.d.ts +18 -2
- package/terminal/Terminal.d.ts +21 -2
- package/textarea/Textarea.d.ts +21 -2
- package/tieredmenu/TieredMenu.d.ts +58 -2
- package/tieredmenu/TieredMenu.vue +6 -0
- package/tieredmenu/TieredMenuSub.vue +33 -1
- package/tieredmenu/tieredmenu.cjs.js +35 -7
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +36 -8
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +35 -7
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/timeline/Timeline.d.ts +21 -2
- package/toast/Toast.d.ts +21 -2
- package/toast/toast.cjs.js +7 -7
- package/toast/toast.esm.js +7 -7
- package/toast/toast.js +7 -7
- package/togglebutton/ToggleButton.d.ts +24 -2
- package/togglebutton/ToggleButton.vue +4 -4
- package/togglebutton/togglebutton.cjs.js +7 -7
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +7 -7
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +7 -7
- package/togglebutton/togglebutton.min.js +1 -1
- package/toolbar/Toolbar.d.ts +18 -2
- package/tooltip/Tooltip.d.ts +12 -2
- package/tooltip/tooltip.cjs.js +2 -2
- package/tooltip/tooltip.esm.js +2 -2
- package/tooltip/tooltip.js +2 -2
- package/tree/Tree.d.ts +24 -2
- package/tree/Tree.vue +1 -1
- package/tree/tree.cjs.js +7 -7
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +7 -7
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +7 -7
- package/tree/tree.min.js +1 -1
- package/treeselect/TreeSelect.d.ts +21 -2
- package/treeselect/treeselect.cjs.js +6 -6
- package/treeselect/treeselect.esm.js +6 -6
- package/treeselect/treeselect.js +6 -6
- package/treetable/BodyCell.vue +1 -1
- package/treetable/TreeTable.d.ts +24 -2
- package/treetable/TreeTableRow.vue +1 -1
- package/treetable/treetable.cjs.js +22 -20
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +22 -20
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +22 -20
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/TriStateCheckbox.d.ts +24 -2
- package/tristatecheckbox/tristatecheckbox.cjs.js +3 -3
- package/tristatecheckbox/tristatecheckbox.esm.js +3 -3
- package/tristatecheckbox/tristatecheckbox.js +3 -3
- package/ts-helpers.d.ts +2 -2
- package/utils/utils.cjs.js +30 -20
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +30 -20
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +30 -20
- package/utils/utils.min.js +1 -1
- package/vetur-attributes.json +1 -1
- package/virtualscroller/BaseVirtualScroller.vue +3 -3
- package/virtualscroller/VirtualScroller.d.ts +21 -2
- package/virtualscroller/virtualscroller.cjs.js +6 -6
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.esm.js +6 -6
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +6 -6
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +13 -3
package/menubar/Menubar.vue
CHANGED
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
:aria-labelledby="ariaLabelledby"
|
|
40
40
|
:aria-label="ariaLabel"
|
|
41
41
|
:pt="pt"
|
|
42
|
+
:unstyled="unstyled"
|
|
42
43
|
@focus="onFocus"
|
|
43
44
|
@blur="onBlur"
|
|
44
45
|
@keydown="onKeyDown"
|
|
@@ -88,6 +89,11 @@ export default {
|
|
|
88
89
|
outsideClickListener: null,
|
|
89
90
|
container: null,
|
|
90
91
|
menubar: null,
|
|
92
|
+
beforeMount() {
|
|
93
|
+
if (!this.$slots.item) {
|
|
94
|
+
console.warn('In future versions, vue-router support will be removed. Item templating should be used.');
|
|
95
|
+
}
|
|
96
|
+
},
|
|
91
97
|
mounted() {
|
|
92
98
|
this.id = this.id || UniqueComponentId();
|
|
93
99
|
},
|
package/menubar/MenubarSub.vue
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
</template>
|
|
39
39
|
</a>
|
|
40
40
|
</template>
|
|
41
|
-
<component v-else :is="templates.item" :item="processedItem.item"></component>
|
|
41
|
+
<component v-else :is="templates.item" :item="processedItem.item" :root="root" :hasSubmenu="getItemProp(processedItem, 'items')" :label="getItemLabel(processedItem)" :props="getMenuItemProps(processedItem, index)"></component>
|
|
42
42
|
</div>
|
|
43
43
|
<MenubarSub
|
|
44
44
|
v-if="isItemVisible(processedItem) && isItemGroup(processedItem)"
|
|
@@ -76,6 +76,7 @@ import AngleDownIcon from 'primevue/icons/angledown';
|
|
|
76
76
|
import AngleRightIcon from 'primevue/icons/angleright';
|
|
77
77
|
import Ripple from 'primevue/ripple';
|
|
78
78
|
import { ObjectUtils } from 'primevue/utils';
|
|
79
|
+
import { mergeProps } from 'vue';
|
|
79
80
|
|
|
80
81
|
export default {
|
|
81
82
|
name: 'MenubarSub',
|
|
@@ -179,6 +180,36 @@ export default {
|
|
|
179
180
|
},
|
|
180
181
|
getAriaPosInset(index) {
|
|
181
182
|
return index - this.items.slice(0, index).filter((processedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, 'separator')).length + 1;
|
|
183
|
+
},
|
|
184
|
+
getMenuItemProps(processedItem, index) {
|
|
185
|
+
return {
|
|
186
|
+
action: mergeProps(
|
|
187
|
+
{
|
|
188
|
+
class: this.cx('action'),
|
|
189
|
+
tabindex: -1,
|
|
190
|
+
'aria-hidden': true
|
|
191
|
+
},
|
|
192
|
+
this.getPTOptions(processedItem, index, 'action')
|
|
193
|
+
),
|
|
194
|
+
icon: mergeProps(
|
|
195
|
+
{
|
|
196
|
+
class: [this.cx('icon'), this.getItemProp(processedItem, 'icon')]
|
|
197
|
+
},
|
|
198
|
+
this.getPTOptions(processedItem, index, 'icon')
|
|
199
|
+
),
|
|
200
|
+
label: mergeProps(
|
|
201
|
+
{
|
|
202
|
+
class: this.cx('label')
|
|
203
|
+
},
|
|
204
|
+
this.getPTOptions(processedItem, index, 'label')
|
|
205
|
+
),
|
|
206
|
+
submenuicon: mergeProps(
|
|
207
|
+
{
|
|
208
|
+
class: this.cx('submenuIcon')
|
|
209
|
+
},
|
|
210
|
+
this.getPTOptions(processedItem, index, 'submenuIcon')
|
|
211
|
+
)
|
|
212
|
+
};
|
|
182
213
|
}
|
|
183
214
|
},
|
|
184
215
|
components: {
|
package/menubar/menubar.cjs.js
CHANGED
|
@@ -225,6 +225,24 @@ var script$1 = {
|
|
|
225
225
|
return index - this.items.slice(0, index).filter(function (processedItem) {
|
|
226
226
|
return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, 'separator');
|
|
227
227
|
}).length + 1;
|
|
228
|
+
},
|
|
229
|
+
getMenuItemProps: function getMenuItemProps(processedItem, index) {
|
|
230
|
+
return {
|
|
231
|
+
action: vue.mergeProps({
|
|
232
|
+
"class": this.cx('action'),
|
|
233
|
+
tabindex: -1,
|
|
234
|
+
'aria-hidden': true
|
|
235
|
+
}, this.getPTOptions(processedItem, index, 'action')),
|
|
236
|
+
icon: vue.mergeProps({
|
|
237
|
+
"class": [this.cx('icon'), this.getItemProp(processedItem, 'icon')]
|
|
238
|
+
}, this.getPTOptions(processedItem, index, 'icon')),
|
|
239
|
+
label: vue.mergeProps({
|
|
240
|
+
"class": this.cx('label')
|
|
241
|
+
}, this.getPTOptions(processedItem, index, 'label')),
|
|
242
|
+
submenuicon: vue.mergeProps({
|
|
243
|
+
"class": this.cx('submenuIcon')
|
|
244
|
+
}, this.getPTOptions(processedItem, index, 'submenuIcon'))
|
|
245
|
+
};
|
|
228
246
|
}
|
|
229
247
|
},
|
|
230
248
|
components: {
|
|
@@ -340,8 +358,12 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
340
358
|
"class": _ctx.cx('submenuIcon')
|
|
341
359
|
}, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, ["class"]))], 64)) : vue.createCommentVNode("", true)], 16, _hoisted_4)), [[_directive_ripple]])], 64)) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.item), {
|
|
342
360
|
key: 1,
|
|
343
|
-
item: processedItem.item
|
|
344
|
-
|
|
361
|
+
item: processedItem.item,
|
|
362
|
+
root: $props.root,
|
|
363
|
+
hasSubmenu: $options.getItemProp(processedItem, 'items'),
|
|
364
|
+
label: $options.getItemLabel(processedItem),
|
|
365
|
+
props: $options.getMenuItemProps(processedItem, index)
|
|
366
|
+
}, null, 8, ["item", "root", "hasSubmenu", "label", "props"]))], 16, _hoisted_2), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (vue.openBlock(), vue.createBlock(_component_MenubarSub, {
|
|
345
367
|
key: 0,
|
|
346
368
|
menuId: $props.menuId,
|
|
347
369
|
role: "menu",
|
|
@@ -410,6 +432,11 @@ var script = {
|
|
|
410
432
|
outsideClickListener: null,
|
|
411
433
|
container: null,
|
|
412
434
|
menubar: null,
|
|
435
|
+
beforeMount: function beforeMount() {
|
|
436
|
+
if (!this.$slots.item) {
|
|
437
|
+
console.warn('In future versions, vue-router support will be removed. Item templating should be used.');
|
|
438
|
+
}
|
|
439
|
+
},
|
|
413
440
|
mounted: function mounted() {
|
|
414
441
|
this.id = this.id || utils.UniqueComponentId();
|
|
415
442
|
},
|
|
@@ -957,9 +984,9 @@ var script = {
|
|
|
957
984
|
}
|
|
958
985
|
};
|
|
959
986
|
|
|
960
|
-
function _typeof(
|
|
961
|
-
function ownKeys(
|
|
962
|
-
function _objectSpread(
|
|
987
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
988
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
989
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
963
990
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
964
991
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
965
992
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -1009,12 +1036,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1009
1036
|
"aria-labelledby": _ctx.ariaLabelledby,
|
|
1010
1037
|
"aria-label": _ctx.ariaLabel,
|
|
1011
1038
|
pt: _ctx.pt,
|
|
1039
|
+
unstyled: _ctx.unstyled,
|
|
1012
1040
|
onFocus: $options.onFocus,
|
|
1013
1041
|
onBlur: $options.onBlur,
|
|
1014
1042
|
onKeydown: $options.onKeyDown,
|
|
1015
1043
|
onItemClick: $options.onItemClick,
|
|
1016
1044
|
onItemMouseenter: $options.onItemMouseEnter
|
|
1017
|
-
}, null, 8, ["id", "items", "templates", "mobileActive", "aria-activedescendant", "menuId", "focusedItemId", "activeItemPath", "exact", "aria-labelledby", "aria-label", "pt", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter"]), _ctx.$slots.end ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
1045
|
+
}, null, 8, ["id", "items", "templates", "mobileActive", "aria-activedescendant", "menuId", "focusedItemId", "activeItemPath", "exact", "aria-labelledby", "aria-label", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter"]), _ctx.$slots.end ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
1018
1046
|
key: 2,
|
|
1019
1047
|
"class": _ctx.cx('end')
|
|
1020
1048
|
}, _ctx.ptm('end')), [vue.renderSlot(_ctx.$slots, "end")], 16)) : vue.createCommentVNode("", true)], 16);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("primevue/icons/bars"),t=require("primevue/utils"),n=require("primevue/basecomponent"),i=require("primevue/usestyle"),s=require("primevue/icons/angledown"),o=require("primevue/icons/angleright"),r=require("primevue/ripple"),c=require("vue");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=a(e),u=a(n),m=a(s),d=a(o),I=a(r),f=i.useStyle("\n.p-menubar {\n display: flex;\n align-items: center;\n}\n\n.p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.p-menubar .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n\n.p-menubar .p-menuitem-text {\n line-height: 1;\n}\n\n.p-menubar .p-menuitem {\n position: relative;\n}\n\n.p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n}\n\n.p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n}\n\n.p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 1;\n}\n\n.p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n}\n\n.p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n}\n",{name:"menubar",manual:!0}),p={name:"BaseMenubar",extends:u.default,props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},buttonProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},css:{classes:{root:function(e){return["p-menubar p-component",{"p-menubar-mobile-active":e.instance.mobileActive}]},start:"p-menubar-start",button:"p-menubar-button",menu:"p-menubar-root-list",menuitem:function(e){var t=e.instance,n=e.processedItem;return["p-menuitem",{"p-menuitem-active p-highlight":t.isItemActive(n),"p-focus":t.isItemFocused(n),"p-disabled":t.isItemDisabled(n)}]},content:"p-menuitem-content",action:function(e){return["p-menuitem-link",{"router-link-active":e.isActive,"router-link-active-exact":e.props.exact&&e.isExactActive}]},icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",submenu:"p-submenu-list",separator:"p-menuitem-separator",end:"p-menubar-end"},inlineStyles:{submenu:function(e){return{display:e.instance.isItemActive(e.processedItem)?"block":"none"}}},loadStyle:f.load},provide:function(){return{$parentInstance:this}}},h={name:"MenubarSub",hostName:"Menubar",extends:u.default,emits:["item-mouseenter","item-click"],props:{items:{type:Array,default:null},root:{type:Boolean,default:!1},popup:{type:Boolean,default:!1},mobileActive:{type:Boolean,default:!1},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},level:{type:Number,default:0},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},activeItemPath:{type:Object,default:null}},list:null,methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,n,i){return e&&e.item?t.ObjectUtils.getItemValue(e.item[n],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(n,{context:{item:e,index:t,active:this.isItemActive(e),focused:this.isItemFocused(e),level:this.level}})},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})},onItemActionClick:function(e,t){t&&t(e)},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}},components:{AngleRightIcon:d.default,AngleDownIcon:m.default},directives:{ripple:I.default}},b=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],v=["onClick","onMouseenter"],y=["href","onClick"],g=["href","target"],x=["id"];h.render=function(e,t,n,i,s,o){var r=c.resolveComponent("router-link"),a=c.resolveComponent("MenubarSub",!0),l=c.resolveDirective("ripple");return c.openBlock(),c.createElementBlock("ul",c.mergeProps({class:e.cx(0===n.level?"menu":"submenu")},e.ptm(0===n.level?"menu":"submenu")),[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(n.items,(function(i,s){return c.openBlock(),c.createElementBlock(c.Fragment,{key:o.getItemKey(i)},[o.isItemVisible(i)&&!o.getItemProp(i,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:0,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("menuitem",{processedItem:i}),o.getItemProp(i,"class")],role:"menuitem","aria-label":o.getItemLabel(i),"aria-disabled":o.isItemDisabled(i)||void 0,"aria-expanded":o.isItemGroup(i)?o.isItemActive(i):void 0,"aria-haspopup":o.isItemGroup(i)&&!o.getItemProp(i,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions(i,s,"menuitem"),{"data-p-highlight":o.isItemActive(i),"data-p-focused":o.isItemFocused(i),"data-p-disabled":o.isItemDisabled(i)}),[c.createElementVNode("div",c.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,i)},onMouseenter:function(e){return o.onItemMouseEnter(e,i)}},o.getPTOptions(i,s,"content")),[n.templates.item?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.templates.item),{key:1,item:i.item},null,8,["item"])):(c.openBlock(),c.createElementBlock(c.Fragment,{key:0},[o.getItemProp(i,"to")&&!o.isItemDisabled(i)?(c.openBlock(),c.createBlock(r,{key:0,to:o.getItemProp(i,"to"),custom:""},{default:c.withCtx((function(t){var r=t.navigate,a=t.href,u=t.isActive,m=t.isExactActive;return[c.withDirectives((c.openBlock(),c.createElementBlock("a",c.mergeProps({href:a,class:e.cx("action",{isActive:u,isExactActive:m}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,r)}},o.getPTOptions(i,s,"action")),[n.templates.itemicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:c.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(c.openBlock(),c.createElementBlock("span",c.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions(i,s,"icon")),null,16)):c.createCommentVNode("",!0),c.createElementVNode("span",c.mergeProps({class:e.cx("label")},o.getPTOptions(i,s,"label")),c.toDisplayString(o.getItemLabel(i)),17)],16,y)),[[l]])]})),_:2},1032,["to"])):c.withDirectives((c.openBlock(),c.createElementBlock("a",c.mergeProps({key:1,href:o.getItemProp(i,"url"),class:e.cx("action"),target:o.getItemProp(i,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions(i,s,"action")),[n.templates.itemicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:c.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(c.openBlock(),c.createElementBlock("span",c.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions(i,s,"icon")),null,16)):c.createCommentVNode("",!0),c.createElementVNode("span",c.mergeProps({class:e.cx("label")},o.getPTOptions(i,s,"label")),c.toDisplayString(o.getItemLabel(i)),17),o.getItemProp(i,"items")?(c.openBlock(),c.createElementBlock(c.Fragment,{key:2},[n.templates.submenuicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.templates.submenuicon),{key:0,root:n.root,active:o.isItemActive(i),class:c.normalizeClass(e.cx("submenuIcon"))},null,8,["root","active","class"])):(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.root?"AngleDownIcon":"AngleRightIcon"),c.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions(i,s,"submenuIcon")),null,16,["class"]))],64)):c.createCommentVNode("",!0)],16,g)),[[l]])],64))],16,v),o.isItemVisible(i)&&o.isItemGroup(i)?(c.openBlock(),c.createBlock(a,{key:0,menuId:n.menuId,role:"menu",style:c.normalizeStyle(e.sx("submenu",!0,{processedItem:i})),focusedItemId:n.focusedItemId,items:i.items,mobileActive:n.mobileActive,activeItemPath:n.activeItemPath,templates:n.templates,exact:n.exact,level:n.level+1,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)})},null,8,["menuId","style","focusedItemId","items","mobileActive","activeItemPath","templates","exact","level","pt","unstyled"])):c.createCommentVNode("",!0)],16,b)):c.createCommentVNode("",!0),o.isItemVisible(i)&&o.getItemProp(i,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:1,id:o.getItemId(i),class:[e.cx("separator"),o.getItemProp(i,"class")],style:o.getItemProp(i,"style"),role:"separator"},e.ptm("separator")),null,16,x)):c.createCommentVNode("",!0)],64)})),128))],16)};var k={name:"Menubar",extends:p,emits:["focus","blur"],data:function(){return{id:this.$attrs.id,mobileActive:!1,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],dirty:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},outsideClickListener:null,container:null,menubar:null,mounted:function(){this.id=this.id||t.UniqueComponentId()},beforeUnmount:function(){this.mobileActive=!1,this.unbindOutsideClickListener(),this.unbindResizeListener(),this.container&&t.ZIndexUtils.clear(this.container),this.container=null},methods:{getItemProp:function(e,n){return e?t.ObjectUtils.getItemValue(e[n]):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){var n=this;this.mobileActive?(this.mobileActive=!1,t.ZIndexUtils.clear(this.menubar),this.hide()):(this.mobileActive=!0,t.ZIndexUtils.set("menu",this.menubar,this.$primevue.config.zIndex.menu),setTimeout((function(){n.show()}),1)),this.bindOutsideClickListener(),e.preventDefault()},show:function(){this.focusedItemInfo={index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},t.DomHandler.focus(this.menubar)},hide:function(e,n){var i=this;this.mobileActive&&(this.mobileActive=!1,setTimeout((function(){t.DomHandler.focus(i.$refs.menubutton)}),0)),this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},n&&t.DomHandler.focus(this.menubar),this.dirty=!1},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown:function(e){var n=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:!n&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,i=e.isFocus;if(!t.ObjectUtils.isEmpty(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey,a=t.ObjectUtils.isNotEmpty(n.items),l=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==o}));a&&l.push(n),this.focusedItemInfo={index:s,level:r,parentKey:c},this.activeItemPath=l,a&&(this.dirty=!0),i&&t.DomHandler.focus(this.menubar)}},onItemClick:function(e){var n=e.originalEvent,i=e.processedItem,s=this.isProccessedItemGroup(i),o=t.ObjectUtils.isEmpty(i.parent);if(this.isSelected(i)){var r=i.index,c=i.key,a=i.level,l=i.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return c!==e.key&&c.startsWith(e.key)})),this.focusedItemInfo={index:r,level:a,parentKey:l},this.dirty=!o,t.DomHandler.focus(this.menubar)}else if(s)this.onItemChange(e);else{var u=o?i:this.activeItemPath.find((function(e){return""===e.parentKey}));this.hide(n),this.changeFocusedItemIndex(n,u?u.index:-1),this.mobileActive=!1,t.DomHandler.focus(this.menubar)}},onItemMouseEnter:function(e){!this.mobileActive&&this.dirty&&this.onItemChange(e)},menuButtonClick:function(e){this.toggle(e)},menuButtonKeydown:function(e){("Enter"===e.code||"Space"===e.code)&&this.menuButtonClick(e)},onArrowDownKey:function(e){var n=this.visibleItems[this.focusedItemInfo.index];if(n?t.ObjectUtils.isEmpty(n.parent):null){this.isProccessedItemGroup(n)&&(this.onItemChange({originalEvent:e,processedItem:n}),this.focusedItemInfo={index:-1,parentKey:n.key},this.onArrowRightKey(e))}else{var i=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowUpKey:function(e){var n=this,i=this.visibleItems[this.focusedItemInfo.index];if(t.ObjectUtils.isEmpty(i.parent)){if(this.isProccessedItemGroup(i)){this.onItemChange({originalEvent:e,processedItem:i}),this.focusedItemInfo={index:-1,parentKey:i.key};var s=this.findLastItemIndex();this.changeFocusedItemIndex(e,s)}}else{var o=this.activeItemPath.find((function(e){return e.key===i.parentKey}));if(0===this.focusedItemInfo.index)this.focusedItemInfo={index:-1,parentKey:o?o.parentKey:""},this.searchValue="",this.onArrowLeftKey(e),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==n.focusedItemInfo.parentKey}));else{var r=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,r)}}e.preventDefault()},onArrowLeftKey:function(e){var t=this,n=this.visibleItems[this.focusedItemInfo.index],i=n?this.activeItemPath.find((function(e){return e.key===n.parentKey})):null;if(i)this.onItemChange({originalEvent:e,processedItem:i}),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.focusedItemInfo.parentKey})),e.preventDefault();else{var s=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,s),e.preventDefault()}},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];if(t?this.activeItemPath.find((function(e){return e.key===t.parentKey})):null){this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.onArrowDownKey(e))}else{var n=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,n),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 n=t.DomHandler.findSingle(this.menubar,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=n&&t.DomHandler.findSingle(n,'a[data-pc-section="action"]');i?i.click():n&&n.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(e,!0),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()},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var n=e.menubar!==t.target&&!e.menubar.contains(t.target);e.mobileActive&&e.$refs.menubutton!==t.target&&!e.$refs.menubutton.contains(t.target)&&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(n){t.DomHandler.isTouchDevice()||e.hide(n,!0),e.mobileActive=!1},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=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,n=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return n>-1?n+e+1:e},findPrevItemIndex:function(e){var n=this,i=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return n.isValidItem(e)})):-1;return i>-1?i: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 n=this;this.searchValue=(this.searchValue||"")+t;var i=-1,s=!1;return-1!==(i=-1!==this.focusedItemInfo.index?-1===(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})):i+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return n.isItemMatched(e)})))&&(s=!0),-1===i&&-1===this.focusedItemInfo.index&&(i=this.findFirstFocusedItemIndex()),-1!==i&&this.changeFocusedItemIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.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,n=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,i=t.DomHandler.findSingle(this.menubar,'li[id="'.concat(n,'"]'));i&&i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=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:n,key:c,parent:i,parentKey:s};a.items=t.createProcessedItems(e.items,n+1,a,c),o.push(a)})),o},containerRef:function(e){this.container=e},menubarRef:function(e){this.menubar=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:{MenubarSub:h,BarsIcon:l.default}};function P(e){return P="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},P(e)}function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?C(Object(n),!0).forEach((function(t){K(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function K(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e){var t=A(e,"string");return"symbol"===P(t)?t:String(t)}function A(e,t){if("object"!==P(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==P(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var w=["aria-haspopup","aria-expanded","aria-controls","aria-label"];k.render=function(e,t,n,i,s,o){var r=c.resolveComponent("BarsIcon"),a=c.resolveComponent("MenubarSub");return c.openBlock(),c.createElementBlock("div",c.mergeProps({ref:o.containerRef,class:e.cx("root")},e.ptm("root")),[e.$slots.start?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:0,class:e.cx("start")},e.ptm("start")),[c.renderSlot(e.$slots,"start")],16)):c.createCommentVNode("",!0),e.model&&e.model.length>0?(c.openBlock(),c.createElementBlock("a",c.mergeProps({key:1,ref:"menubutton",role:"button",tabindex:"0",class:e.cx("button"),"aria-haspopup":!!(e.model.length&&e.model.length>0),"aria-expanded":s.mobileActive,"aria-controls":s.id,"aria-label":e.$primevue.config.locale.aria.navigation,onClick:t[0]||(t[0]=function(e){return o.menuButtonClick(e)}),onKeydown:t[1]||(t[1]=function(e){return o.menuButtonKeydown(e)})},E(E({},e.buttonProps),e.ptm("button"))),[c.renderSlot(e.$slots,"popupicon",{},(function(){return[c.createVNode(r,c.normalizeProps(c.guardReactiveProps(e.ptm("popupIcon"))),null,16)]}))],16,w)):c.createCommentVNode("",!0),c.createVNode(a,{ref:o.menubarRef,id:s.id,role:"menubar",items:o.processedItems,templates:e.$slots,root:!0,mobileActive:s.mobileActive,tabindex:"0","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,activeItemPath:s.activeItemPath,exact:e.exact,level:0,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,pt:e.pt,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","items","templates","mobileActive","aria-activedescendant","menuId","focusedItemId","activeItemPath","exact","aria-labelledby","aria-label","pt","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:2,class:e.cx("end")},e.ptm("end")),[c.renderSlot(e.$slots,"end")],16)):c.createCommentVNode("",!0)],16)},module.exports=k;
|
|
1
|
+
"use strict";var e=require("primevue/icons/bars"),t=require("primevue/utils"),n=require("primevue/basecomponent"),i=require("primevue/usestyle"),s=require("primevue/icons/angledown"),o=require("primevue/icons/angleright"),r=require("primevue/ripple"),c=require("vue");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=a(e),l=a(n),m=a(s),d=a(o),I=a(r),p=i.useStyle("\n.p-menubar {\n display: flex;\n align-items: center;\n}\n\n.p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.p-menubar .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n\n.p-menubar .p-menuitem-text {\n line-height: 1;\n}\n\n.p-menubar .p-menuitem {\n position: relative;\n}\n\n.p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n}\n\n.p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n}\n\n.p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 1;\n}\n\n.p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n}\n\n.p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n}\n",{name:"menubar",manual:!0}),f={name:"BaseMenubar",extends:l.default,props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},buttonProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},css:{classes:{root:function(e){return["p-menubar p-component",{"p-menubar-mobile-active":e.instance.mobileActive}]},start:"p-menubar-start",button:"p-menubar-button",menu:"p-menubar-root-list",menuitem:function(e){var t=e.instance,n=e.processedItem;return["p-menuitem",{"p-menuitem-active p-highlight":t.isItemActive(n),"p-focus":t.isItemFocused(n),"p-disabled":t.isItemDisabled(n)}]},content:"p-menuitem-content",action:function(e){return["p-menuitem-link",{"router-link-active":e.isActive,"router-link-active-exact":e.props.exact&&e.isExactActive}]},icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",submenu:"p-submenu-list",separator:"p-menuitem-separator",end:"p-menubar-end"},inlineStyles:{submenu:function(e){return{display:e.instance.isItemActive(e.processedItem)?"block":"none"}}},loadStyle:p.load},provide:function(){return{$parentInstance:this}}},h={name:"MenubarSub",hostName:"Menubar",extends:l.default,emits:["item-mouseenter","item-click"],props:{items:{type:Array,default:null},root:{type:Boolean,default:!1},popup:{type:Boolean,default:!1},mobileActive:{type:Boolean,default:!1},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},level:{type:Number,default:0},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},activeItemPath:{type:Object,default:null}},list:null,methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,n,i){return e&&e.item?t.ObjectUtils.getItemValue(e.item[n],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(n,{context:{item:e,index:t,active:this.isItemActive(e),focused:this.isItemFocused(e),level:this.level}})},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})},onItemActionClick:function(e,t){t&&t(e)},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},getMenuItemProps:function(e,t){return{action:c.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions(e,t,"action")),icon:c.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions(e,t,"icon")),label:c.mergeProps({class:this.cx("label")},this.getPTOptions(e,t,"label")),submenuicon:c.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions(e,t,"submenuIcon"))}}},components:{AngleRightIcon:d.default,AngleDownIcon:m.default},directives:{ripple:I.default}},b=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],v=["onClick","onMouseenter"],y=["href","onClick"],g=["href","target"],x=["id"];h.render=function(e,t,n,i,s,o){var r=c.resolveComponent("router-link"),a=c.resolveComponent("MenubarSub",!0),u=c.resolveDirective("ripple");return c.openBlock(),c.createElementBlock("ul",c.mergeProps({class:e.cx(0===n.level?"menu":"submenu")},e.ptm(0===n.level?"menu":"submenu")),[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(n.items,(function(i,s){return c.openBlock(),c.createElementBlock(c.Fragment,{key:o.getItemKey(i)},[o.isItemVisible(i)&&!o.getItemProp(i,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:0,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("menuitem",{processedItem:i}),o.getItemProp(i,"class")],role:"menuitem","aria-label":o.getItemLabel(i),"aria-disabled":o.isItemDisabled(i)||void 0,"aria-expanded":o.isItemGroup(i)?o.isItemActive(i):void 0,"aria-haspopup":o.isItemGroup(i)&&!o.getItemProp(i,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions(i,s,"menuitem"),{"data-p-highlight":o.isItemActive(i),"data-p-focused":o.isItemFocused(i),"data-p-disabled":o.isItemDisabled(i)}),[c.createElementVNode("div",c.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,i)},onMouseenter:function(e){return o.onItemMouseEnter(e,i)}},o.getPTOptions(i,s,"content")),[n.templates.item?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.templates.item),{key:1,item:i.item,root:n.root,hasSubmenu:o.getItemProp(i,"items"),label:o.getItemLabel(i),props:o.getMenuItemProps(i,s)},null,8,["item","root","hasSubmenu","label","props"])):(c.openBlock(),c.createElementBlock(c.Fragment,{key:0},[o.getItemProp(i,"to")&&!o.isItemDisabled(i)?(c.openBlock(),c.createBlock(r,{key:0,to:o.getItemProp(i,"to"),custom:""},{default:c.withCtx((function(t){var r=t.navigate,a=t.href,l=t.isActive,m=t.isExactActive;return[c.withDirectives((c.openBlock(),c.createElementBlock("a",c.mergeProps({href:a,class:e.cx("action",{isActive:l,isExactActive:m}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,r)}},o.getPTOptions(i,s,"action")),[n.templates.itemicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:c.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(c.openBlock(),c.createElementBlock("span",c.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions(i,s,"icon")),null,16)):c.createCommentVNode("",!0),c.createElementVNode("span",c.mergeProps({class:e.cx("label")},o.getPTOptions(i,s,"label")),c.toDisplayString(o.getItemLabel(i)),17)],16,y)),[[u]])]})),_:2},1032,["to"])):c.withDirectives((c.openBlock(),c.createElementBlock("a",c.mergeProps({key:1,href:o.getItemProp(i,"url"),class:e.cx("action"),target:o.getItemProp(i,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions(i,s,"action")),[n.templates.itemicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:c.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(c.openBlock(),c.createElementBlock("span",c.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions(i,s,"icon")),null,16)):c.createCommentVNode("",!0),c.createElementVNode("span",c.mergeProps({class:e.cx("label")},o.getPTOptions(i,s,"label")),c.toDisplayString(o.getItemLabel(i)),17),o.getItemProp(i,"items")?(c.openBlock(),c.createElementBlock(c.Fragment,{key:2},[n.templates.submenuicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.templates.submenuicon),{key:0,root:n.root,active:o.isItemActive(i),class:c.normalizeClass(e.cx("submenuIcon"))},null,8,["root","active","class"])):(c.openBlock(),c.createBlock(c.resolveDynamicComponent(n.root?"AngleDownIcon":"AngleRightIcon"),c.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions(i,s,"submenuIcon")),null,16,["class"]))],64)):c.createCommentVNode("",!0)],16,g)),[[u]])],64))],16,v),o.isItemVisible(i)&&o.isItemGroup(i)?(c.openBlock(),c.createBlock(a,{key:0,menuId:n.menuId,role:"menu",style:c.normalizeStyle(e.sx("submenu",!0,{processedItem:i})),focusedItemId:n.focusedItemId,items:i.items,mobileActive:n.mobileActive,activeItemPath:n.activeItemPath,templates:n.templates,exact:n.exact,level:n.level+1,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)})},null,8,["menuId","style","focusedItemId","items","mobileActive","activeItemPath","templates","exact","level","pt","unstyled"])):c.createCommentVNode("",!0)],16,b)):c.createCommentVNode("",!0),o.isItemVisible(i)&&o.getItemProp(i,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({key:1,id:o.getItemId(i),class:[e.cx("separator"),o.getItemProp(i,"class")],style:o.getItemProp(i,"style"),role:"separator"},e.ptm("separator")),null,16,x)):c.createCommentVNode("",!0)],64)})),128))],16)};var k={name:"Menubar",extends:f,emits:["focus","blur"],data:function(){return{id:this.$attrs.id,mobileActive:!1,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],dirty:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},outsideClickListener:null,container:null,menubar:null,beforeMount:function(){this.$slots.item||console.warn("In future versions, vue-router support will be removed. Item templating should be used.")},mounted:function(){this.id=this.id||t.UniqueComponentId()},beforeUnmount:function(){this.mobileActive=!1,this.unbindOutsideClickListener(),this.unbindResizeListener(),this.container&&t.ZIndexUtils.clear(this.container),this.container=null},methods:{getItemProp:function(e,n){return e?t.ObjectUtils.getItemValue(e[n]):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){var n=this;this.mobileActive?(this.mobileActive=!1,t.ZIndexUtils.clear(this.menubar),this.hide()):(this.mobileActive=!0,t.ZIndexUtils.set("menu",this.menubar,this.$primevue.config.zIndex.menu),setTimeout((function(){n.show()}),1)),this.bindOutsideClickListener(),e.preventDefault()},show:function(){this.focusedItemInfo={index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},t.DomHandler.focus(this.menubar)},hide:function(e,n){var i=this;this.mobileActive&&(this.mobileActive=!1,setTimeout((function(){t.DomHandler.focus(i.$refs.menubutton)}),0)),this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},n&&t.DomHandler.focus(this.menubar),this.dirty=!1},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown:function(e){var n=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:!n&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,i=e.isFocus;if(!t.ObjectUtils.isEmpty(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey,a=t.ObjectUtils.isNotEmpty(n.items),u=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==o}));a&&u.push(n),this.focusedItemInfo={index:s,level:r,parentKey:c},this.activeItemPath=u,a&&(this.dirty=!0),i&&t.DomHandler.focus(this.menubar)}},onItemClick:function(e){var n=e.originalEvent,i=e.processedItem,s=this.isProccessedItemGroup(i),o=t.ObjectUtils.isEmpty(i.parent);if(this.isSelected(i)){var r=i.index,c=i.key,a=i.level,u=i.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return c!==e.key&&c.startsWith(e.key)})),this.focusedItemInfo={index:r,level:a,parentKey:u},this.dirty=!o,t.DomHandler.focus(this.menubar)}else if(s)this.onItemChange(e);else{var l=o?i:this.activeItemPath.find((function(e){return""===e.parentKey}));this.hide(n),this.changeFocusedItemIndex(n,l?l.index:-1),this.mobileActive=!1,t.DomHandler.focus(this.menubar)}},onItemMouseEnter:function(e){!this.mobileActive&&this.dirty&&this.onItemChange(e)},menuButtonClick:function(e){this.toggle(e)},menuButtonKeydown:function(e){("Enter"===e.code||"Space"===e.code)&&this.menuButtonClick(e)},onArrowDownKey:function(e){var n=this.visibleItems[this.focusedItemInfo.index];if(n?t.ObjectUtils.isEmpty(n.parent):null){this.isProccessedItemGroup(n)&&(this.onItemChange({originalEvent:e,processedItem:n}),this.focusedItemInfo={index:-1,parentKey:n.key},this.onArrowRightKey(e))}else{var i=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowUpKey:function(e){var n=this,i=this.visibleItems[this.focusedItemInfo.index];if(t.ObjectUtils.isEmpty(i.parent)){if(this.isProccessedItemGroup(i)){this.onItemChange({originalEvent:e,processedItem:i}),this.focusedItemInfo={index:-1,parentKey:i.key};var s=this.findLastItemIndex();this.changeFocusedItemIndex(e,s)}}else{var o=this.activeItemPath.find((function(e){return e.key===i.parentKey}));if(0===this.focusedItemInfo.index)this.focusedItemInfo={index:-1,parentKey:o?o.parentKey:""},this.searchValue="",this.onArrowLeftKey(e),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==n.focusedItemInfo.parentKey}));else{var r=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,r)}}e.preventDefault()},onArrowLeftKey:function(e){var t=this,n=this.visibleItems[this.focusedItemInfo.index],i=n?this.activeItemPath.find((function(e){return e.key===n.parentKey})):null;if(i)this.onItemChange({originalEvent:e,processedItem:i}),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.focusedItemInfo.parentKey})),e.preventDefault();else{var s=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,s),e.preventDefault()}},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];if(t?this.activeItemPath.find((function(e){return e.key===t.parentKey})):null){this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.onArrowDownKey(e))}else{var n=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,n),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 n=t.DomHandler.findSingle(this.menubar,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=n&&t.DomHandler.findSingle(n,'a[data-pc-section="action"]');i?i.click():n&&n.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(e,!0),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()},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var n=e.menubar!==t.target&&!e.menubar.contains(t.target);e.mobileActive&&e.$refs.menubutton!==t.target&&!e.$refs.menubutton.contains(t.target)&&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(n){t.DomHandler.isTouchDevice()||e.hide(n,!0),e.mobileActive=!1},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=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,n=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return n>-1?n+e+1:e},findPrevItemIndex:function(e){var n=this,i=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return n.isValidItem(e)})):-1;return i>-1?i: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 n=this;this.searchValue=(this.searchValue||"")+t;var i=-1,s=!1;return-1!==(i=-1!==this.focusedItemInfo.index?-1===(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})):i+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return n.isItemMatched(e)})))&&(s=!0),-1===i&&-1===this.focusedItemInfo.index&&(i=this.findFirstFocusedItemIndex()),-1!==i&&this.changeFocusedItemIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.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,n=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,i=t.DomHandler.findSingle(this.menubar,'li[id="'.concat(n,'"]'));i&&i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=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:n,key:c,parent:i,parentKey:s};a.items=t.createProcessedItems(e.items,n+1,a,c),o.push(a)})),o},containerRef:function(e){this.container=e},menubarRef:function(e){this.menubar=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:{MenubarSub:h,BarsIcon:u.default}};function P(e){return P="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},P(e)}function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?C(Object(n),!0).forEach((function(t){K(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function K(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e){var t=w(e,"string");return"symbol"===P(t)?t:String(t)}function w(e,t){if("object"!==P(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==P(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var A=["aria-haspopup","aria-expanded","aria-controls","aria-label"];k.render=function(e,t,n,i,s,o){var r=c.resolveComponent("BarsIcon"),a=c.resolveComponent("MenubarSub");return c.openBlock(),c.createElementBlock("div",c.mergeProps({ref:o.containerRef,class:e.cx("root")},e.ptm("root")),[e.$slots.start?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:0,class:e.cx("start")},e.ptm("start")),[c.renderSlot(e.$slots,"start")],16)):c.createCommentVNode("",!0),e.model&&e.model.length>0?(c.openBlock(),c.createElementBlock("a",c.mergeProps({key:1,ref:"menubutton",role:"button",tabindex:"0",class:e.cx("button"),"aria-haspopup":!!(e.model.length&&e.model.length>0),"aria-expanded":s.mobileActive,"aria-controls":s.id,"aria-label":e.$primevue.config.locale.aria.navigation,onClick:t[0]||(t[0]=function(e){return o.menuButtonClick(e)}),onKeydown:t[1]||(t[1]=function(e){return o.menuButtonKeydown(e)})},E(E({},e.buttonProps),e.ptm("button"))),[c.renderSlot(e.$slots,"popupicon",{},(function(){return[c.createVNode(r,c.normalizeProps(c.guardReactiveProps(e.ptm("popupIcon"))),null,16)]}))],16,A)):c.createCommentVNode("",!0),c.createVNode(a,{ref:o.menubarRef,id:s.id,role:"menubar",items:o.processedItems,templates:e.$slots,root:!0,mobileActive:s.mobileActive,tabindex:"0","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,activeItemPath:s.activeItemPath,exact:e.exact,level:0,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","items","templates","mobileActive","aria-activedescendant","menuId","focusedItemId","activeItemPath","exact","aria-labelledby","aria-label","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:2,class:e.cx("end")},e.ptm("end")),[c.renderSlot(e.$slots,"end")],16)):c.createCommentVNode("",!0)],16)},module.exports=k;
|
package/menubar/menubar.esm.js
CHANGED
|
@@ -5,7 +5,7 @@ import { useStyle } from 'primevue/usestyle';
|
|
|
5
5
|
import AngleDownIcon from 'primevue/icons/angledown';
|
|
6
6
|
import AngleRightIcon from 'primevue/icons/angleright';
|
|
7
7
|
import Ripple from 'primevue/ripple';
|
|
8
|
-
import { resolveComponent, resolveDirective, openBlock, createElementBlock,
|
|
8
|
+
import { mergeProps, resolveComponent, resolveDirective, openBlock, createElementBlock, Fragment, renderList, createElementVNode, createBlock, withCtx, withDirectives, resolveDynamicComponent, normalizeClass, createCommentVNode, toDisplayString, normalizeStyle, renderSlot, createVNode, normalizeProps, guardReactiveProps } from 'vue';
|
|
9
9
|
|
|
10
10
|
var styles = "\n.p-menubar {\n display: flex;\n align-items: center;\n}\n\n.p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.p-menubar .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n\n.p-menubar .p-menuitem-text {\n line-height: 1;\n}\n\n.p-menubar .p-menuitem {\n position: relative;\n}\n\n.p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n}\n\n.p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n}\n\n.p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 1;\n}\n\n.p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n}\n\n.p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n}\n";
|
|
11
11
|
var inlineStyles = {
|
|
@@ -215,6 +215,24 @@ var script$1 = {
|
|
|
215
215
|
return index - this.items.slice(0, index).filter(function (processedItem) {
|
|
216
216
|
return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, 'separator');
|
|
217
217
|
}).length + 1;
|
|
218
|
+
},
|
|
219
|
+
getMenuItemProps: function getMenuItemProps(processedItem, index) {
|
|
220
|
+
return {
|
|
221
|
+
action: mergeProps({
|
|
222
|
+
"class": this.cx('action'),
|
|
223
|
+
tabindex: -1,
|
|
224
|
+
'aria-hidden': true
|
|
225
|
+
}, this.getPTOptions(processedItem, index, 'action')),
|
|
226
|
+
icon: mergeProps({
|
|
227
|
+
"class": [this.cx('icon'), this.getItemProp(processedItem, 'icon')]
|
|
228
|
+
}, this.getPTOptions(processedItem, index, 'icon')),
|
|
229
|
+
label: mergeProps({
|
|
230
|
+
"class": this.cx('label')
|
|
231
|
+
}, this.getPTOptions(processedItem, index, 'label')),
|
|
232
|
+
submenuicon: mergeProps({
|
|
233
|
+
"class": this.cx('submenuIcon')
|
|
234
|
+
}, this.getPTOptions(processedItem, index, 'submenuIcon'))
|
|
235
|
+
};
|
|
218
236
|
}
|
|
219
237
|
},
|
|
220
238
|
components: {
|
|
@@ -330,8 +348,12 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
330
348
|
"class": _ctx.cx('submenuIcon')
|
|
331
349
|
}, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_4)), [[_directive_ripple]])], 64)) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), {
|
|
332
350
|
key: 1,
|
|
333
|
-
item: processedItem.item
|
|
334
|
-
|
|
351
|
+
item: processedItem.item,
|
|
352
|
+
root: $props.root,
|
|
353
|
+
hasSubmenu: $options.getItemProp(processedItem, 'items'),
|
|
354
|
+
label: $options.getItemLabel(processedItem),
|
|
355
|
+
props: $options.getMenuItemProps(processedItem, index)
|
|
356
|
+
}, null, 8, ["item", "root", "hasSubmenu", "label", "props"]))], 16, _hoisted_2), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_MenubarSub, {
|
|
335
357
|
key: 0,
|
|
336
358
|
menuId: $props.menuId,
|
|
337
359
|
role: "menu",
|
|
@@ -400,6 +422,11 @@ var script = {
|
|
|
400
422
|
outsideClickListener: null,
|
|
401
423
|
container: null,
|
|
402
424
|
menubar: null,
|
|
425
|
+
beforeMount: function beforeMount() {
|
|
426
|
+
if (!this.$slots.item) {
|
|
427
|
+
console.warn('In future versions, vue-router support will be removed. Item templating should be used.');
|
|
428
|
+
}
|
|
429
|
+
},
|
|
403
430
|
mounted: function mounted() {
|
|
404
431
|
this.id = this.id || UniqueComponentId();
|
|
405
432
|
},
|
|
@@ -947,9 +974,9 @@ var script = {
|
|
|
947
974
|
}
|
|
948
975
|
};
|
|
949
976
|
|
|
950
|
-
function _typeof(
|
|
951
|
-
function ownKeys(
|
|
952
|
-
function _objectSpread(
|
|
977
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
978
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
979
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
953
980
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
954
981
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
955
982
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -999,12 +1026,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
999
1026
|
"aria-labelledby": _ctx.ariaLabelledby,
|
|
1000
1027
|
"aria-label": _ctx.ariaLabel,
|
|
1001
1028
|
pt: _ctx.pt,
|
|
1029
|
+
unstyled: _ctx.unstyled,
|
|
1002
1030
|
onFocus: $options.onFocus,
|
|
1003
1031
|
onBlur: $options.onBlur,
|
|
1004
1032
|
onKeydown: $options.onKeyDown,
|
|
1005
1033
|
onItemClick: $options.onItemClick,
|
|
1006
1034
|
onItemMouseenter: $options.onItemMouseEnter
|
|
1007
|
-
}, null, 8, ["id", "items", "templates", "mobileActive", "aria-activedescendant", "menuId", "focusedItemId", "activeItemPath", "exact", "aria-labelledby", "aria-label", "pt", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter"]), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({
|
|
1035
|
+
}, null, 8, ["id", "items", "templates", "mobileActive", "aria-activedescendant", "menuId", "focusedItemId", "activeItemPath", "exact", "aria-labelledby", "aria-label", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter"]), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({
|
|
1008
1036
|
key: 2,
|
|
1009
1037
|
"class": _ctx.cx('end')
|
|
1010
1038
|
}, _ctx.ptm('end')), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"primevue/icons/bars";import{ObjectUtils as t,UniqueComponentId as n,ZIndexUtils as i,DomHandler as s}from"primevue/utils";import o from"primevue/basecomponent";import{useStyle as r}from"primevue/usestyle";import a from"primevue/icons/angledown";import c from"primevue/icons/angleright";import u from"primevue/ripple";import{resolveComponent as m,resolveDirective as l,openBlock as d,createElementBlock as I,mergeProps as f,Fragment as h,renderList as p,createElementVNode as b,createBlock as v,withCtx as y,withDirectives as g,resolveDynamicComponent as x,normalizeClass as P,createCommentVNode as k,toDisplayString as K,normalizeStyle as A,renderSlot as w,createVNode as L,normalizeProps as E,guardReactiveProps as S}from"vue";var F=r("\n.p-menubar {\n display: flex;\n align-items: center;\n}\n\n.p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.p-menubar .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n\n.p-menubar .p-menuitem-text {\n line-height: 1;\n}\n\n.p-menubar .p-menuitem {\n position: relative;\n}\n\n.p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n}\n\n.p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n}\n\n.p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 1;\n}\n\n.p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n}\n\n.p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n}\n",{name:"menubar",manual:!0}),C={name:"BaseMenubar",extends:o,props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},buttonProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},css:{classes:{root:function(e){return["p-menubar p-component",{"p-menubar-mobile-active":e.instance.mobileActive}]},start:"p-menubar-start",button:"p-menubar-button",menu:"p-menubar-root-list",menuitem:function(e){var t=e.instance,n=e.processedItem;return["p-menuitem",{"p-menuitem-active p-highlight":t.isItemActive(n),"p-focus":t.isItemFocused(n),"p-disabled":t.isItemDisabled(n)}]},content:"p-menuitem-content",action:function(e){return["p-menuitem-link",{"router-link-active":e.isActive,"router-link-active-exact":e.props.exact&&e.isExactActive}]},icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",submenu:"p-submenu-list",separator:"p-menuitem-separator",end:"p-menubar-end"},inlineStyles:{submenu:function(e){return{display:e.instance.isItemActive(e.processedItem)?"block":"none"}}},loadStyle:F.load},provide:function(){return{$parentInstance:this}}},O={name:"MenubarSub",hostName:"Menubar",extends:o,emits:["item-mouseenter","item-click"],props:{items:{type:Array,default:null},root:{type:Boolean,default:!1},popup:{type:Boolean,default:!1},mobileActive:{type:Boolean,default:!1},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},level:{type:Number,default:0},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},activeItemPath:{type:Object,default:null}},list:null,methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,n,i){return e&&e.item?t.getItemValue(e.item[n],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(n,{context:{item:e,index:t,active:this.isItemActive(e),focused:this.isItemFocused(e),level:this.level}})},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})},onItemActionClick:function(e,t){t&&t(e)},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}},components:{AngleRightIcon:c,AngleDownIcon:a},directives:{ripple:u}},D=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],V=["onClick","onMouseenter"],T=["href","onClick"],$=["href","target"],z=["id"];O.render=function(e,t,n,i,s,o){var r=m("router-link"),a=m("MenubarSub",!0),c=l("ripple");return d(),I("ul",f({class:e.cx(0===n.level?"menu":"submenu")},e.ptm(0===n.level?"menu":"submenu")),[(d(!0),I(h,null,p(n.items,(function(i,s){return d(),I(h,{key:o.getItemKey(i)},[o.isItemVisible(i)&&!o.getItemProp(i,"separator")?(d(),I("li",f({key:0,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("menuitem",{processedItem:i}),o.getItemProp(i,"class")],role:"menuitem","aria-label":o.getItemLabel(i),"aria-disabled":o.isItemDisabled(i)||void 0,"aria-expanded":o.isItemGroup(i)?o.isItemActive(i):void 0,"aria-haspopup":o.isItemGroup(i)&&!o.getItemProp(i,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions(i,s,"menuitem"),{"data-p-highlight":o.isItemActive(i),"data-p-focused":o.isItemFocused(i),"data-p-disabled":o.isItemDisabled(i)}),[b("div",f({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,i)},onMouseenter:function(e){return o.onItemMouseEnter(e,i)}},o.getPTOptions(i,s,"content")),[n.templates.item?(d(),v(x(n.templates.item),{key:1,item:i.item},null,8,["item"])):(d(),I(h,{key:0},[o.getItemProp(i,"to")&&!o.isItemDisabled(i)?(d(),v(r,{key:0,to:o.getItemProp(i,"to"),custom:""},{default:y((function(t){var r=t.navigate,a=t.href,u=t.isActive,m=t.isExactActive;return[g((d(),I("a",f({href:a,class:e.cx("action",{isActive:u,isExactActive:m}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,r)}},o.getPTOptions(i,s,"action")),[n.templates.itemicon?(d(),v(x(n.templates.itemicon),{key:0,item:i.item,class:P([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(d(),I("span",f({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions(i,s,"icon")),null,16)):k("",!0),b("span",f({class:e.cx("label")},o.getPTOptions(i,s,"label")),K(o.getItemLabel(i)),17)],16,T)),[[c]])]})),_:2},1032,["to"])):g((d(),I("a",f({key:1,href:o.getItemProp(i,"url"),class:e.cx("action"),target:o.getItemProp(i,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions(i,s,"action")),[n.templates.itemicon?(d(),v(x(n.templates.itemicon),{key:0,item:i.item,class:P([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(d(),I("span",f({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions(i,s,"icon")),null,16)):k("",!0),b("span",f({class:e.cx("label")},o.getPTOptions(i,s,"label")),K(o.getItemLabel(i)),17),o.getItemProp(i,"items")?(d(),I(h,{key:2},[n.templates.submenuicon?(d(),v(x(n.templates.submenuicon),{key:0,root:n.root,active:o.isItemActive(i),class:P(e.cx("submenuIcon"))},null,8,["root","active","class"])):(d(),v(x(n.root?"AngleDownIcon":"AngleRightIcon"),f({key:1,class:e.cx("submenuIcon")},o.getPTOptions(i,s,"submenuIcon")),null,16,["class"]))],64)):k("",!0)],16,$)),[[c]])],64))],16,V),o.isItemVisible(i)&&o.isItemGroup(i)?(d(),v(a,{key:0,menuId:n.menuId,role:"menu",style:A(e.sx("submenu",!0,{processedItem:i})),focusedItemId:n.focusedItemId,items:i.items,mobileActive:n.mobileActive,activeItemPath:n.activeItemPath,templates:n.templates,exact:n.exact,level:n.level+1,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)})},null,8,["menuId","style","focusedItemId","items","mobileActive","activeItemPath","templates","exact","level","pt","unstyled"])):k("",!0)],16,D)):k("",!0),o.isItemVisible(i)&&o.getItemProp(i,"separator")?(d(),I("li",f({key:1,id:o.getItemId(i),class:[e.cx("separator"),o.getItemProp(i,"class")],style:o.getItemProp(i,"style"),role:"separator"},e.ptm("separator")),null,16,z)):k("",!0)],64)})),128))],16)};var M={name:"Menubar",extends:C,emits:["focus","blur"],data:function(){return{id:this.$attrs.id,mobileActive:!1,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],dirty:!1}},watch:{"$attrs.id":function(e){this.id=e||n()},activeItemPath:function(e){t.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},outsideClickListener:null,container:null,menubar:null,mounted:function(){this.id=this.id||n()},beforeUnmount:function(){this.mobileActive=!1,this.unbindOutsideClickListener(),this.unbindResizeListener(),this.container&&i.clear(this.container),this.container=null},methods:{getItemProp:function(e,n){return e?t.getItemValue(e[n]):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){var t=this;this.mobileActive?(this.mobileActive=!1,i.clear(this.menubar),this.hide()):(this.mobileActive=!0,i.set("menu",this.menubar,this.$primevue.config.zIndex.menu),setTimeout((function(){t.show()}),1)),this.bindOutsideClickListener(),e.preventDefault()},show:function(){this.focusedItemInfo={index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},s.focus(this.menubar)},hide:function(e,t){var n=this;this.mobileActive&&(this.mobileActive=!1,setTimeout((function(){s.focus(n.$refs.menubutton)}),0)),this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t&&s.focus(this.menubar),this.dirty=!1},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown:function(e){var n=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:!n&&t.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,i=e.isFocus;if(!t.isEmpty(n)){var o=n.index,r=n.key,a=n.level,c=n.parentKey,u=t.isNotEmpty(n.items),m=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==r}));u&&m.push(n),this.focusedItemInfo={index:o,level:a,parentKey:c},this.activeItemPath=m,u&&(this.dirty=!0),i&&s.focus(this.menubar)}},onItemClick:function(e){var n=e.originalEvent,i=e.processedItem,o=this.isProccessedItemGroup(i),r=t.isEmpty(i.parent);if(this.isSelected(i)){var a=i.index,c=i.key,u=i.level,m=i.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return c!==e.key&&c.startsWith(e.key)})),this.focusedItemInfo={index:a,level:u,parentKey:m},this.dirty=!r,s.focus(this.menubar)}else if(o)this.onItemChange(e);else{var l=r?i:this.activeItemPath.find((function(e){return""===e.parentKey}));this.hide(n),this.changeFocusedItemIndex(n,l?l.index:-1),this.mobileActive=!1,s.focus(this.menubar)}},onItemMouseEnter:function(e){!this.mobileActive&&this.dirty&&this.onItemChange(e)},menuButtonClick:function(e){this.toggle(e)},menuButtonKeydown:function(e){("Enter"===e.code||"Space"===e.code)&&this.menuButtonClick(e)},onArrowDownKey:function(e){var n=this.visibleItems[this.focusedItemInfo.index];if(n?t.isEmpty(n.parent):null){this.isProccessedItemGroup(n)&&(this.onItemChange({originalEvent:e,processedItem:n}),this.focusedItemInfo={index:-1,parentKey:n.key},this.onArrowRightKey(e))}else{var i=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowUpKey:function(e){var n=this,i=this.visibleItems[this.focusedItemInfo.index];if(t.isEmpty(i.parent)){if(this.isProccessedItemGroup(i)){this.onItemChange({originalEvent:e,processedItem:i}),this.focusedItemInfo={index:-1,parentKey:i.key};var s=this.findLastItemIndex();this.changeFocusedItemIndex(e,s)}}else{var o=this.activeItemPath.find((function(e){return e.key===i.parentKey}));if(0===this.focusedItemInfo.index)this.focusedItemInfo={index:-1,parentKey:o?o.parentKey:""},this.searchValue="",this.onArrowLeftKey(e),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==n.focusedItemInfo.parentKey}));else{var r=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,r)}}e.preventDefault()},onArrowLeftKey:function(e){var t=this,n=this.visibleItems[this.focusedItemInfo.index],i=n?this.activeItemPath.find((function(e){return e.key===n.parentKey})):null;if(i)this.onItemChange({originalEvent:e,processedItem:i}),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.focusedItemInfo.parentKey})),e.preventDefault();else{var s=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,s),e.preventDefault()}},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];if(t?this.activeItemPath.find((function(e){return e.key===t.parentKey})):null){this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.onArrowDownKey(e))}else{var n=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,n),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=s.findSingle(this.menubar,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=t&&s.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(e,!0),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()},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var n=e.menubar!==t.target&&!e.menubar.contains(t.target);e.mobileActive&&e.$refs.menubutton!==t.target&&!e.$refs.menubutton.contains(t.target)&&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(t){s.isTouchDevice()||e.hide(t,!0),e.mobileActive=!1},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=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,n=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return n>-1?n+e+1:e},findPrevItemIndex:function(e){var n=this,i=e>0?t.findLastIndex(this.visibleItems.slice(0,e),(function(e){return n.isValidItem(e)})):-1;return i>-1?i: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 n=this;this.searchValue=(this.searchValue||"")+t;var i=-1,s=!1;return-1!==(i=-1!==this.focusedItemInfo.index?-1===(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})):i+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return n.isItemMatched(e)})))&&(s=!0),-1===i&&-1===this.focusedItemInfo.index&&(i=this.findFirstFocusedItemIndex()),-1!==i&&this.changeFocusedItemIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.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=s.findSingle(this.menubar,'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=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:n,key:a,parent:i,parentKey:s};c.items=t.createProcessedItems(e.items,n+1,c,a),o.push(c)})),o},containerRef:function(e){this.container=e},menubarRef:function(e){this.menubar=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:{MenubarSub:O,BarsIcon:e}};function B(e){return B="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},B(e)}function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){G(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function G(e,t,n){return(t=N(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e){var t=_(e,"string");return"symbol"===B(t)?t:String(t)}function _(e,t){if("object"!==B(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==B(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var U=["aria-haspopup","aria-expanded","aria-controls","aria-label"];M.render=function(e,t,n,i,s,o){var r=m("BarsIcon"),a=m("MenubarSub");return d(),I("div",f({ref:o.containerRef,class:e.cx("root")},e.ptm("root")),[e.$slots.start?(d(),I("div",f({key:0,class:e.cx("start")},e.ptm("start")),[w(e.$slots,"start")],16)):k("",!0),e.model&&e.model.length>0?(d(),I("a",f({key:1,ref:"menubutton",role:"button",tabindex:"0",class:e.cx("button"),"aria-haspopup":!!(e.model.length&&e.model.length>0),"aria-expanded":s.mobileActive,"aria-controls":s.id,"aria-label":e.$primevue.config.locale.aria.navigation,onClick:t[0]||(t[0]=function(e){return o.menuButtonClick(e)}),onKeydown:t[1]||(t[1]=function(e){return o.menuButtonKeydown(e)})},R(R({},e.buttonProps),e.ptm("button"))),[w(e.$slots,"popupicon",{},(function(){return[L(r,E(S(e.ptm("popupIcon"))),null,16)]}))],16,U)):k("",!0),L(a,{ref:o.menubarRef,id:s.id,role:"menubar",items:o.processedItems,templates:e.$slots,root:!0,mobileActive:s.mobileActive,tabindex:"0","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,activeItemPath:s.activeItemPath,exact:e.exact,level:0,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,pt:e.pt,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","items","templates","mobileActive","aria-activedescendant","menuId","focusedItemId","activeItemPath","exact","aria-labelledby","aria-label","pt","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(d(),I("div",f({key:2,class:e.cx("end")},e.ptm("end")),[w(e.$slots,"end")],16)):k("",!0)],16)};export{M as default};
|
|
1
|
+
import e from"primevue/icons/bars";import{ObjectUtils as t,UniqueComponentId as n,ZIndexUtils as i,DomHandler as s}from"primevue/utils";import o from"primevue/basecomponent";import{useStyle as r}from"primevue/usestyle";import a from"primevue/icons/angledown";import c from"primevue/icons/angleright";import u from"primevue/ripple";import{mergeProps as m,resolveComponent as l,resolveDirective as d,openBlock as I,createElementBlock as f,Fragment as h,renderList as p,createElementVNode as b,createBlock as v,withCtx as y,withDirectives as g,resolveDynamicComponent as x,normalizeClass as P,createCommentVNode as k,toDisplayString as K,normalizeStyle as A,renderSlot as w,createVNode as L,normalizeProps as E,guardReactiveProps as S}from"vue";var F=r("\n.p-menubar {\n display: flex;\n align-items: center;\n}\n\n.p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.p-menubar .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n\n.p-menubar .p-menuitem-text {\n line-height: 1;\n}\n\n.p-menubar .p-menuitem {\n position: relative;\n}\n\n.p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n}\n\n.p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n}\n\n.p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 1;\n}\n\n.p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n}\n\n.p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n}\n",{name:"menubar",manual:!0}),C={name:"BaseMenubar",extends:o,props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},buttonProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},css:{classes:{root:function(e){return["p-menubar p-component",{"p-menubar-mobile-active":e.instance.mobileActive}]},start:"p-menubar-start",button:"p-menubar-button",menu:"p-menubar-root-list",menuitem:function(e){var t=e.instance,n=e.processedItem;return["p-menuitem",{"p-menuitem-active p-highlight":t.isItemActive(n),"p-focus":t.isItemFocused(n),"p-disabled":t.isItemDisabled(n)}]},content:"p-menuitem-content",action:function(e){return["p-menuitem-link",{"router-link-active":e.isActive,"router-link-active-exact":e.props.exact&&e.isExactActive}]},icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",submenu:"p-submenu-list",separator:"p-menuitem-separator",end:"p-menubar-end"},inlineStyles:{submenu:function(e){return{display:e.instance.isItemActive(e.processedItem)?"block":"none"}}},loadStyle:F.load},provide:function(){return{$parentInstance:this}}},O={name:"MenubarSub",hostName:"Menubar",extends:o,emits:["item-mouseenter","item-click"],props:{items:{type:Array,default:null},root:{type:Boolean,default:!1},popup:{type:Boolean,default:!1},mobileActive:{type:Boolean,default:!1},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},level:{type:Number,default:0},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},activeItemPath:{type:Object,default:null}},list:null,methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,n,i){return e&&e.item?t.getItemValue(e.item[n],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(n,{context:{item:e,index:t,active:this.isItemActive(e),focused:this.isItemFocused(e),level:this.level}})},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})},onItemActionClick:function(e,t){t&&t(e)},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},getMenuItemProps:function(e,t){return{action:m({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions(e,t,"action")),icon:m({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions(e,t,"icon")),label:m({class:this.cx("label")},this.getPTOptions(e,t,"label")),submenuicon:m({class:this.cx("submenuIcon")},this.getPTOptions(e,t,"submenuIcon"))}}},components:{AngleRightIcon:c,AngleDownIcon:a},directives:{ripple:u}},D=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],T=["onClick","onMouseenter"],V=["href","onClick"],M=["href","target"],$=["id"];O.render=function(e,t,n,i,s,o){var r=l("router-link"),a=l("MenubarSub",!0),c=d("ripple");return I(),f("ul",m({class:e.cx(0===n.level?"menu":"submenu")},e.ptm(0===n.level?"menu":"submenu")),[(I(!0),f(h,null,p(n.items,(function(i,s){return I(),f(h,{key:o.getItemKey(i)},[o.isItemVisible(i)&&!o.getItemProp(i,"separator")?(I(),f("li",m({key:0,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("menuitem",{processedItem:i}),o.getItemProp(i,"class")],role:"menuitem","aria-label":o.getItemLabel(i),"aria-disabled":o.isItemDisabled(i)||void 0,"aria-expanded":o.isItemGroup(i)?o.isItemActive(i):void 0,"aria-haspopup":o.isItemGroup(i)&&!o.getItemProp(i,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions(i,s,"menuitem"),{"data-p-highlight":o.isItemActive(i),"data-p-focused":o.isItemFocused(i),"data-p-disabled":o.isItemDisabled(i)}),[b("div",m({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,i)},onMouseenter:function(e){return o.onItemMouseEnter(e,i)}},o.getPTOptions(i,s,"content")),[n.templates.item?(I(),v(x(n.templates.item),{key:1,item:i.item,root:n.root,hasSubmenu:o.getItemProp(i,"items"),label:o.getItemLabel(i),props:o.getMenuItemProps(i,s)},null,8,["item","root","hasSubmenu","label","props"])):(I(),f(h,{key:0},[o.getItemProp(i,"to")&&!o.isItemDisabled(i)?(I(),v(r,{key:0,to:o.getItemProp(i,"to"),custom:""},{default:y((function(t){var r=t.navigate,a=t.href,u=t.isActive,l=t.isExactActive;return[g((I(),f("a",m({href:a,class:e.cx("action",{isActive:u,isExactActive:l}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,r)}},o.getPTOptions(i,s,"action")),[n.templates.itemicon?(I(),v(x(n.templates.itemicon),{key:0,item:i.item,class:P([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(I(),f("span",m({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions(i,s,"icon")),null,16)):k("",!0),b("span",m({class:e.cx("label")},o.getPTOptions(i,s,"label")),K(o.getItemLabel(i)),17)],16,V)),[[c]])]})),_:2},1032,["to"])):g((I(),f("a",m({key:1,href:o.getItemProp(i,"url"),class:e.cx("action"),target:o.getItemProp(i,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions(i,s,"action")),[n.templates.itemicon?(I(),v(x(n.templates.itemicon),{key:0,item:i.item,class:P([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(I(),f("span",m({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions(i,s,"icon")),null,16)):k("",!0),b("span",m({class:e.cx("label")},o.getPTOptions(i,s,"label")),K(o.getItemLabel(i)),17),o.getItemProp(i,"items")?(I(),f(h,{key:2},[n.templates.submenuicon?(I(),v(x(n.templates.submenuicon),{key:0,root:n.root,active:o.isItemActive(i),class:P(e.cx("submenuIcon"))},null,8,["root","active","class"])):(I(),v(x(n.root?"AngleDownIcon":"AngleRightIcon"),m({key:1,class:e.cx("submenuIcon")},o.getPTOptions(i,s,"submenuIcon")),null,16,["class"]))],64)):k("",!0)],16,M)),[[c]])],64))],16,T),o.isItemVisible(i)&&o.isItemGroup(i)?(I(),v(a,{key:0,menuId:n.menuId,role:"menu",style:A(e.sx("submenu",!0,{processedItem:i})),focusedItemId:n.focusedItemId,items:i.items,mobileActive:n.mobileActive,activeItemPath:n.activeItemPath,templates:n.templates,exact:n.exact,level:n.level+1,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)})},null,8,["menuId","style","focusedItemId","items","mobileActive","activeItemPath","templates","exact","level","pt","unstyled"])):k("",!0)],16,D)):k("",!0),o.isItemVisible(i)&&o.getItemProp(i,"separator")?(I(),f("li",m({key:1,id:o.getItemId(i),class:[e.cx("separator"),o.getItemProp(i,"class")],style:o.getItemProp(i,"style"),role:"separator"},e.ptm("separator")),null,16,$)):k("",!0)],64)})),128))],16)};var z={name:"Menubar",extends:C,emits:["focus","blur"],data:function(){return{id:this.$attrs.id,mobileActive:!1,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],dirty:!1}},watch:{"$attrs.id":function(e){this.id=e||n()},activeItemPath:function(e){t.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},outsideClickListener:null,container:null,menubar:null,beforeMount:function(){this.$slots.item||console.warn("In future versions, vue-router support will be removed. Item templating should be used.")},mounted:function(){this.id=this.id||n()},beforeUnmount:function(){this.mobileActive=!1,this.unbindOutsideClickListener(),this.unbindResizeListener(),this.container&&i.clear(this.container),this.container=null},methods:{getItemProp:function(e,n){return e?t.getItemValue(e[n]):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){var t=this;this.mobileActive?(this.mobileActive=!1,i.clear(this.menubar),this.hide()):(this.mobileActive=!0,i.set("menu",this.menubar,this.$primevue.config.zIndex.menu),setTimeout((function(){t.show()}),1)),this.bindOutsideClickListener(),e.preventDefault()},show:function(){this.focusedItemInfo={index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},s.focus(this.menubar)},hide:function(e,t){var n=this;this.mobileActive&&(this.mobileActive=!1,setTimeout((function(){s.focus(n.$refs.menubutton)}),0)),this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t&&s.focus(this.menubar),this.dirty=!1},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown:function(e){var n=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:!n&&t.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,i=e.isFocus;if(!t.isEmpty(n)){var o=n.index,r=n.key,a=n.level,c=n.parentKey,u=t.isNotEmpty(n.items),m=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==r}));u&&m.push(n),this.focusedItemInfo={index:o,level:a,parentKey:c},this.activeItemPath=m,u&&(this.dirty=!0),i&&s.focus(this.menubar)}},onItemClick:function(e){var n=e.originalEvent,i=e.processedItem,o=this.isProccessedItemGroup(i),r=t.isEmpty(i.parent);if(this.isSelected(i)){var a=i.index,c=i.key,u=i.level,m=i.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return c!==e.key&&c.startsWith(e.key)})),this.focusedItemInfo={index:a,level:u,parentKey:m},this.dirty=!r,s.focus(this.menubar)}else if(o)this.onItemChange(e);else{var l=r?i:this.activeItemPath.find((function(e){return""===e.parentKey}));this.hide(n),this.changeFocusedItemIndex(n,l?l.index:-1),this.mobileActive=!1,s.focus(this.menubar)}},onItemMouseEnter:function(e){!this.mobileActive&&this.dirty&&this.onItemChange(e)},menuButtonClick:function(e){this.toggle(e)},menuButtonKeydown:function(e){("Enter"===e.code||"Space"===e.code)&&this.menuButtonClick(e)},onArrowDownKey:function(e){var n=this.visibleItems[this.focusedItemInfo.index];if(n?t.isEmpty(n.parent):null){this.isProccessedItemGroup(n)&&(this.onItemChange({originalEvent:e,processedItem:n}),this.focusedItemInfo={index:-1,parentKey:n.key},this.onArrowRightKey(e))}else{var i=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowUpKey:function(e){var n=this,i=this.visibleItems[this.focusedItemInfo.index];if(t.isEmpty(i.parent)){if(this.isProccessedItemGroup(i)){this.onItemChange({originalEvent:e,processedItem:i}),this.focusedItemInfo={index:-1,parentKey:i.key};var s=this.findLastItemIndex();this.changeFocusedItemIndex(e,s)}}else{var o=this.activeItemPath.find((function(e){return e.key===i.parentKey}));if(0===this.focusedItemInfo.index)this.focusedItemInfo={index:-1,parentKey:o?o.parentKey:""},this.searchValue="",this.onArrowLeftKey(e),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==n.focusedItemInfo.parentKey}));else{var r=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,r)}}e.preventDefault()},onArrowLeftKey:function(e){var t=this,n=this.visibleItems[this.focusedItemInfo.index],i=n?this.activeItemPath.find((function(e){return e.key===n.parentKey})):null;if(i)this.onItemChange({originalEvent:e,processedItem:i}),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.focusedItemInfo.parentKey})),e.preventDefault();else{var s=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,s),e.preventDefault()}},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];if(t?this.activeItemPath.find((function(e){return e.key===t.parentKey})):null){this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.onArrowDownKey(e))}else{var n=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,n),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=s.findSingle(this.menubar,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=t&&s.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(e,!0),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()},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var n=e.menubar!==t.target&&!e.menubar.contains(t.target);e.mobileActive&&e.$refs.menubutton!==t.target&&!e.$refs.menubutton.contains(t.target)&&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(t){s.isTouchDevice()||e.hide(t,!0),e.mobileActive=!1},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=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,n=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return n>-1?n+e+1:e},findPrevItemIndex:function(e){var n=this,i=e>0?t.findLastIndex(this.visibleItems.slice(0,e),(function(e){return n.isValidItem(e)})):-1;return i>-1?i: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 n=this;this.searchValue=(this.searchValue||"")+t;var i=-1,s=!1;return-1!==(i=-1!==this.focusedItemInfo.index?-1===(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})):i+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return n.isItemMatched(e)})))&&(s=!0),-1===i&&-1===this.focusedItemInfo.index&&(i=this.findFirstFocusedItemIndex()),-1!==i&&this.changeFocusedItemIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.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=s.findSingle(this.menubar,'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=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:n,key:a,parent:i,parentKey:s};c.items=t.createProcessedItems(e.items,n+1,c,a),o.push(c)})),o},containerRef:function(e){this.container=e},menubarRef:function(e){this.menubar=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:{MenubarSub:O,BarsIcon:e}};function B(e){return B="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},B(e)}function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){G(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function G(e,t,n){return(t=N(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e){var t=_(e,"string");return"symbol"===B(t)?t:String(t)}function _(e,t){if("object"!==B(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==B(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var U=["aria-haspopup","aria-expanded","aria-controls","aria-label"];z.render=function(e,t,n,i,s,o){var r=l("BarsIcon"),a=l("MenubarSub");return I(),f("div",m({ref:o.containerRef,class:e.cx("root")},e.ptm("root")),[e.$slots.start?(I(),f("div",m({key:0,class:e.cx("start")},e.ptm("start")),[w(e.$slots,"start")],16)):k("",!0),e.model&&e.model.length>0?(I(),f("a",m({key:1,ref:"menubutton",role:"button",tabindex:"0",class:e.cx("button"),"aria-haspopup":!!(e.model.length&&e.model.length>0),"aria-expanded":s.mobileActive,"aria-controls":s.id,"aria-label":e.$primevue.config.locale.aria.navigation,onClick:t[0]||(t[0]=function(e){return o.menuButtonClick(e)}),onKeydown:t[1]||(t[1]=function(e){return o.menuButtonKeydown(e)})},R(R({},e.buttonProps),e.ptm("button"))),[w(e.$slots,"popupicon",{},(function(){return[L(r,E(S(e.ptm("popupIcon"))),null,16)]}))],16,U)):k("",!0),L(a,{ref:o.menubarRef,id:s.id,role:"menubar",items:o.processedItems,templates:e.$slots,root:!0,mobileActive:s.mobileActive,tabindex:"0","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,activeItemPath:s.activeItemPath,exact:e.exact,level:0,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","items","templates","mobileActive","aria-activedescendant","menuId","focusedItemId","activeItemPath","exact","aria-labelledby","aria-label","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(I(),f("div",m({key:2,class:e.cx("end")},e.ptm("end")),[w(e.$slots,"end")],16)):k("",!0)],16)};export{z as default};
|
package/menubar/menubar.js
CHANGED
|
@@ -218,6 +218,24 @@ this.primevue.menubar = (function (BarsIcon, utils, BaseComponent, usestyle, Ang
|
|
|
218
218
|
return index - this.items.slice(0, index).filter(function (processedItem) {
|
|
219
219
|
return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, 'separator');
|
|
220
220
|
}).length + 1;
|
|
221
|
+
},
|
|
222
|
+
getMenuItemProps: function getMenuItemProps(processedItem, index) {
|
|
223
|
+
return {
|
|
224
|
+
action: vue.mergeProps({
|
|
225
|
+
"class": this.cx('action'),
|
|
226
|
+
tabindex: -1,
|
|
227
|
+
'aria-hidden': true
|
|
228
|
+
}, this.getPTOptions(processedItem, index, 'action')),
|
|
229
|
+
icon: vue.mergeProps({
|
|
230
|
+
"class": [this.cx('icon'), this.getItemProp(processedItem, 'icon')]
|
|
231
|
+
}, this.getPTOptions(processedItem, index, 'icon')),
|
|
232
|
+
label: vue.mergeProps({
|
|
233
|
+
"class": this.cx('label')
|
|
234
|
+
}, this.getPTOptions(processedItem, index, 'label')),
|
|
235
|
+
submenuicon: vue.mergeProps({
|
|
236
|
+
"class": this.cx('submenuIcon')
|
|
237
|
+
}, this.getPTOptions(processedItem, index, 'submenuIcon'))
|
|
238
|
+
};
|
|
221
239
|
}
|
|
222
240
|
},
|
|
223
241
|
components: {
|
|
@@ -333,8 +351,12 @@ this.primevue.menubar = (function (BarsIcon, utils, BaseComponent, usestyle, Ang
|
|
|
333
351
|
"class": _ctx.cx('submenuIcon')
|
|
334
352
|
}, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, ["class"]))], 64)) : vue.createCommentVNode("", true)], 16, _hoisted_4)), [[_directive_ripple]])], 64)) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.item), {
|
|
335
353
|
key: 1,
|
|
336
|
-
item: processedItem.item
|
|
337
|
-
|
|
354
|
+
item: processedItem.item,
|
|
355
|
+
root: $props.root,
|
|
356
|
+
hasSubmenu: $options.getItemProp(processedItem, 'items'),
|
|
357
|
+
label: $options.getItemLabel(processedItem),
|
|
358
|
+
props: $options.getMenuItemProps(processedItem, index)
|
|
359
|
+
}, null, 8, ["item", "root", "hasSubmenu", "label", "props"]))], 16, _hoisted_2), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (vue.openBlock(), vue.createBlock(_component_MenubarSub, {
|
|
338
360
|
key: 0,
|
|
339
361
|
menuId: $props.menuId,
|
|
340
362
|
role: "menu",
|
|
@@ -403,6 +425,11 @@ this.primevue.menubar = (function (BarsIcon, utils, BaseComponent, usestyle, Ang
|
|
|
403
425
|
outsideClickListener: null,
|
|
404
426
|
container: null,
|
|
405
427
|
menubar: null,
|
|
428
|
+
beforeMount: function beforeMount() {
|
|
429
|
+
if (!this.$slots.item) {
|
|
430
|
+
console.warn('In future versions, vue-router support will be removed. Item templating should be used.');
|
|
431
|
+
}
|
|
432
|
+
},
|
|
406
433
|
mounted: function mounted() {
|
|
407
434
|
this.id = this.id || utils.UniqueComponentId();
|
|
408
435
|
},
|
|
@@ -950,9 +977,9 @@ this.primevue.menubar = (function (BarsIcon, utils, BaseComponent, usestyle, Ang
|
|
|
950
977
|
}
|
|
951
978
|
};
|
|
952
979
|
|
|
953
|
-
function _typeof(
|
|
954
|
-
function ownKeys(
|
|
955
|
-
function _objectSpread(
|
|
980
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
981
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
982
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
956
983
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
957
984
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
958
985
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -1002,12 +1029,13 @@ this.primevue.menubar = (function (BarsIcon, utils, BaseComponent, usestyle, Ang
|
|
|
1002
1029
|
"aria-labelledby": _ctx.ariaLabelledby,
|
|
1003
1030
|
"aria-label": _ctx.ariaLabel,
|
|
1004
1031
|
pt: _ctx.pt,
|
|
1032
|
+
unstyled: _ctx.unstyled,
|
|
1005
1033
|
onFocus: $options.onFocus,
|
|
1006
1034
|
onBlur: $options.onBlur,
|
|
1007
1035
|
onKeydown: $options.onKeyDown,
|
|
1008
1036
|
onItemClick: $options.onItemClick,
|
|
1009
1037
|
onItemMouseenter: $options.onItemMouseEnter
|
|
1010
|
-
}, null, 8, ["id", "items", "templates", "mobileActive", "aria-activedescendant", "menuId", "focusedItemId", "activeItemPath", "exact", "aria-labelledby", "aria-label", "pt", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter"]), _ctx.$slots.end ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
1038
|
+
}, null, 8, ["id", "items", "templates", "mobileActive", "aria-activedescendant", "menuId", "focusedItemId", "activeItemPath", "exact", "aria-labelledby", "aria-label", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter"]), _ctx.$slots.end ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
1011
1039
|
key: 2,
|
|
1012
1040
|
"class": _ctx.cx('end')
|
|
1013
1041
|
}, _ctx.ptm('end')), [vue.renderSlot(_ctx.$slots, "end")], 16)) : vue.createCommentVNode("", true)], 16);
|