diff --git a/components/lib/contextmenu/BaseContextMenu.vue b/components/lib/contextmenu/BaseContextMenu.vue index e62cfe3ce..887dce3f6 100644 --- a/components/lib/contextmenu/BaseContextMenu.vue +++ b/components/lib/contextmenu/BaseContextMenu.vue @@ -56,6 +56,7 @@ const classes = { menu: 'p-contextmenu-root-list', menuitem: ({ context, processedItem }) => [ 'p-menuitem', + context.getItemProp(processedItem, 'class'), { 'p-menuitem-active p-highlight': context.isItemActive(processedItem), 'p-focus': context.isItemFocused(processedItem), @@ -70,11 +71,11 @@ const classes = { 'router-link-active-exact': context.exact && isExactActive } ], - icon: 'p-menuitem-icon', + icon: ({ context, processedItem }) => ['p-menuitem-icon', context.getItemProp(processedItem, 'icon')], label: 'p-menuitem-text', submenuIcon: 'p-submenu-icon', submenu: 'p-submenu-list', - separator: 'p-menuitem-separator' + separator: ({ context, processedItem }) => ['p-menuitem-separator', context.getItemProp(processedItem, 'class')] }; const { load: loadStyle, unload: unloadStyle } = useStyle(styles, { id: 'primevue_contextmenu_style', manual: true }); diff --git a/components/lib/contextmenu/ContextMenuSub.vue b/components/lib/contextmenu/ContextMenuSub.vue index 37b933854..06b6252de 100755 --- a/components/lib/contextmenu/ContextMenuSub.vue +++ b/components/lib/contextmenu/ContextMenuSub.vue @@ -6,7 +6,7 @@ v-if="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')" :id="getItemId(processedItem)" :style="getItemProp(processedItem, 'style')" - :class="[getCXOptions('menuitem', { processedItem }), getItemProp(processedItem, 'class')]" + :class="getCXOptions('menuitem', { processedItem })" role="menuitem" :aria-label="getItemLabel(processedItem)" :aria-disabled="isItemDisabled(processedItem) || undefined" @@ -24,14 +24,14 @@ diff --git a/components/lib/menu/Menuitem.vue b/components/lib/menu/Menuitem.vue index 9bd715539..d9ce19b72 100644 --- a/components/lib/menu/Menuitem.vue +++ b/components/lib/menu/Menuitem.vue @@ -2,7 +2,7 @@
  • diff --git a/components/lib/tieredmenu/BaseTieredMenu.vue b/components/lib/tieredmenu/BaseTieredMenu.vue index 8757cd979..0c692148c 100644 --- a/components/lib/tieredmenu/BaseTieredMenu.vue +++ b/components/lib/tieredmenu/BaseTieredMenu.vue @@ -60,6 +60,7 @@ const classes = { menu: 'p-tieredmenu-root-list', menuitem: ({ context, processedItem }) => [ 'p-menuitem', + context.getItemProp(processedItem, 'class'), { 'p-menuitem-active p-highlight': context.isItemActive(processedItem), 'p-focus': context.isItemFocused(processedItem), @@ -74,10 +75,11 @@ const classes = { 'router-link-active-exact': context.exact && isExactActive } ], - icon: 'p-menuitem-icon', + icon: ({ context, processedItem }) => ['p-menuitem-icon', context.getItemProp(processedItem, 'icon')], text: 'p-menuitem-text', submenuIcon: 'p-submenu-icon', - submenu: 'p-submenu-list' + submenu: 'p-submenu-list', + separator: ({ context, processedItem }) => ['p-menuitem-separator', context.getItemProp(processedItem, 'class')] }; const { load: loadStyle, unload: unloadStyle } = useStyle(styles, { id: 'primevue_tieredmenu_style', manual: true }); diff --git a/components/lib/tieredmenu/TieredMenuSub.vue b/components/lib/tieredmenu/TieredMenuSub.vue index 68e1ca6d4..cad3d7aba 100755 --- a/components/lib/tieredmenu/TieredMenuSub.vue +++ b/components/lib/tieredmenu/TieredMenuSub.vue @@ -5,7 +5,7 @@ v-if="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')" :id="getItemId(processedItem)" :style="getItemProp(processedItem, 'style')" - :class="[getCXOptions('menuitem', { processedItem }), getItemProp(processedItem, 'class')]" + :class="getCXOptions('menuitem', { processedItem })" role="menuitem" :aria-label="getItemLabel(processedItem)" :aria-disabled="isItemDisabled(processedItem) || undefined" @@ -23,14 +23,14 @@