primevue 4.4.0 → 4.4.1

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.
Files changed (46) hide show
  1. package/autocomplete/AutoComplete.vue +1 -1
  2. package/autocomplete/index.mjs +1 -1
  3. package/autocomplete/index.mjs.map +1 -1
  4. package/cascadeselect/CascadeSelect.vue +1 -1
  5. package/cascadeselect/index.mjs +1 -1
  6. package/cascadeselect/index.mjs.map +1 -1
  7. package/datatable/ColumnFilter.vue +1 -1
  8. package/datatable/index.mjs +1 -1
  9. package/datatable/index.mjs.map +1 -1
  10. package/datepicker/DatePicker.vue +27 -25
  11. package/datepicker/index.d.ts +19 -3
  12. package/datepicker/index.mjs +46 -37
  13. package/datepicker/index.mjs.map +1 -1
  14. package/drawer/Drawer.vue +1 -1
  15. package/drawer/index.mjs +3 -3
  16. package/drawer/index.mjs.map +1 -1
  17. package/menu/Menu.vue +2 -2
  18. package/menu/index.mjs +1 -1
  19. package/menu/index.mjs.map +1 -1
  20. package/multiselect/MultiSelect.vue +1 -1
  21. package/multiselect/index.mjs +1 -1
  22. package/multiselect/index.mjs.map +1 -1
  23. package/package.json +4 -4
  24. package/password/Password.vue +2 -1
  25. package/password/index.mjs +3 -2
  26. package/password/index.mjs.map +1 -1
  27. package/select/Select.vue +1 -1
  28. package/select/index.mjs +1 -1
  29. package/select/index.mjs.map +1 -1
  30. package/speeddial/SpeedDial.vue +1 -1
  31. package/speeddial/index.mjs +1 -1
  32. package/speeddial/index.mjs.map +1 -1
  33. package/splitbutton/SplitButton.vue +1 -1
  34. package/splitbutton/index.mjs +1 -1
  35. package/splitbutton/index.mjs.map +1 -1
  36. package/tree/BaseTree.vue +5 -1
  37. package/tree/Tree.vue +88 -31
  38. package/tree/TreeNode.vue +103 -33
  39. package/tree/index.d.ts +78 -3
  40. package/tree/index.mjs +229 -96
  41. package/tree/index.mjs.map +1 -1
  42. package/treeselect/TreeSelect.vue +2 -1
  43. package/treeselect/index.mjs +5 -4
  44. package/treeselect/index.mjs.map +1 -1
  45. package/umd/primevue.min.js +1 -1
  46. package/web-types.json +1 -1
package/drawer/Drawer.vue CHANGED
@@ -2,7 +2,7 @@
2
2
  <Portal>
3
3
  <div v-if="containerVisible" :ref="maskRef" @mousedown="onMaskClick" :class="cx('mask')" :style="sx('mask', true, { position, modal })" :data-p="dataP" v-bind="ptm('mask')">
4
4
  <transition name="p-drawer" @enter="onEnter" @after-enter="onAfterEnter" @before-leave="onBeforeLeave" @leave="onLeave" @after-leave="onAfterLeave" appear v-bind="ptm('transition')">
5
- <div v-if="visible" :ref="containerRef" v-focustrap :class="cx('root')" :style="sx('root')" role="complementary" :aria-modal="modal" :data-p="dataP" v-bind="ptmi('root')">
5
+ <div v-if="visible" :ref="containerRef" v-focustrap :class="cx('root')" :style="sx('root')" :role="modal ? 'dialog' : 'complementary'" :aria-modal="modal ? true : undefined" :data-p="dataP" v-bind="ptmi('root')">
6
6
  <slot v-if="$slots.container" name="container" :closeCallback="hide"></slot>
7
7
  <template v-else>
8
8
  <div :ref="headerContainerRef" :class="cx('header')" v-bind="ptm('header')">
package/drawer/index.mjs CHANGED
@@ -271,7 +271,7 @@ var script = {
271
271
  };
272
272
 
273
273
  var _hoisted_1 = ["data-p"];
274
- var _hoisted_2 = ["aria-modal", "data-p"];
274
+ var _hoisted_2 = ["role", "aria-modal", "data-p"];
275
275
  function render(_ctx, _cache, $props, $setup, $data, $options) {
276
276
  var _component_Button = resolveComponent("Button");
277
277
  var _component_Portal = resolveComponent("Portal");
@@ -305,8 +305,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
305
305
  ref: $options.containerRef,
306
306
  "class": _ctx.cx('root'),
307
307
  style: _ctx.sx('root'),
308
- role: "complementary",
309
- "aria-modal": _ctx.modal,
308
+ role: _ctx.modal ? 'dialog' : 'complementary',
309
+ "aria-modal": _ctx.modal ? true : undefined,
310
310
  "data-p": $options.dataP
311
311
  }, _ctx.ptmi('root')), [_ctx.$slots.container ? renderSlot(_ctx.$slots, "container", {
312
312
  key: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/drawer/BaseDrawer.vue","../../src/drawer/Drawer.vue","../../src/drawer/Drawer.vue?vue&type=template&id=e0c9a1ac&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport DrawerStyle from 'primevue/drawer/style';\n\nexport default {\n name: 'BaseDrawer',\n extends: BaseComponent,\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: 'left'\n },\n header: {\n type: null,\n default: null\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n dismissable: {\n type: Boolean,\n default: true\n },\n showCloseIcon: {\n type: Boolean,\n default: true\n },\n closeButtonProps: {\n type: Object,\n default: () => {\n return { severity: 'secondary', text: true, rounded: true };\n }\n },\n closeIcon: {\n type: String,\n default: undefined\n },\n modal: {\n type: Boolean,\n default: true\n },\n blockScroll: {\n type: Boolean,\n default: false\n },\n closeOnEscape: {\n type: Boolean,\n default: true\n }\n },\n style: DrawerStyle,\n provide() {\n return {\n $pcDrawer: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <Portal>\n <div v-if=\"containerVisible\" :ref=\"maskRef\" @mousedown=\"onMaskClick\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position, modal })\" :data-p=\"dataP\" v-bind=\"ptm('mask')\">\n <transition name=\"p-drawer\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap :class=\"cx('root')\" :style=\"sx('root')\" role=\"complementary\" :aria-modal=\"modal\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\"></slot>\n <template v-else>\n <div :ref=\"headerContainerRef\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <div v-if=\"header\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</div>\n </slot>\n <slot v-if=\"showCloseIcon\" name=\"closebutton\" :closeCallback=\"hide\">\n <Button\n :ref=\"closeButtonRef\"\n type=\"button\"\n :class=\"cx('pcCloseButton')\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n @click=\"hide\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"iconcontainer\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n <div :ref=\"contentRef\" :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"> </slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { addClass, focus } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\nimport BaseDrawer from './BaseDrawer.vue';\n\nexport default {\n name: 'Drawer',\n extends: BaseDrawer,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'after-show', 'hide', 'after-hide', 'before-hide'],\n data() {\n return {\n containerVisible: this.visible\n };\n },\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n closeButton: null,\n outsideClickListener: null,\n documentKeydownListener: null,\n watch: {\n dismissable(newValue) {\n if (newValue && !this.modal) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n },\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.disableDocumentSettings();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n methods: {\n hide() {\n this.$emit('update:visible', false);\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.bindDocumentKeyDownListener();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.enableDocumentSettings();\n this.$emit('after-show');\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n\n this.$emit('before-hide');\n },\n onLeave() {\n this.$emit('hide');\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.unbindDocumentKeyDownListener();\n this.containerVisible = false;\n this.disableDocumentSettings();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissable && this.modal && this.mask === event.target) {\n this.hide();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.container);\n\n if (!focusTarget) {\n focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.closeButton;\n }\n }\n }\n\n focusTarget && focus(focusTarget);\n },\n enableDocumentSettings() {\n if (this.dismissable && !this.modal) {\n this.bindOutsideClickListener();\n }\n\n if (this.blockScroll) {\n blockBodyScroll();\n }\n },\n disableDocumentSettings() {\n this.unbindOutsideClickListener();\n\n if (this.blockScroll) {\n unblockBodyScroll();\n }\n },\n onKeydown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.hide();\n }\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeydown;\n document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\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 isOutsideClicked(event) {\n return this.container && !this.container.contains(event.target);\n }\n },\n computed: {\n fullScreen() {\n return this.position === 'full';\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n dataP() {\n return cn({\n 'full-screen': this.position === 'full',\n [this.position]: this.position,\n open: this.containerVisible,\n modal: this.modal\n });\n }\n },\n directives: {\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n TimesIcon\n }\n};\n</script>\n","<template>\n <Portal>\n <div v-if=\"containerVisible\" :ref=\"maskRef\" @mousedown=\"onMaskClick\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position, modal })\" :data-p=\"dataP\" v-bind=\"ptm('mask')\">\n <transition name=\"p-drawer\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap :class=\"cx('root')\" :style=\"sx('root')\" role=\"complementary\" :aria-modal=\"modal\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\"></slot>\n <template v-else>\n <div :ref=\"headerContainerRef\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <div v-if=\"header\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</div>\n </slot>\n <slot v-if=\"showCloseIcon\" name=\"closebutton\" :closeCallback=\"hide\">\n <Button\n :ref=\"closeButtonRef\"\n type=\"button\"\n :class=\"cx('pcCloseButton')\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n @click=\"hide\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"iconcontainer\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n <div :ref=\"contentRef\" :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"> </slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { addClass, focus } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\nimport BaseDrawer from './BaseDrawer.vue';\n\nexport default {\n name: 'Drawer',\n extends: BaseDrawer,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'after-show', 'hide', 'after-hide', 'before-hide'],\n data() {\n return {\n containerVisible: this.visible\n };\n },\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n closeButton: null,\n outsideClickListener: null,\n documentKeydownListener: null,\n watch: {\n dismissable(newValue) {\n if (newValue && !this.modal) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n },\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.disableDocumentSettings();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n methods: {\n hide() {\n this.$emit('update:visible', false);\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.bindDocumentKeyDownListener();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.enableDocumentSettings();\n this.$emit('after-show');\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n\n this.$emit('before-hide');\n },\n onLeave() {\n this.$emit('hide');\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.unbindDocumentKeyDownListener();\n this.containerVisible = false;\n this.disableDocumentSettings();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissable && this.modal && this.mask === event.target) {\n this.hide();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.container);\n\n if (!focusTarget) {\n focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.closeButton;\n }\n }\n }\n\n focusTarget && focus(focusTarget);\n },\n enableDocumentSettings() {\n if (this.dismissable && !this.modal) {\n this.bindOutsideClickListener();\n }\n\n if (this.blockScroll) {\n blockBodyScroll();\n }\n },\n disableDocumentSettings() {\n this.unbindOutsideClickListener();\n\n if (this.blockScroll) {\n unblockBodyScroll();\n }\n },\n onKeydown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.hide();\n }\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeydown;\n document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\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 isOutsideClicked(event) {\n return this.container && !this.container.contains(event.target);\n }\n },\n computed: {\n fullScreen() {\n return this.position === 'full';\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n dataP() {\n return cn({\n 'full-screen': this.position === 'full',\n [this.position]: this.position,\n open: this.containerVisible,\n modal: this.modal\n });\n }\n },\n directives: {\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n TimesIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","visible","type","Boolean","position","String","header","baseZIndex","Number","autoZIndex","dismissable","showCloseIcon","closeButtonProps","Object","default","severity","text","rounded","closeIcon","undefined","modal","blockScroll","closeOnEscape","style","DrawerStyle","provide","$pcDrawer","$parentInstance","BaseDrawer","inheritAttrs","emits","data","containerVisible","container","mask","content","headerContainer","footerContainer","closeButton","outsideClickListener","documentKeydownListener","watch","newValue","bindOutsideClickListener","unbindOutsideClickListener","updated","beforeUnmount","disableDocumentSettings","ZIndex","clear","methods","hide","$emit","onEnter","focus","bindDocumentKeyDownListener","set","$primevue","config","zIndex","onAfterEnter","enableDocumentSettings","onBeforeLeave","isUnstyled","addClass","onLeave","onAfterLeave","unbindDocumentKeyDownListener","onMaskClick","event","target","findFocusableElement","querySelector","focusTarget","$slots","footer","blockBodyScroll","unblockBodyScroll","onKeydown","code","containerRef","el","maskRef","contentRef","headerContainerRef","footerContainerRef","closeButtonRef","$el","document","addEventListener","removeEventListener","_this","isOutsideClicked","contains","computed","fullScreen","closeAriaLabel","locale","aria","close","dataP","cn","_defineProperty","directives","focustrap","FocusTrap","components","Button","Portal","TimesIcon","_createBlock","_component_Portal","$data","_openBlock","_createElementBlock","_mergeProps","ref","$options","onMousedown","apply","arguments","_ctx","cx","sx","ptm","_createVNode","_Transition","appear","_withDirectives","role","ptmi","_renderSlot","closeCallback","_Fragment","key","_createElementVNode","_component_Button","unstyled","onClick","pt","icon","_withCtx","slotProps","_resolveDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/drawer/BaseDrawer.vue","../../src/drawer/Drawer.vue","../../src/drawer/Drawer.vue?vue&type=template&id=61e28d7e&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport DrawerStyle from 'primevue/drawer/style';\n\nexport default {\n name: 'BaseDrawer',\n extends: BaseComponent,\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: 'left'\n },\n header: {\n type: null,\n default: null\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n dismissable: {\n type: Boolean,\n default: true\n },\n showCloseIcon: {\n type: Boolean,\n default: true\n },\n closeButtonProps: {\n type: Object,\n default: () => {\n return { severity: 'secondary', text: true, rounded: true };\n }\n },\n closeIcon: {\n type: String,\n default: undefined\n },\n modal: {\n type: Boolean,\n default: true\n },\n blockScroll: {\n type: Boolean,\n default: false\n },\n closeOnEscape: {\n type: Boolean,\n default: true\n }\n },\n style: DrawerStyle,\n provide() {\n return {\n $pcDrawer: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <Portal>\n <div v-if=\"containerVisible\" :ref=\"maskRef\" @mousedown=\"onMaskClick\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position, modal })\" :data-p=\"dataP\" v-bind=\"ptm('mask')\">\n <transition name=\"p-drawer\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap :class=\"cx('root')\" :style=\"sx('root')\" :role=\"modal ? 'dialog' : 'complementary'\" :aria-modal=\"modal ? true : undefined\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\"></slot>\n <template v-else>\n <div :ref=\"headerContainerRef\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <div v-if=\"header\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</div>\n </slot>\n <slot v-if=\"showCloseIcon\" name=\"closebutton\" :closeCallback=\"hide\">\n <Button\n :ref=\"closeButtonRef\"\n type=\"button\"\n :class=\"cx('pcCloseButton')\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n @click=\"hide\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"iconcontainer\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n <div :ref=\"contentRef\" :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"> </slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { addClass, focus } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\nimport BaseDrawer from './BaseDrawer.vue';\n\nexport default {\n name: 'Drawer',\n extends: BaseDrawer,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'after-show', 'hide', 'after-hide', 'before-hide'],\n data() {\n return {\n containerVisible: this.visible\n };\n },\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n closeButton: null,\n outsideClickListener: null,\n documentKeydownListener: null,\n watch: {\n dismissable(newValue) {\n if (newValue && !this.modal) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n },\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.disableDocumentSettings();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n methods: {\n hide() {\n this.$emit('update:visible', false);\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.bindDocumentKeyDownListener();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.enableDocumentSettings();\n this.$emit('after-show');\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n\n this.$emit('before-hide');\n },\n onLeave() {\n this.$emit('hide');\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.unbindDocumentKeyDownListener();\n this.containerVisible = false;\n this.disableDocumentSettings();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissable && this.modal && this.mask === event.target) {\n this.hide();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.container);\n\n if (!focusTarget) {\n focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.closeButton;\n }\n }\n }\n\n focusTarget && focus(focusTarget);\n },\n enableDocumentSettings() {\n if (this.dismissable && !this.modal) {\n this.bindOutsideClickListener();\n }\n\n if (this.blockScroll) {\n blockBodyScroll();\n }\n },\n disableDocumentSettings() {\n this.unbindOutsideClickListener();\n\n if (this.blockScroll) {\n unblockBodyScroll();\n }\n },\n onKeydown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.hide();\n }\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeydown;\n document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\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 isOutsideClicked(event) {\n return this.container && !this.container.contains(event.target);\n }\n },\n computed: {\n fullScreen() {\n return this.position === 'full';\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n dataP() {\n return cn({\n 'full-screen': this.position === 'full',\n [this.position]: this.position,\n open: this.containerVisible,\n modal: this.modal\n });\n }\n },\n directives: {\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n TimesIcon\n }\n};\n</script>\n","<template>\n <Portal>\n <div v-if=\"containerVisible\" :ref=\"maskRef\" @mousedown=\"onMaskClick\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position, modal })\" :data-p=\"dataP\" v-bind=\"ptm('mask')\">\n <transition name=\"p-drawer\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap :class=\"cx('root')\" :style=\"sx('root')\" :role=\"modal ? 'dialog' : 'complementary'\" :aria-modal=\"modal ? true : undefined\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\"></slot>\n <template v-else>\n <div :ref=\"headerContainerRef\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <div v-if=\"header\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</div>\n </slot>\n <slot v-if=\"showCloseIcon\" name=\"closebutton\" :closeCallback=\"hide\">\n <Button\n :ref=\"closeButtonRef\"\n type=\"button\"\n :class=\"cx('pcCloseButton')\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n @click=\"hide\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"iconcontainer\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n <div :ref=\"contentRef\" :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"> </slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { addClass, focus } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\nimport BaseDrawer from './BaseDrawer.vue';\n\nexport default {\n name: 'Drawer',\n extends: BaseDrawer,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'after-show', 'hide', 'after-hide', 'before-hide'],\n data() {\n return {\n containerVisible: this.visible\n };\n },\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n closeButton: null,\n outsideClickListener: null,\n documentKeydownListener: null,\n watch: {\n dismissable(newValue) {\n if (newValue && !this.modal) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n },\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.disableDocumentSettings();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n methods: {\n hide() {\n this.$emit('update:visible', false);\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.bindDocumentKeyDownListener();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.enableDocumentSettings();\n this.$emit('after-show');\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n\n this.$emit('before-hide');\n },\n onLeave() {\n this.$emit('hide');\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.unbindDocumentKeyDownListener();\n this.containerVisible = false;\n this.disableDocumentSettings();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissable && this.modal && this.mask === event.target) {\n this.hide();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.container);\n\n if (!focusTarget) {\n focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.closeButton;\n }\n }\n }\n\n focusTarget && focus(focusTarget);\n },\n enableDocumentSettings() {\n if (this.dismissable && !this.modal) {\n this.bindOutsideClickListener();\n }\n\n if (this.blockScroll) {\n blockBodyScroll();\n }\n },\n disableDocumentSettings() {\n this.unbindOutsideClickListener();\n\n if (this.blockScroll) {\n unblockBodyScroll();\n }\n },\n onKeydown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.hide();\n }\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeydown;\n document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\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 isOutsideClicked(event) {\n return this.container && !this.container.contains(event.target);\n }\n },\n computed: {\n fullScreen() {\n return this.position === 'full';\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n dataP() {\n return cn({\n 'full-screen': this.position === 'full',\n [this.position]: this.position,\n open: this.containerVisible,\n modal: this.modal\n });\n }\n },\n directives: {\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n TimesIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","visible","type","Boolean","position","String","header","baseZIndex","Number","autoZIndex","dismissable","showCloseIcon","closeButtonProps","Object","default","severity","text","rounded","closeIcon","undefined","modal","blockScroll","closeOnEscape","style","DrawerStyle","provide","$pcDrawer","$parentInstance","BaseDrawer","inheritAttrs","emits","data","containerVisible","container","mask","content","headerContainer","footerContainer","closeButton","outsideClickListener","documentKeydownListener","watch","newValue","bindOutsideClickListener","unbindOutsideClickListener","updated","beforeUnmount","disableDocumentSettings","ZIndex","clear","methods","hide","$emit","onEnter","focus","bindDocumentKeyDownListener","set","$primevue","config","zIndex","onAfterEnter","enableDocumentSettings","onBeforeLeave","isUnstyled","addClass","onLeave","onAfterLeave","unbindDocumentKeyDownListener","onMaskClick","event","target","findFocusableElement","querySelector","focusTarget","$slots","footer","blockBodyScroll","unblockBodyScroll","onKeydown","code","containerRef","el","maskRef","contentRef","headerContainerRef","footerContainerRef","closeButtonRef","$el","document","addEventListener","removeEventListener","_this","isOutsideClicked","contains","computed","fullScreen","closeAriaLabel","locale","aria","close","dataP","cn","_defineProperty","directives","focustrap","FocusTrap","components","Button","Portal","TimesIcon","_createBlock","_component_Portal","$data","_openBlock","_createElementBlock","_mergeProps","ref","$options","onMousedown","apply","arguments","_ctx","cx","sx","ptm","_createVNode","_Transition","appear","_withDirectives","role","ptmi","_renderSlot","closeCallback","_Fragment","key","_createElementVNode","_component_Button","unstyled","onClick","pt","icon","_withCtx","slotProps","_resolveDynamicComponent"],"mappings":"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"}
package/menu/Menu.vue CHANGED
@@ -124,12 +124,12 @@ export default {
124
124
  return;
125
125
  }
126
126
 
127
- if (this.overlayVisible) this.hide();
128
-
129
127
  if (item.command) {
130
128
  item.command(event);
131
129
  }
132
130
 
131
+ if (this.overlayVisible) this.hide();
132
+
133
133
  if (!this.popup && this.focusedOptionIndex !== event.id) {
134
134
  this.focusedOptionIndex = event.id;
135
135
  }
package/menu/index.mjs CHANGED
@@ -246,10 +246,10 @@ var script = {
246
246
  if (this.disabled(item)) {
247
247
  return;
248
248
  }
249
- if (this.overlayVisible) this.hide();
250
249
  if (item.command) {
251
250
  item.command(event);
252
251
  }
252
+ if (this.overlayVisible) this.hide();
253
253
  if (!this.popup && this.focusedOptionIndex !== event.id) {
254
254
  this.focusedOptionIndex = event.id;
255
255
  }
@@ -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=b4c65524&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 (this.overlayVisible) this.hide();\n\n if (item.command) {\n item.command(event);\n }\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 (this.overlayVisible) this.hide();\n\n if (item.command) {\n item.command(event);\n }\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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"}
@@ -14,7 +14,7 @@
14
14
  :aria-labelledby="ariaLabelledby"
15
15
  aria-haspopup="listbox"
16
16
  :aria-expanded="overlayVisible"
17
- :aria-controls="$id + '_list'"
17
+ :aria-controls="overlayVisible ? $id + '_list' : undefined"
18
18
  :aria-activedescendant="focused ? focusedOptionId : undefined"
19
19
  :aria-invalid="invalid || undefined"
20
20
  @focus="onFocus"
@@ -1214,7 +1214,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1214
1214
  "aria-labelledby": _ctx.ariaLabelledby,
1215
1215
  "aria-haspopup": "listbox",
1216
1216
  "aria-expanded": $data.overlayVisible,
1217
- "aria-controls": _ctx.$id + '_list',
1217
+ "aria-controls": $data.overlayVisible ? _ctx.$id + '_list' : undefined,
1218
1218
  "aria-activedescendant": $data.focused ? $options.focusedOptionId : undefined,
1219
1219
  "aria-invalid": _ctx.invalid || undefined,
1220
1220
  onFocus: _cache[0] || (_cache[0] = function () {