primevue 4.3.4 → 4.3.6
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/index.mjs +4 -2
- package/accordion/index.mjs.map +1 -1
- package/accordioncontent/AccordionContent.vue +2 -2
- package/accordioncontent/index.mjs +2 -2
- package/accordioncontent/index.mjs.map +1 -1
- package/accordionheader/AccordionHeader.vue +2 -2
- package/accordionheader/index.mjs +2 -2
- package/accordionheader/index.mjs.map +1 -1
- package/accordionpanel/index.mjs.map +1 -1
- package/accordiontab/index.mjs.map +1 -1
- package/animateonscroll/index.mjs.map +1 -1
- package/autocomplete/AutoComplete.vue +3 -1
- package/autocomplete/index.mjs +10 -5
- package/autocomplete/index.mjs.map +1 -1
- package/autocomplete/style/index.mjs +6 -5
- package/autocomplete/style/index.mjs.map +1 -1
- package/avatar/index.mjs.map +1 -1
- package/avatargroup/index.mjs.map +1 -1
- package/badge/index.mjs.map +1 -1
- package/badge/style/index.mjs.map +1 -1
- package/badgedirective/index.mjs.map +1 -1
- package/blockui/index.mjs.map +1 -1
- package/breadcrumb/index.mjs +4 -2
- package/breadcrumb/index.mjs.map +1 -1
- package/button/Button.vue +1 -1
- package/button/index.d.ts +4 -0
- package/button/index.mjs +5 -4
- package/button/index.mjs.map +1 -1
- package/button/style/index.mjs.map +1 -1
- package/buttongroup/index.mjs.map +1 -1
- package/card/index.mjs.map +1 -1
- package/carousel/index.mjs +10 -5
- package/carousel/index.mjs.map +1 -1
- package/cascadeselect/index.mjs +10 -5
- package/cascadeselect/index.mjs.map +1 -1
- package/chart/index.mjs.map +1 -1
- package/checkbox/index.mjs.map +1 -1
- package/checkboxgroup/index.mjs.map +1 -1
- package/chip/Chip.vue +1 -1
- package/chip/index.mjs +1 -1
- package/chip/index.mjs.map +1 -1
- package/colorpicker/index.mjs.map +1 -1
- package/column/index.mjs.map +1 -1
- package/columngroup/index.mjs.map +1 -1
- package/confirmdialog/index.mjs.map +1 -1
- package/confirmpopup/index.mjs.map +1 -1
- package/contextmenu/index.mjs +16 -8
- package/contextmenu/index.mjs.map +1 -1
- package/datatable/BodyCell.vue +1 -1
- package/datatable/ColumnFilter.vue +2 -13
- package/datatable/DataTable.vue +8 -4
- package/datatable/index.d.ts +2 -2
- package/datatable/index.mjs +53 -57
- package/datatable/index.mjs.map +1 -1
- package/dataview/index.mjs.map +1 -1
- package/datepicker/DatePicker.vue +13 -2
- package/datepicker/index.mjs +68 -30
- package/datepicker/index.mjs.map +1 -1
- package/deferredcontent/index.mjs.map +1 -1
- package/dialog/Dialog.vue +1 -1
- package/dialog/index.mjs +1 -1
- package/dialog/index.mjs.map +1 -1
- package/dialog/style/index.mjs.map +1 -1
- package/divider/index.mjs.map +1 -1
- package/dock/index.mjs +8 -4
- package/dock/index.mjs.map +1 -1
- package/dock/style/index.mjs.map +1 -1
- package/drawer/index.mjs.map +1 -1
- package/drawer/style/index.mjs.map +1 -1
- package/dynamicdialog/index.mjs +6 -3
- package/dynamicdialog/index.mjs.map +1 -1
- package/editor/index.mjs.map +1 -1
- package/fieldset/index.mjs.map +1 -1
- package/fileupload/FileUpload.vue +27 -25
- package/fileupload/index.d.ts +5 -0
- package/fileupload/index.mjs +18 -9
- package/fileupload/index.mjs.map +1 -1
- package/fileupload/style/index.d.ts +5 -1
- package/fileupload/style/index.mjs +2 -1
- package/fileupload/style/index.mjs.map +1 -1
- package/floatlabel/index.d.ts +1 -1
- package/floatlabel/index.mjs.map +1 -1
- package/fluid/index.mjs.map +1 -1
- package/focustrap/index.mjs.map +1 -1
- package/galleria/index.mjs +8 -4
- package/galleria/index.mjs.map +1 -1
- package/iconfield/index.mjs.map +1 -1
- package/iftalabel/index.mjs.map +1 -1
- package/image/index.mjs.map +1 -1
- package/imagecompare/index.mjs.map +1 -1
- package/inlinemessage/index.mjs.map +1 -1
- package/inplace/index.mjs.map +1 -1
- package/inputchips/index.mjs +2 -1
- package/inputchips/index.mjs.map +1 -1
- package/inputgroup/index.mjs.map +1 -1
- package/inputgroupaddon/index.mjs.map +1 -1
- package/inputicon/index.mjs.map +1 -1
- package/inputmask/index.mjs.map +1 -1
- package/inputnumber/InputNumber.vue +10 -1
- package/inputnumber/index.mjs +8 -1
- package/inputnumber/index.mjs.map +1 -1
- package/inputotp/index.mjs.map +1 -1
- package/inputtext/index.mjs.map +1 -1
- package/keyfilter/index.mjs.map +1 -1
- package/knob/index.mjs +2 -2
- package/knob/index.mjs.map +1 -1
- package/listbox/BaseListbox.vue +4 -0
- package/listbox/Listbox.vue +8 -6
- package/listbox/index.d.ts +5 -0
- package/listbox/index.mjs +20 -10
- package/listbox/index.mjs.map +1 -1
- package/listbox/style/index.mjs +1 -0
- package/listbox/style/index.mjs.map +1 -1
- package/megamenu/index.d.ts +0 -1
- package/megamenu/index.mjs +22 -11
- package/megamenu/index.mjs.map +1 -1
- package/menu/index.mjs +6 -3
- package/menu/index.mjs.map +1 -1
- package/menubar/MenubarSub.vue +0 -1
- package/menubar/index.d.ts +0 -2
- package/menubar/index.mjs +15 -9
- package/menubar/index.mjs.map +1 -1
- package/message/index.mjs.map +1 -1
- package/metergroup/index.mjs +10 -5
- package/metergroup/index.mjs.map +1 -1
- package/multiselect/MultiSelect.vue +10 -5
- package/multiselect/index.mjs +17 -9
- package/multiselect/index.mjs.map +1 -1
- package/orderlist/index.mjs.map +1 -1
- package/organizationchart/index.mjs +6 -3
- package/organizationchart/index.mjs.map +1 -1
- package/overlaybadge/index.mjs.map +1 -1
- package/package.json +6 -6
- package/paginator/index.mjs +10 -4
- package/paginator/index.mjs.map +1 -1
- package/paginator/style/index.mjs.map +1 -1
- package/panel/index.mjs.map +1 -1
- package/panelmenu/index.mjs +42 -21
- package/panelmenu/index.mjs.map +1 -1
- package/passthrough/index.mjs.map +1 -1
- package/password/index.mjs.map +1 -1
- package/picklist/PickList.vue +8 -11
- package/picklist/index.mjs +15 -7
- package/picklist/index.mjs.map +1 -1
- package/popover/index.mjs.map +1 -1
- package/portal/index.mjs.map +1 -1
- package/progressbar/index.mjs.map +1 -1
- package/progressspinner/index.mjs.map +1 -1
- package/radiobutton/index.mjs.map +1 -1
- package/radiobuttongroup/index.mjs.map +1 -1
- package/rating/Rating.vue +2 -2
- package/rating/index.d.ts +10 -0
- package/rating/index.mjs +17 -6
- package/rating/index.mjs.map +1 -1
- package/ripple/index.mjs.map +1 -1
- package/row/index.mjs.map +1 -1
- package/scrollpanel/ScrollPanel.vue +3 -1
- package/scrollpanel/index.mjs +2 -1
- package/scrollpanel/index.mjs.map +1 -1
- package/scrolltop/index.mjs.map +1 -1
- package/select/Select.vue +3 -4
- package/select/index.mjs +15 -9
- package/select/index.mjs.map +1 -1
- package/selectbutton/BaseSelectButton.vue +4 -0
- package/selectbutton/index.d.ts +25 -0
- package/selectbutton/index.mjs +4 -0
- package/selectbutton/index.mjs.map +1 -1
- package/selectbutton/style/index.mjs +5 -2
- package/selectbutton/style/index.mjs.map +1 -1
- package/skeleton/index.mjs.map +1 -1
- package/slider/index.mjs.map +1 -1
- package/speeddial/index.mjs +6 -3
- package/speeddial/index.mjs.map +1 -1
- package/speeddial/style/index.mjs.map +1 -1
- package/splitbutton/index.mjs.map +1 -1
- package/splitter/Splitter.vue +1 -1
- package/splitter/index.mjs +5 -2
- package/splitter/index.mjs.map +1 -1
- package/splitterpanel/index.mjs.map +1 -1
- package/step/index.mjs.map +1 -1
- package/stepitem/index.mjs.map +1 -1
- package/steplist/index.mjs.map +1 -1
- package/steppanel/index.mjs.map +1 -1
- package/steppanels/index.mjs.map +1 -1
- package/stepper/index.mjs.map +1 -1
- package/steps/index.mjs +8 -4
- package/steps/index.mjs.map +1 -1
- package/styleclass/index.mjs.map +1 -1
- package/tab/index.mjs.map +1 -1
- package/tablist/index.mjs.map +1 -1
- package/tabmenu/index.mjs +8 -2
- package/tabmenu/index.mjs.map +1 -1
- package/tabpanel/index.mjs.map +1 -1
- package/tabpanels/index.mjs.map +1 -1
- package/tabs/index.mjs.map +1 -1
- package/tabview/index.mjs +8 -4
- package/tabview/index.mjs.map +1 -1
- package/tag/index.mjs.map +1 -1
- package/terminal/index.mjs +8 -4
- package/terminal/index.mjs.map +1 -1
- package/textarea/index.mjs.map +1 -1
- package/tieredmenu/index.mjs +18 -9
- package/tieredmenu/index.mjs.map +1 -1
- package/timeline/index.mjs +12 -6
- package/timeline/index.mjs.map +1 -1
- package/toast/Toast.vue +3 -0
- package/toast/ToastMessage.vue +21 -9
- package/toast/index.d.ts +16 -4
- package/toast/index.mjs +27 -14
- package/toast/index.mjs.map +1 -1
- package/toast/style/index.mjs.map +1 -1
- package/togglebutton/BaseToggleButton.vue +4 -0
- package/togglebutton/index.d.ts +5 -0
- package/togglebutton/index.mjs +4 -0
- package/togglebutton/index.mjs.map +1 -1
- package/togglebutton/style/index.mjs +1 -0
- package/togglebutton/style/index.mjs.map +1 -1
- package/toggleswitch/index.mjs.map +1 -1
- package/toggleswitch/style/index.d.ts +1 -5
- package/toolbar/index.mjs.map +1 -1
- package/tooltip/index.mjs.map +1 -1
- package/tree/index.mjs.map +1 -1
- package/treeselect/index.mjs +2 -1
- package/treeselect/index.mjs.map +1 -1
- package/treetable/TreeTable.vue +1 -1
- package/treetable/index.mjs +3 -2
- package/treetable/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -12213
- package/useconfirm/index.mjs.map +1 -1
- package/usedialog/index.mjs.map +1 -1
- package/usetoast/index.mjs.map +1 -1
- package/virtualscroller/VirtualScroller.vue +4 -1
- package/virtualscroller/index.mjs +3 -1
- package/virtualscroller/index.mjs.map +1 -1
- package/virtualscroller/style/index.mjs.map +1 -1
- package/web-types.json +1 -1
package/menu/index.mjs
CHANGED
|
@@ -548,7 +548,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
548
548
|
key: 0,
|
|
549
549
|
id: _ctx.$id + '_' + i,
|
|
550
550
|
"class": [_ctx.cx('submenuLabel'), item["class"]],
|
|
551
|
-
role: "none"
|
|
551
|
+
role: "none"
|
|
552
|
+
}, {
|
|
552
553
|
ref_for: true
|
|
553
554
|
}, _ctx.ptm('submenuLabel')), [renderSlot(_ctx.$slots, _ctx.$slots.submenulabel ? 'submenulabel' : 'submenuheader', {
|
|
554
555
|
item: item
|
|
@@ -571,14 +572,16 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
571
572
|
key: 'separator' + i + j,
|
|
572
573
|
"class": [_ctx.cx('separator'), item["class"]],
|
|
573
574
|
style: child.style,
|
|
574
|
-
role: "separator"
|
|
575
|
+
role: "separator"
|
|
576
|
+
}, {
|
|
575
577
|
ref_for: true
|
|
576
578
|
}, _ctx.ptm('separator')), null, 16)) : createCommentVNode("", true)], 64);
|
|
577
579
|
}), 128))], 64)) : $options.visible(item) && item.separator ? (openBlock(), createElementBlock("li", mergeProps({
|
|
578
580
|
key: 'separator' + i.toString(),
|
|
579
581
|
"class": [_ctx.cx('separator'), item["class"]],
|
|
580
582
|
style: item.style,
|
|
581
|
-
role: "separator"
|
|
583
|
+
role: "separator"
|
|
584
|
+
}, {
|
|
582
585
|
ref_for: true
|
|
583
586
|
}, _ctx.ptm('separator')), null, 16)) : (openBlock(), createBlock(_component_PVMenuitem, {
|
|
584
587
|
key: $options.label(item) + i.toString(),
|
package/menu/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/menu/BaseMenu.vue","../../src/menu/Menuitem.vue","../../src/menu/Menuitem.vue?vue&type=template&id=d15e76a4&lang.js","../../src/menu/Menu.vue","../../src/menu/Menu.vue?vue&type=template&id=1adaab2c&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MenuStyle from 'primevue/menu/style';\n\nexport default {\n name: 'BaseMenu',\n extends: BaseComponent,\n props: {\n popup: {\n type: Boolean,\n default: false\n },\n model: {\n type: Array,\n default: null\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n }\n },\n style: MenuStyle,\n provide() {\n return {\n $pcMenu: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <li\n v-if=\"visible()\"\n :id=\"id\"\n :class=\"[cx('item'), item.class]\"\n role=\"menuitem\"\n :style=\"item.style\"\n :aria-label=\"label()\"\n :aria-disabled=\"disabled()\"\n :data-p-focused=\"isItemFocused()\"\n :data-p-disabled=\"disabled() || false\"\n :data-p=\"dataP\"\n v-bind=\"getPTOptions('item')\"\n >\n <div :class=\"cx('itemContent')\" @click=\"onItemClick($event)\" @mousemove=\"onItemMouseMove($event)\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemContent')\">\n <template v-if=\"!templates.item\">\n <a v-ripple :href=\"item.url\" :class=\"cx('itemLink')\" :target=\"item.target\" tabindex=\"-1\" v-bind=\"getPTOptions('itemLink')\">\n <component v-if=\"templates.itemicon\" :is=\"templates.itemicon\" :item=\"item\" :class=\"cx('itemIcon')\" />\n <span v-else-if=\"item.icon\" :class=\"[cx('itemIcon'), item.icon]\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemIcon')\" />\n <span :class=\"cx('itemLabel')\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemLabel')\">{{ label() }}</span>\n </a>\n </template>\n <component v-else-if=\"templates.item\" :is=\"templates.item\" :item=\"item\" :label=\"label()\" :props=\"getMenuItemProps(item)\"></component>\n </div>\n </li>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'Menuitem',\n hostName: 'Menu',\n extends: BaseComponent,\n inheritAttrs: false,\n emits: ['item-click', 'item-mousemove'],\n props: {\n item: null,\n templates: null,\n id: null,\n focusedOptionId: null,\n index: null\n },\n methods: {\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n item: this.item,\n index: this.index,\n focused: this.isItemFocused(),\n disabled: this.disabled()\n }\n });\n },\n isItemFocused() {\n return this.focusedOptionId === this.id;\n },\n onItemClick(event) {\n const command = this.getItemProp(this.item, 'command');\n\n command && command({ originalEvent: event, item: this.item.item });\n this.$emit('item-click', { originalEvent: event, item: this.item, id: this.id });\n },\n onItemMouseMove(event) {\n this.$emit('item-mousemove', { originalEvent: event, item: this.item, id: this.id });\n },\n visible() {\n return typeof this.item.visible === 'function' ? this.item.visible() : this.item.visible !== false;\n },\n disabled() {\n return typeof this.item.disabled === 'function' ? this.item.disabled() : this.item.disabled;\n },\n label() {\n return typeof this.item.label === 'function' ? this.item.label() : this.item.label;\n },\n getMenuItemProps(item) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n tabindex: '-1'\n },\n this.getPTOptions('itemLink')\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon')\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel')\n )\n };\n }\n },\n computed: {\n dataP() {\n return cn({\n focus: this.isItemFocused(),\n disabled: this.disabled()\n });\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <li\n v-if=\"visible()\"\n :id=\"id\"\n :class=\"[cx('item'), item.class]\"\n role=\"menuitem\"\n :style=\"item.style\"\n :aria-label=\"label()\"\n :aria-disabled=\"disabled()\"\n :data-p-focused=\"isItemFocused()\"\n :data-p-disabled=\"disabled() || false\"\n :data-p=\"dataP\"\n v-bind=\"getPTOptions('item')\"\n >\n <div :class=\"cx('itemContent')\" @click=\"onItemClick($event)\" @mousemove=\"onItemMouseMove($event)\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemContent')\">\n <template v-if=\"!templates.item\">\n <a v-ripple :href=\"item.url\" :class=\"cx('itemLink')\" :target=\"item.target\" tabindex=\"-1\" v-bind=\"getPTOptions('itemLink')\">\n <component v-if=\"templates.itemicon\" :is=\"templates.itemicon\" :item=\"item\" :class=\"cx('itemIcon')\" />\n <span v-else-if=\"item.icon\" :class=\"[cx('itemIcon'), item.icon]\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemIcon')\" />\n <span :class=\"cx('itemLabel')\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemLabel')\">{{ label() }}</span>\n </a>\n </template>\n <component v-else-if=\"templates.item\" :is=\"templates.item\" :item=\"item\" :label=\"label()\" :props=\"getMenuItemProps(item)\"></component>\n </div>\n </li>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'Menuitem',\n hostName: 'Menu',\n extends: BaseComponent,\n inheritAttrs: false,\n emits: ['item-click', 'item-mousemove'],\n props: {\n item: null,\n templates: null,\n id: null,\n focusedOptionId: null,\n index: null\n },\n methods: {\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n item: this.item,\n index: this.index,\n focused: this.isItemFocused(),\n disabled: this.disabled()\n }\n });\n },\n isItemFocused() {\n return this.focusedOptionId === this.id;\n },\n onItemClick(event) {\n const command = this.getItemProp(this.item, 'command');\n\n command && command({ originalEvent: event, item: this.item.item });\n this.$emit('item-click', { originalEvent: event, item: this.item, id: this.id });\n },\n onItemMouseMove(event) {\n this.$emit('item-mousemove', { originalEvent: event, item: this.item, id: this.id });\n },\n visible() {\n return typeof this.item.visible === 'function' ? this.item.visible() : this.item.visible !== false;\n },\n disabled() {\n return typeof this.item.disabled === 'function' ? this.item.disabled() : this.item.disabled;\n },\n label() {\n return typeof this.item.label === 'function' ? this.item.label() : this.item.label;\n },\n getMenuItemProps(item) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n tabindex: '-1'\n },\n this.getPTOptions('itemLink')\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon')\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel')\n )\n };\n }\n },\n computed: {\n dataP() {\n return cn({\n focus: this.isItemFocused(),\n disabled: this.disabled()\n });\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\" :disabled=\"!popup\">\n <transition name=\"p-connected-overlay\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"popup ? overlayVisible : true\" :ref=\"containerRef\" :id=\"$id\" :class=\"cx('root')\" @click=\"onOverlayClick\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <div v-if=\"$slots.start\" :class=\"cx('start')\" v-bind=\"ptm('start')\">\n <slot name=\"start\"></slot>\n </div>\n <ul\n :ref=\"listRef\"\n :id=\"$id + '_list'\"\n :class=\"cx('list')\"\n role=\"menu\"\n :tabindex=\"tabindex\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(item, i) of model\" :key=\"label(item) + i.toString()\">\n <template v-if=\"item.items && visible(item) && !item.separator\">\n <li v-if=\"item.items\" :id=\"$id + '_' + i\" :class=\"[cx('submenuLabel'), item.class]\" role=\"none\" v-bind=\"ptm('submenuLabel')\">\n <!--TODO: submenuheader deprecated since v4.0. Use submenulabel-->\n <slot :name=\"$slots.submenulabel ? 'submenulabel' : 'submenuheader'\" :item=\"item\">{{ label(item) }}</slot>\n </li>\n <template v-for=\"(child, j) of item.items\" :key=\"child.label + i + '_' + j\">\n <PVMenuitem\n v-if=\"visible(child) && !child.separator\"\n :id=\"$id + '_' + i + '_' + j\"\n :item=\"child\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n <li v-else-if=\"visible(child) && child.separator\" :key=\"'separator' + i + j\" :class=\"[cx('separator'), item.class]\" :style=\"child.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n </template>\n </template>\n <li v-else-if=\"visible(item) && item.separator\" :key=\"'separator' + i.toString()\" :class=\"[cx('separator'), item.class]\" :style=\"item.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n <PVMenuitem\n v-else\n :key=\"label(item) + i.toString()\"\n :id=\"$id + '_' + i\"\n :item=\"item\"\n :index=\"i\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n </template>\n </ul>\n <div v-if=\"$slots.end\" :class=\"cx('end')\" v-bind=\"ptm('end')\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, find, findSingle, focus, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseMenu from './BaseMenu.vue';\nimport Menuitem from './Menuitem.vue';\n\nexport default {\n name: 'Menu',\n extends: BaseMenu,\n inheritAttrs: false,\n emits: ['show', 'hide', 'focus', 'blur'],\n data() {\n return {\n overlayVisible: false,\n focused: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: -1\n };\n },\n target: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n list: null,\n mounted() {\n if (!this.popup) {\n this.bindResizeListener();\n this.bindOutsideClickListener();\n }\n },\n beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n this.container = null;\n },\n methods: {\n itemClick(event) {\n const item = event.item;\n\n if (this.disabled(item)) {\n return;\n }\n\n if (item.command) {\n item.command(event);\n }\n\n if (this.overlayVisible) this.hide();\n\n if (!this.popup && this.focusedOptionIndex !== event.id) {\n this.focusedOptionIndex = event.id;\n }\n },\n itemMouseMove(event) {\n if (this.focused) {\n this.focusedOptionIndex = event.id;\n }\n },\n onListFocus(event) {\n this.focused = true;\n !this.popup && this.changeFocusedOptionIndex(0);\n\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Escape':\n if (this.popup) {\n focus(this.target);\n this.hide();\n }\n\n case 'Tab':\n this.overlayVisible && this.hide();\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n if (event.altKey && this.popup) {\n focus(this.target);\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n },\n onHomeKey(event) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n },\n onEndKey(event) {\n this.changeFocusedOptionIndex(find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n const element = findSingle(this.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n\n this.popup && focus(this.target);\n anchorElement ? anchorElement.click() : element && element.click();\n\n event.preventDefault();\n },\n onSpaceKey(event) {\n this.onEnterKey(event);\n },\n findNextOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n\n order > -1 && (this.focusedOptionIndex = links[order].getAttribute('id'));\n },\n toggle(event, target) {\n if (this.overlayVisible) this.hide();\n else this.show(event, target);\n },\n show(event, target) {\n this.overlayVisible = true;\n this.target = target ?? event.currentTarget;\n },\n hide() {\n this.overlayVisible = false;\n this.target = null;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.bindScrollListener();\n\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n\n if (this.popup) {\n focus(this.list);\n }\n\n this.$emit('show');\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindScrollListener();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target);\n const targetWidth = getOuterWidth(this.target);\n\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const isOutsideContainer = this.container && !this.container.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n\n if (this.overlayVisible && isOutsideContainer && isOutsideTarget) {\n this.hide();\n } else if (!this.popup && isOutsideContainer && isOutsideTarget) {\n this.focusedOptionIndex = -1;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n },\n dataP() {\n return cn({\n popup: this.popup\n });\n }\n },\n components: {\n PVMenuitem: Menuitem,\n Portal: Portal\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\" :disabled=\"!popup\">\n <transition name=\"p-connected-overlay\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"popup ? overlayVisible : true\" :ref=\"containerRef\" :id=\"$id\" :class=\"cx('root')\" @click=\"onOverlayClick\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <div v-if=\"$slots.start\" :class=\"cx('start')\" v-bind=\"ptm('start')\">\n <slot name=\"start\"></slot>\n </div>\n <ul\n :ref=\"listRef\"\n :id=\"$id + '_list'\"\n :class=\"cx('list')\"\n role=\"menu\"\n :tabindex=\"tabindex\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(item, i) of model\" :key=\"label(item) + i.toString()\">\n <template v-if=\"item.items && visible(item) && !item.separator\">\n <li v-if=\"item.items\" :id=\"$id + '_' + i\" :class=\"[cx('submenuLabel'), item.class]\" role=\"none\" v-bind=\"ptm('submenuLabel')\">\n <!--TODO: submenuheader deprecated since v4.0. Use submenulabel-->\n <slot :name=\"$slots.submenulabel ? 'submenulabel' : 'submenuheader'\" :item=\"item\">{{ label(item) }}</slot>\n </li>\n <template v-for=\"(child, j) of item.items\" :key=\"child.label + i + '_' + j\">\n <PVMenuitem\n v-if=\"visible(child) && !child.separator\"\n :id=\"$id + '_' + i + '_' + j\"\n :item=\"child\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n <li v-else-if=\"visible(child) && child.separator\" :key=\"'separator' + i + j\" :class=\"[cx('separator'), item.class]\" :style=\"child.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n </template>\n </template>\n <li v-else-if=\"visible(item) && item.separator\" :key=\"'separator' + i.toString()\" :class=\"[cx('separator'), item.class]\" :style=\"item.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n <PVMenuitem\n v-else\n :key=\"label(item) + i.toString()\"\n :id=\"$id + '_' + i\"\n :item=\"item\"\n :index=\"i\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n </template>\n </ul>\n <div v-if=\"$slots.end\" :class=\"cx('end')\" v-bind=\"ptm('end')\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, find, findSingle, focus, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseMenu from './BaseMenu.vue';\nimport Menuitem from './Menuitem.vue';\n\nexport default {\n name: 'Menu',\n extends: BaseMenu,\n inheritAttrs: false,\n emits: ['show', 'hide', 'focus', 'blur'],\n data() {\n return {\n overlayVisible: false,\n focused: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: -1\n };\n },\n target: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n list: null,\n mounted() {\n if (!this.popup) {\n this.bindResizeListener();\n this.bindOutsideClickListener();\n }\n },\n beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n this.container = null;\n },\n methods: {\n itemClick(event) {\n const item = event.item;\n\n if (this.disabled(item)) {\n return;\n }\n\n if (item.command) {\n item.command(event);\n }\n\n if (this.overlayVisible) this.hide();\n\n if (!this.popup && this.focusedOptionIndex !== event.id) {\n this.focusedOptionIndex = event.id;\n }\n },\n itemMouseMove(event) {\n if (this.focused) {\n this.focusedOptionIndex = event.id;\n }\n },\n onListFocus(event) {\n this.focused = true;\n !this.popup && this.changeFocusedOptionIndex(0);\n\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Escape':\n if (this.popup) {\n focus(this.target);\n this.hide();\n }\n\n case 'Tab':\n this.overlayVisible && this.hide();\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n if (event.altKey && this.popup) {\n focus(this.target);\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n },\n onHomeKey(event) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n },\n onEndKey(event) {\n this.changeFocusedOptionIndex(find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n const element = findSingle(this.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n\n this.popup && focus(this.target);\n anchorElement ? anchorElement.click() : element && element.click();\n\n event.preventDefault();\n },\n onSpaceKey(event) {\n this.onEnterKey(event);\n },\n findNextOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n\n order > -1 && (this.focusedOptionIndex = links[order].getAttribute('id'));\n },\n toggle(event, target) {\n if (this.overlayVisible) this.hide();\n else this.show(event, target);\n },\n show(event, target) {\n this.overlayVisible = true;\n this.target = target ?? event.currentTarget;\n },\n hide() {\n this.overlayVisible = false;\n this.target = null;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.bindScrollListener();\n\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n\n if (this.popup) {\n focus(this.list);\n }\n\n this.$emit('show');\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindScrollListener();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target);\n const targetWidth = getOuterWidth(this.target);\n\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const isOutsideContainer = this.container && !this.container.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n\n if (this.overlayVisible && isOutsideContainer && isOutsideTarget) {\n this.hide();\n } else if (!this.popup && isOutsideContainer && isOutsideTarget) {\n this.focusedOptionIndex = -1;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n },\n dataP() {\n return cn({\n popup: this.popup\n });\n }\n },\n components: {\n PVMenuitem: Menuitem,\n Portal: Portal\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","popup","type","Boolean","model","Array","appendTo","String","Object","autoZIndex","baseZIndex","Number","tabindex","ariaLabel","ariaLabelledby","style","MenuStyle","provide","$pcMenu","$parentInstance","hostName","inheritAttrs","emits","item","templates","id","focusedOptionId","index","methods","getItemProp","processedItem","resolve","undefined","getPTOptions","key","ptm","context","focused","isItemFocused","disabled","onItemClick","event","command","originalEvent","$emit","onItemMouseMove","visible","label","getMenuItemProps","action","mergeProps","cx","icon","computed","dataP","cn","focus","directives","ripple","Ripple","$options","_openBlock","_createElementBlock","_mergeProps","$props","_ctx","role","_createElementVNode","onClick","_cache","$event","onMousemove","_withDirectives","href","url","target","itemicon","_createBlock","_resolveDynamicComponent","_hoisted_4","_hoisted_5","BaseMenu","data","overlayVisible","focusedOptionIndex","selectedOptionIndex","outsideClickListener","scrollHandler","resizeListener","container","list","mounted","bindResizeListener","bindOutsideClickListener","beforeUnmount","unbindResizeListener","unbindOutsideClickListener","destroy","ZIndex","clear","itemClick","hide","itemMouseMove","onListFocus","changeFocusedOptionIndex","onListBlur","onListKeyDown","code","onArrowDownKey","onArrowUpKey","onHomeKey","onEndKey","onEnterKey","onSpaceKey","optionIndex","findNextOptionIndex","preventDefault","altKey","findPrevOptionIndex","find","length","element","findSingle","concat","anchorElement","click","links","matchedOptionIndex","_toConsumableArray","findIndex","link","order","getAttribute","toggle","show","currentTarget","onEnter","el","addStyle","position","top","alignOverlay","bindScrollListener","set","$primevue","config","zIndex","menu","onLeave","unbindScrollListener","onAfterLeave","absolutePosition","targetWidth","getOuterWidth","minWidth","_this","isOutsideContainer","contains","isOutsideTarget","document","addEventListener","removeEventListener","_this2","ConnectedOverlayScrollHandler","_this3","isTouchDevice","window","onOverlayClick","OverlayEventBus","emit","containerRef","listRef","components","PVMenuitem","Menuitem","Portal","_component_Portal","_createVNode","_Transition","$data","ref","$id","apply","arguments","ptmi","$slots","start","_renderSlot","onFocus","onBlur","onKeydown","_Fragment","_renderList","i","toString","items","separator","submenulabel","_createTextVNode","_toDisplayString","child","j","_component_PVMenuitem","unstyled","onItemMousemove","pt","end"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/menu/BaseMenu.vue","../../src/menu/Menuitem.vue","../../src/menu/Menuitem.vue?vue&type=template&id=d15e76a4&lang.js","../../src/menu/Menu.vue","../../src/menu/Menu.vue?vue&type=template&id=1adaab2c&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MenuStyle from 'primevue/menu/style';\n\nexport default {\n name: 'BaseMenu',\n extends: BaseComponent,\n props: {\n popup: {\n type: Boolean,\n default: false\n },\n model: {\n type: Array,\n default: null\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n }\n },\n style: MenuStyle,\n provide() {\n return {\n $pcMenu: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <li\n v-if=\"visible()\"\n :id=\"id\"\n :class=\"[cx('item'), item.class]\"\n role=\"menuitem\"\n :style=\"item.style\"\n :aria-label=\"label()\"\n :aria-disabled=\"disabled()\"\n :data-p-focused=\"isItemFocused()\"\n :data-p-disabled=\"disabled() || false\"\n :data-p=\"dataP\"\n v-bind=\"getPTOptions('item')\"\n >\n <div :class=\"cx('itemContent')\" @click=\"onItemClick($event)\" @mousemove=\"onItemMouseMove($event)\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemContent')\">\n <template v-if=\"!templates.item\">\n <a v-ripple :href=\"item.url\" :class=\"cx('itemLink')\" :target=\"item.target\" tabindex=\"-1\" v-bind=\"getPTOptions('itemLink')\">\n <component v-if=\"templates.itemicon\" :is=\"templates.itemicon\" :item=\"item\" :class=\"cx('itemIcon')\" />\n <span v-else-if=\"item.icon\" :class=\"[cx('itemIcon'), item.icon]\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemIcon')\" />\n <span :class=\"cx('itemLabel')\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemLabel')\">{{ label() }}</span>\n </a>\n </template>\n <component v-else-if=\"templates.item\" :is=\"templates.item\" :item=\"item\" :label=\"label()\" :props=\"getMenuItemProps(item)\"></component>\n </div>\n </li>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'Menuitem',\n hostName: 'Menu',\n extends: BaseComponent,\n inheritAttrs: false,\n emits: ['item-click', 'item-mousemove'],\n props: {\n item: null,\n templates: null,\n id: null,\n focusedOptionId: null,\n index: null\n },\n methods: {\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n item: this.item,\n index: this.index,\n focused: this.isItemFocused(),\n disabled: this.disabled()\n }\n });\n },\n isItemFocused() {\n return this.focusedOptionId === this.id;\n },\n onItemClick(event) {\n const command = this.getItemProp(this.item, 'command');\n\n command && command({ originalEvent: event, item: this.item.item });\n this.$emit('item-click', { originalEvent: event, item: this.item, id: this.id });\n },\n onItemMouseMove(event) {\n this.$emit('item-mousemove', { originalEvent: event, item: this.item, id: this.id });\n },\n visible() {\n return typeof this.item.visible === 'function' ? this.item.visible() : this.item.visible !== false;\n },\n disabled() {\n return typeof this.item.disabled === 'function' ? this.item.disabled() : this.item.disabled;\n },\n label() {\n return typeof this.item.label === 'function' ? this.item.label() : this.item.label;\n },\n getMenuItemProps(item) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n tabindex: '-1'\n },\n this.getPTOptions('itemLink')\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon')\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel')\n )\n };\n }\n },\n computed: {\n dataP() {\n return cn({\n focus: this.isItemFocused(),\n disabled: this.disabled()\n });\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <li\n v-if=\"visible()\"\n :id=\"id\"\n :class=\"[cx('item'), item.class]\"\n role=\"menuitem\"\n :style=\"item.style\"\n :aria-label=\"label()\"\n :aria-disabled=\"disabled()\"\n :data-p-focused=\"isItemFocused()\"\n :data-p-disabled=\"disabled() || false\"\n :data-p=\"dataP\"\n v-bind=\"getPTOptions('item')\"\n >\n <div :class=\"cx('itemContent')\" @click=\"onItemClick($event)\" @mousemove=\"onItemMouseMove($event)\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemContent')\">\n <template v-if=\"!templates.item\">\n <a v-ripple :href=\"item.url\" :class=\"cx('itemLink')\" :target=\"item.target\" tabindex=\"-1\" v-bind=\"getPTOptions('itemLink')\">\n <component v-if=\"templates.itemicon\" :is=\"templates.itemicon\" :item=\"item\" :class=\"cx('itemIcon')\" />\n <span v-else-if=\"item.icon\" :class=\"[cx('itemIcon'), item.icon]\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemIcon')\" />\n <span :class=\"cx('itemLabel')\" :data-p=\"dataP\" v-bind=\"getPTOptions('itemLabel')\">{{ label() }}</span>\n </a>\n </template>\n <component v-else-if=\"templates.item\" :is=\"templates.item\" :item=\"item\" :label=\"label()\" :props=\"getMenuItemProps(item)\"></component>\n </div>\n </li>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'Menuitem',\n hostName: 'Menu',\n extends: BaseComponent,\n inheritAttrs: false,\n emits: ['item-click', 'item-mousemove'],\n props: {\n item: null,\n templates: null,\n id: null,\n focusedOptionId: null,\n index: null\n },\n methods: {\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n item: this.item,\n index: this.index,\n focused: this.isItemFocused(),\n disabled: this.disabled()\n }\n });\n },\n isItemFocused() {\n return this.focusedOptionId === this.id;\n },\n onItemClick(event) {\n const command = this.getItemProp(this.item, 'command');\n\n command && command({ originalEvent: event, item: this.item.item });\n this.$emit('item-click', { originalEvent: event, item: this.item, id: this.id });\n },\n onItemMouseMove(event) {\n this.$emit('item-mousemove', { originalEvent: event, item: this.item, id: this.id });\n },\n visible() {\n return typeof this.item.visible === 'function' ? this.item.visible() : this.item.visible !== false;\n },\n disabled() {\n return typeof this.item.disabled === 'function' ? this.item.disabled() : this.item.disabled;\n },\n label() {\n return typeof this.item.label === 'function' ? this.item.label() : this.item.label;\n },\n getMenuItemProps(item) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n tabindex: '-1'\n },\n this.getPTOptions('itemLink')\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon')\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel')\n )\n };\n }\n },\n computed: {\n dataP() {\n return cn({\n focus: this.isItemFocused(),\n disabled: this.disabled()\n });\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\" :disabled=\"!popup\">\n <transition name=\"p-connected-overlay\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"popup ? overlayVisible : true\" :ref=\"containerRef\" :id=\"$id\" :class=\"cx('root')\" @click=\"onOverlayClick\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <div v-if=\"$slots.start\" :class=\"cx('start')\" v-bind=\"ptm('start')\">\n <slot name=\"start\"></slot>\n </div>\n <ul\n :ref=\"listRef\"\n :id=\"$id + '_list'\"\n :class=\"cx('list')\"\n role=\"menu\"\n :tabindex=\"tabindex\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(item, i) of model\" :key=\"label(item) + i.toString()\">\n <template v-if=\"item.items && visible(item) && !item.separator\">\n <li v-if=\"item.items\" :id=\"$id + '_' + i\" :class=\"[cx('submenuLabel'), item.class]\" role=\"none\" v-bind=\"ptm('submenuLabel')\">\n <!--TODO: submenuheader deprecated since v4.0. Use submenulabel-->\n <slot :name=\"$slots.submenulabel ? 'submenulabel' : 'submenuheader'\" :item=\"item\">{{ label(item) }}</slot>\n </li>\n <template v-for=\"(child, j) of item.items\" :key=\"child.label + i + '_' + j\">\n <PVMenuitem\n v-if=\"visible(child) && !child.separator\"\n :id=\"$id + '_' + i + '_' + j\"\n :item=\"child\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n <li v-else-if=\"visible(child) && child.separator\" :key=\"'separator' + i + j\" :class=\"[cx('separator'), item.class]\" :style=\"child.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n </template>\n </template>\n <li v-else-if=\"visible(item) && item.separator\" :key=\"'separator' + i.toString()\" :class=\"[cx('separator'), item.class]\" :style=\"item.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n <PVMenuitem\n v-else\n :key=\"label(item) + i.toString()\"\n :id=\"$id + '_' + i\"\n :item=\"item\"\n :index=\"i\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n </template>\n </ul>\n <div v-if=\"$slots.end\" :class=\"cx('end')\" v-bind=\"ptm('end')\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, find, findSingle, focus, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseMenu from './BaseMenu.vue';\nimport Menuitem from './Menuitem.vue';\n\nexport default {\n name: 'Menu',\n extends: BaseMenu,\n inheritAttrs: false,\n emits: ['show', 'hide', 'focus', 'blur'],\n data() {\n return {\n overlayVisible: false,\n focused: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: -1\n };\n },\n target: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n list: null,\n mounted() {\n if (!this.popup) {\n this.bindResizeListener();\n this.bindOutsideClickListener();\n }\n },\n beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n this.container = null;\n },\n methods: {\n itemClick(event) {\n const item = event.item;\n\n if (this.disabled(item)) {\n return;\n }\n\n if (item.command) {\n item.command(event);\n }\n\n if (this.overlayVisible) this.hide();\n\n if (!this.popup && this.focusedOptionIndex !== event.id) {\n this.focusedOptionIndex = event.id;\n }\n },\n itemMouseMove(event) {\n if (this.focused) {\n this.focusedOptionIndex = event.id;\n }\n },\n onListFocus(event) {\n this.focused = true;\n !this.popup && this.changeFocusedOptionIndex(0);\n\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Escape':\n if (this.popup) {\n focus(this.target);\n this.hide();\n }\n\n case 'Tab':\n this.overlayVisible && this.hide();\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n if (event.altKey && this.popup) {\n focus(this.target);\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n },\n onHomeKey(event) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n },\n onEndKey(event) {\n this.changeFocusedOptionIndex(find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n const element = findSingle(this.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n\n this.popup && focus(this.target);\n anchorElement ? anchorElement.click() : element && element.click();\n\n event.preventDefault();\n },\n onSpaceKey(event) {\n this.onEnterKey(event);\n },\n findNextOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n\n order > -1 && (this.focusedOptionIndex = links[order].getAttribute('id'));\n },\n toggle(event, target) {\n if (this.overlayVisible) this.hide();\n else this.show(event, target);\n },\n show(event, target) {\n this.overlayVisible = true;\n this.target = target ?? event.currentTarget;\n },\n hide() {\n this.overlayVisible = false;\n this.target = null;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.bindScrollListener();\n\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n\n if (this.popup) {\n focus(this.list);\n }\n\n this.$emit('show');\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindScrollListener();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target);\n const targetWidth = getOuterWidth(this.target);\n\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const isOutsideContainer = this.container && !this.container.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n\n if (this.overlayVisible && isOutsideContainer && isOutsideTarget) {\n this.hide();\n } else if (!this.popup && isOutsideContainer && isOutsideTarget) {\n this.focusedOptionIndex = -1;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n },\n dataP() {\n return cn({\n popup: this.popup\n });\n }\n },\n components: {\n PVMenuitem: Menuitem,\n Portal: Portal\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\" :disabled=\"!popup\">\n <transition name=\"p-connected-overlay\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"popup ? overlayVisible : true\" :ref=\"containerRef\" :id=\"$id\" :class=\"cx('root')\" @click=\"onOverlayClick\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <div v-if=\"$slots.start\" :class=\"cx('start')\" v-bind=\"ptm('start')\">\n <slot name=\"start\"></slot>\n </div>\n <ul\n :ref=\"listRef\"\n :id=\"$id + '_list'\"\n :class=\"cx('list')\"\n role=\"menu\"\n :tabindex=\"tabindex\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(item, i) of model\" :key=\"label(item) + i.toString()\">\n <template v-if=\"item.items && visible(item) && !item.separator\">\n <li v-if=\"item.items\" :id=\"$id + '_' + i\" :class=\"[cx('submenuLabel'), item.class]\" role=\"none\" v-bind=\"ptm('submenuLabel')\">\n <!--TODO: submenuheader deprecated since v4.0. Use submenulabel-->\n <slot :name=\"$slots.submenulabel ? 'submenulabel' : 'submenuheader'\" :item=\"item\">{{ label(item) }}</slot>\n </li>\n <template v-for=\"(child, j) of item.items\" :key=\"child.label + i + '_' + j\">\n <PVMenuitem\n v-if=\"visible(child) && !child.separator\"\n :id=\"$id + '_' + i + '_' + j\"\n :item=\"child\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n <li v-else-if=\"visible(child) && child.separator\" :key=\"'separator' + i + j\" :class=\"[cx('separator'), item.class]\" :style=\"child.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n </template>\n </template>\n <li v-else-if=\"visible(item) && item.separator\" :key=\"'separator' + i.toString()\" :class=\"[cx('separator'), item.class]\" :style=\"item.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n <PVMenuitem\n v-else\n :key=\"label(item) + i.toString()\"\n :id=\"$id + '_' + i\"\n :item=\"item\"\n :index=\"i\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n </template>\n </ul>\n <div v-if=\"$slots.end\" :class=\"cx('end')\" v-bind=\"ptm('end')\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, find, findSingle, focus, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseMenu from './BaseMenu.vue';\nimport Menuitem from './Menuitem.vue';\n\nexport default {\n name: 'Menu',\n extends: BaseMenu,\n inheritAttrs: false,\n emits: ['show', 'hide', 'focus', 'blur'],\n data() {\n return {\n overlayVisible: false,\n focused: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: -1\n };\n },\n target: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n list: null,\n mounted() {\n if (!this.popup) {\n this.bindResizeListener();\n this.bindOutsideClickListener();\n }\n },\n beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n this.container = null;\n },\n methods: {\n itemClick(event) {\n const item = event.item;\n\n if (this.disabled(item)) {\n return;\n }\n\n if (item.command) {\n item.command(event);\n }\n\n if (this.overlayVisible) this.hide();\n\n if (!this.popup && this.focusedOptionIndex !== event.id) {\n this.focusedOptionIndex = event.id;\n }\n },\n itemMouseMove(event) {\n if (this.focused) {\n this.focusedOptionIndex = event.id;\n }\n },\n onListFocus(event) {\n this.focused = true;\n !this.popup && this.changeFocusedOptionIndex(0);\n\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Escape':\n if (this.popup) {\n focus(this.target);\n this.hide();\n }\n\n case 'Tab':\n this.overlayVisible && this.hide();\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n if (event.altKey && this.popup) {\n focus(this.target);\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n },\n onHomeKey(event) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n },\n onEndKey(event) {\n this.changeFocusedOptionIndex(find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n const element = findSingle(this.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n\n this.popup && focus(this.target);\n anchorElement ? anchorElement.click() : element && element.click();\n\n event.preventDefault();\n },\n onSpaceKey(event) {\n this.onEnterKey(event);\n },\n findNextOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n\n order > -1 && (this.focusedOptionIndex = links[order].getAttribute('id'));\n },\n toggle(event, target) {\n if (this.overlayVisible) this.hide();\n else this.show(event, target);\n },\n show(event, target) {\n this.overlayVisible = true;\n this.target = target ?? event.currentTarget;\n },\n hide() {\n this.overlayVisible = false;\n this.target = null;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.bindScrollListener();\n\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n\n if (this.popup) {\n focus(this.list);\n }\n\n this.$emit('show');\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindScrollListener();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target);\n const targetWidth = getOuterWidth(this.target);\n\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const isOutsideContainer = this.container && !this.container.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n\n if (this.overlayVisible && isOutsideContainer && isOutsideTarget) {\n this.hide();\n } else if (!this.popup && isOutsideContainer && isOutsideTarget) {\n this.focusedOptionIndex = -1;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n },\n dataP() {\n return cn({\n popup: this.popup\n });\n }\n },\n components: {\n PVMenuitem: Menuitem,\n Portal: Portal\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","popup","type","Boolean","model","Array","appendTo","String","Object","autoZIndex","baseZIndex","Number","tabindex","ariaLabel","ariaLabelledby","style","MenuStyle","provide","$pcMenu","$parentInstance","hostName","inheritAttrs","emits","item","templates","id","focusedOptionId","index","methods","getItemProp","processedItem","resolve","undefined","getPTOptions","key","ptm","context","focused","isItemFocused","disabled","onItemClick","event","command","originalEvent","$emit","onItemMouseMove","visible","label","getMenuItemProps","action","mergeProps","cx","icon","computed","dataP","cn","focus","directives","ripple","Ripple","$options","_openBlock","_createElementBlock","_mergeProps","$props","_ctx","role","_createElementVNode","onClick","_cache","$event","onMousemove","_withDirectives","href","url","target","itemicon","_createBlock","_resolveDynamicComponent","_hoisted_4","_hoisted_5","BaseMenu","data","overlayVisible","focusedOptionIndex","selectedOptionIndex","outsideClickListener","scrollHandler","resizeListener","container","list","mounted","bindResizeListener","bindOutsideClickListener","beforeUnmount","unbindResizeListener","unbindOutsideClickListener","destroy","ZIndex","clear","itemClick","hide","itemMouseMove","onListFocus","changeFocusedOptionIndex","onListBlur","onListKeyDown","code","onArrowDownKey","onArrowUpKey","onHomeKey","onEndKey","onEnterKey","onSpaceKey","optionIndex","findNextOptionIndex","preventDefault","altKey","findPrevOptionIndex","find","length","element","findSingle","concat","anchorElement","click","links","matchedOptionIndex","_toConsumableArray","findIndex","link","order","getAttribute","toggle","show","currentTarget","onEnter","el","addStyle","position","top","alignOverlay","bindScrollListener","set","$primevue","config","zIndex","menu","onLeave","unbindScrollListener","onAfterLeave","absolutePosition","targetWidth","getOuterWidth","minWidth","_this","isOutsideContainer","contains","isOutsideTarget","document","addEventListener","removeEventListener","_this2","ConnectedOverlayScrollHandler","_this3","isTouchDevice","window","onOverlayClick","OverlayEventBus","emit","containerRef","listRef","components","PVMenuitem","Menuitem","Portal","_component_Portal","_createVNode","_Transition","$data","ref","$id","apply","arguments","ptmi","$slots","start","_renderSlot","onFocus","onBlur","onKeydown","_Fragment","_renderList","i","toString","items","separator","submenulabel","_createTextVNode","_toDisplayString","child","j","_component_PVMenuitem","unstyled","onItemMousemove","pt","end"],"mappings":"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"}
|
package/menubar/MenubarSub.vue
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
:aria-disabled="isItemDisabled(processedItem) || undefined"
|
|
12
12
|
:aria-expanded="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
|
|
13
13
|
:aria-haspopup="isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined"
|
|
14
|
-
:aria-level="level + 1"
|
|
15
14
|
:aria-setsize="getAriaSetSize"
|
|
16
15
|
:aria-posinset="getAriaPosInset(index)"
|
|
17
16
|
v-bind="getPTOptions(processedItem, index, 'item')"
|
package/menubar/index.d.ts
CHANGED
|
@@ -326,7 +326,6 @@ export interface MenubarSlots {
|
|
|
326
326
|
*/
|
|
327
327
|
class: string;
|
|
328
328
|
/**
|
|
329
|
-
*
|
|
330
329
|
* Toggle event
|
|
331
330
|
*/
|
|
332
331
|
toggleCallback: () => void;
|
|
@@ -345,7 +344,6 @@ export interface MenubarSlots {
|
|
|
345
344
|
*/
|
|
346
345
|
class: string;
|
|
347
346
|
/**
|
|
348
|
-
*
|
|
349
347
|
* Toggle event
|
|
350
348
|
*/
|
|
351
349
|
toggleCallback: () => void;
|
package/menubar/index.mjs
CHANGED
|
@@ -199,7 +199,7 @@ var script$1 = {
|
|
|
199
199
|
}
|
|
200
200
|
};
|
|
201
201
|
|
|
202
|
-
var _hoisted_1$1 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-
|
|
202
|
+
var _hoisted_1$1 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"];
|
|
203
203
|
var _hoisted_2 = ["onClick", "onMouseenter", "onMousemove"];
|
|
204
204
|
var _hoisted_3 = ["href", "target"];
|
|
205
205
|
var _hoisted_4 = ["id"];
|
|
@@ -224,9 +224,9 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
224
224
|
"aria-disabled": $options.isItemDisabled(processedItem) || undefined,
|
|
225
225
|
"aria-expanded": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : undefined,
|
|
226
226
|
"aria-haspopup": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, 'to') ? 'menu' : undefined,
|
|
227
|
-
"aria-level": $props.level + 1,
|
|
228
227
|
"aria-setsize": $options.getAriaSetSize,
|
|
229
|
-
"aria-posinset": $options.getAriaPosInset(index)
|
|
228
|
+
"aria-posinset": $options.getAriaPosInset(index)
|
|
229
|
+
}, {
|
|
230
230
|
ref_for: true
|
|
231
231
|
}, $options.getPTOptions(processedItem, index, 'item'), {
|
|
232
232
|
"data-p-active": $options.isItemActive(processedItem),
|
|
@@ -242,14 +242,16 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
242
242
|
},
|
|
243
243
|
onMousemove: function onMousemove($event) {
|
|
244
244
|
return $options.onItemMouseMove($event, processedItem);
|
|
245
|
-
}
|
|
245
|
+
}
|
|
246
|
+
}, {
|
|
246
247
|
ref_for: true
|
|
247
248
|
}, $options.getPTOptions(processedItem, index, 'itemContent')), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({
|
|
248
249
|
key: 0,
|
|
249
250
|
href: $options.getItemProp(processedItem, 'url'),
|
|
250
251
|
"class": _ctx.cx('itemLink'),
|
|
251
252
|
target: $options.getItemProp(processedItem, 'target'),
|
|
252
|
-
tabindex: "-1"
|
|
253
|
+
tabindex: "-1"
|
|
254
|
+
}, {
|
|
253
255
|
ref_for: true
|
|
254
256
|
}, $options.getPTOptions(processedItem, index, 'itemLink')), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), {
|
|
255
257
|
key: 0,
|
|
@@ -257,11 +259,13 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
257
259
|
"class": normalizeClass(_ctx.cx('itemIcon'))
|
|
258
260
|
}, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, 'icon') ? (openBlock(), createElementBlock("span", mergeProps({
|
|
259
261
|
key: 1,
|
|
260
|
-
"class": [_ctx.cx('itemIcon'), $options.getItemProp(processedItem, 'icon')]
|
|
262
|
+
"class": [_ctx.cx('itemIcon'), $options.getItemProp(processedItem, 'icon')]
|
|
263
|
+
}, {
|
|
261
264
|
ref_for: true
|
|
262
265
|
}, $options.getPTOptions(processedItem, index, 'itemIcon')), null, 16)) : createCommentVNode("", true), createElementVNode("span", mergeProps({
|
|
263
266
|
id: $options.getItemLabelId(processedItem),
|
|
264
|
-
"class": _ctx.cx('itemLabel')
|
|
267
|
+
"class": _ctx.cx('itemLabel')
|
|
268
|
+
}, {
|
|
265
269
|
ref_for: true
|
|
266
270
|
}, $options.getPTOptions(processedItem, index, 'itemLabel')), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_4), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {
|
|
267
271
|
key: 2
|
|
@@ -272,7 +276,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
272
276
|
"class": normalizeClass(_ctx.cx('submenuIcon'))
|
|
273
277
|
}, null, 8, ["root", "active", "class"])) : (openBlock(), createBlock(resolveDynamicComponent($props.root ? 'AngleDownIcon' : 'AngleRightIcon'), mergeProps({
|
|
274
278
|
key: 1,
|
|
275
|
-
"class": _ctx.cx('submenuIcon')
|
|
279
|
+
"class": _ctx.cx('submenuIcon')
|
|
280
|
+
}, {
|
|
276
281
|
ref_for: true
|
|
277
282
|
}, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_3)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), {
|
|
278
283
|
key: 1,
|
|
@@ -312,7 +317,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
312
317
|
id: $options.getItemId(processedItem),
|
|
313
318
|
"class": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],
|
|
314
319
|
style: $options.getItemProp(processedItem, 'style'),
|
|
315
|
-
role: "separator"
|
|
320
|
+
role: "separator"
|
|
321
|
+
}, {
|
|
316
322
|
ref_for: true
|
|
317
323
|
}, _ctx.ptm('separator')), null, 16, _hoisted_5)) : createCommentVNode("", true)], 64);
|
|
318
324
|
}), 128))], 16);
|