@progress/kendo-vue-layout 10.2.0-develop.5 → 10.2.0-develop.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contextmenu/ContextMenu.d.ts +15 -1
- package/contextmenu/ContextMenu.js +1 -1
- package/contextmenu/ContextMenu.mjs +34 -27
- package/dist/cdn/js/kendo-vue-layout.js +1 -1
- package/index.d.mts +3 -0
- package/index.d.ts +3 -0
- package/menu/BaseMenuItemInternalProps.d.ts +4 -0
- package/menu/MenuProps.d.ts +35 -0
- package/menu/components/Menu.d.ts +11 -3
- package/menu/components/Menu.js +1 -1
- package/menu/components/Menu.mjs +46 -34
- package/menu/components/MenuItemInternal.d.ts +20 -4
- package/menu/components/MenuItemInternal.js +1 -1
- package/menu/components/MenuItemInternal.mjs +156 -82
- package/menu/components/MenuItemLink.d.ts +8 -0
- package/menu/components/MenuItemLink.js +1 -1
- package/menu/components/MenuItemLink.mjs +13 -11
- package/menu/models/BaseMenuItem.d.ts +36 -0
- package/menu/models/MenuItemActionsRenderProps.d.ts +17 -0
- package/menu/models/MenuItemGroupHeaderRenderProps.d.ts +17 -0
- package/menu/utils/getNewItemIdUponKeyboardNavigation.js +1 -1
- package/menu/utils/getNewItemIdUponKeyboardNavigation.mjs +57 -62
- package/menu/utils/itemsIdsUtils.d.ts +0 -16
- package/menu/utils/itemsIdsUtils.js +1 -1
- package/menu/utils/itemsIdsUtils.mjs +23 -40
- package/menu/utils/misc.d.ts +8 -0
- package/menu/utils/misc.js +1 -1
- package/menu/utils/misc.mjs +23 -14
- package/menu/utils/navigableItems.d.ts +28 -0
- package/menu/utils/navigableItems.js +8 -0
- package/menu/utils/navigableItems.mjs +45 -0
- package/menu/utils/prepareInputItemsForInternalWork.js +1 -1
- package/menu/utils/prepareInputItemsForInternalWork.mjs +58 -46
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +7 -7
package/index.d.mts
CHANGED
|
@@ -44,7 +44,10 @@ export * from './menu/components/Menu.js';
|
|
|
44
44
|
export * from './menu/components/MenuItemLink.js';
|
|
45
45
|
export * from './menu/components/MenuItemArrow.js';
|
|
46
46
|
export * from './menu/models/MenuItemModel.js';
|
|
47
|
+
export * from './menu/models/MenuItemActionsRenderProps.js';
|
|
48
|
+
export * from './menu/models/MenuItemGroupHeaderRenderProps.js';
|
|
47
49
|
export * from './menu/events.js';
|
|
50
|
+
export type { MenuSize } from './menu/MenuProps.js';
|
|
48
51
|
export * from './contextmenu/ContextMenu.js';
|
|
49
52
|
export * from './splitter/Splitter.js';
|
|
50
53
|
export * from './splitter/SplitterPane.js';
|
package/index.d.ts
CHANGED
|
@@ -44,7 +44,10 @@ export * from './menu/components/Menu';
|
|
|
44
44
|
export * from './menu/components/MenuItemLink';
|
|
45
45
|
export * from './menu/components/MenuItemArrow';
|
|
46
46
|
export * from './menu/models/MenuItemModel';
|
|
47
|
+
export * from './menu/models/MenuItemActionsRenderProps';
|
|
48
|
+
export * from './menu/models/MenuItemGroupHeaderRenderProps';
|
|
47
49
|
export * from './menu/events';
|
|
50
|
+
export type { MenuSize } from './menu/MenuProps';
|
|
48
51
|
export * from './contextmenu/ContextMenu';
|
|
49
52
|
export * from './splitter/Splitter';
|
|
50
53
|
export * from './splitter/SplitterPane';
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
+
import { MenuSize } from './MenuProps';
|
|
8
9
|
/**
|
|
9
10
|
* @hidden
|
|
10
11
|
*/
|
|
@@ -14,8 +15,11 @@ export interface BaseMenuItemInternalProps {
|
|
|
14
15
|
tabbableItemId: string;
|
|
15
16
|
itemRender?: any;
|
|
16
17
|
linkRender?: any;
|
|
18
|
+
actionsRender?: any;
|
|
17
19
|
isMenuVertical: boolean;
|
|
18
20
|
isDirectionRightToLeft?: boolean;
|
|
21
|
+
size?: MenuSize;
|
|
22
|
+
isContextMenu?: boolean;
|
|
19
23
|
menuGuid: string;
|
|
20
24
|
onMouseOver?: any;
|
|
21
25
|
onMouseLeave?: any;
|
package/menu/MenuProps.d.ts
CHANGED
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { MenuItemModel } from './models/MenuItemModel';
|
|
9
9
|
import { MenuSelectEvent } from './events';
|
|
10
|
+
/**
|
|
11
|
+
* Represents the values of the size property of the Menu.
|
|
12
|
+
*/
|
|
13
|
+
export type MenuSize = 'small' | 'medium' | 'large';
|
|
10
14
|
/**
|
|
11
15
|
* The properties of the [Kendo UI for Vue Menu component]({% slug overview_menu %}).
|
|
12
16
|
*/
|
|
@@ -43,6 +47,18 @@ export interface MenuProps {
|
|
|
43
47
|
* A Vue functional or class component which is used for rendering the link of the item ([see example]({% slug rendering_menu %}#toc-links)). The item link is a part of the visual representation of the item which, by default, includes an arrow, icon, and text.
|
|
44
48
|
*/
|
|
45
49
|
linkRender?: any;
|
|
50
|
+
/**
|
|
51
|
+
* Specifies a component, render function, or slot name for trailing actions on each Menu item.
|
|
52
|
+
* Receives `{ item, itemId }`. An item-level `actionsRender` overrides this setting.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```vue
|
|
56
|
+
* <Menu :items="items" :actions-render="'actions'">
|
|
57
|
+
* <template #actions="{ props }"><kbd>{{ props.item.data?.shortcut }}</kbd></template>
|
|
58
|
+
* </Menu>
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
actionsRender?: any;
|
|
46
62
|
/**
|
|
47
63
|
* Sets the ids of the Menu items that will not be closed on mouse-leave. The ids are hierarchical and zero-based. The first root item has a `0` id. If the first root item has children, the first child item acquires a `0_0` id and the second acquires a `0_1` id.
|
|
48
64
|
*/
|
|
@@ -51,6 +67,25 @@ export interface MenuProps {
|
|
|
51
67
|
* Adds a custom className to the Menu top element.
|
|
52
68
|
*/
|
|
53
69
|
className?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Configures the `size` of the Menu. Applies to the root items and to the popup items.
|
|
72
|
+
*
|
|
73
|
+
* The available options are:
|
|
74
|
+
* - small
|
|
75
|
+
* - medium
|
|
76
|
+
* - large
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```vue
|
|
80
|
+
* <Menu :items="items" :size="'large'" />
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
size?: MenuSize;
|
|
84
|
+
/**
|
|
85
|
+
* @hidden
|
|
86
|
+
* Renders the Menu as the root list of a ContextMenu.
|
|
87
|
+
*/
|
|
88
|
+
contextMenu?: boolean;
|
|
54
89
|
/**
|
|
55
90
|
* Fires when a Menu item is selected.
|
|
56
91
|
*/
|
|
@@ -10,7 +10,7 @@ import { PropType } from 'vue';
|
|
|
10
10
|
* @hidden
|
|
11
11
|
*/
|
|
12
12
|
export interface MenuComputed {
|
|
13
|
-
menuClassName:
|
|
13
|
+
menuClassName: string;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* @hidden
|
|
@@ -60,10 +60,14 @@ declare const Menu: import('vue').DefineComponent<import('vue').ExtractPropTypes
|
|
|
60
60
|
default: any;
|
|
61
61
|
};
|
|
62
62
|
openOnClick: PropType<boolean>;
|
|
63
|
+
size: PropType<import('../MenuProps').MenuSize>;
|
|
64
|
+
contextMenu: PropType<boolean>;
|
|
63
65
|
onSelect: PropType<(event: import('../events').MenuSelectEvent) => void>;
|
|
64
66
|
itemRender: PropType<any>;
|
|
65
67
|
linkRender: PropType<any>;
|
|
66
|
-
|
|
68
|
+
actionsRender: PropType<any>;
|
|
69
|
+
customCloseItemIds: PropType<string[]>;
|
|
70
|
+
className: PropType<string>;
|
|
67
71
|
}>, {}, {
|
|
68
72
|
focusedItemId: string;
|
|
69
73
|
hoveredItemId: string;
|
|
@@ -105,10 +109,14 @@ declare const Menu: import('vue').DefineComponent<import('vue').ExtractPropTypes
|
|
|
105
109
|
default: any;
|
|
106
110
|
};
|
|
107
111
|
openOnClick: PropType<boolean>;
|
|
112
|
+
size: PropType<import('../MenuProps').MenuSize>;
|
|
113
|
+
contextMenu: PropType<boolean>;
|
|
108
114
|
onSelect: PropType<(event: import('../events').MenuSelectEvent) => void>;
|
|
109
115
|
itemRender: PropType<any>;
|
|
110
116
|
linkRender: PropType<any>;
|
|
111
|
-
|
|
117
|
+
actionsRender: PropType<any>;
|
|
118
|
+
customCloseItemIds: PropType<string[]>;
|
|
119
|
+
className: PropType<string>;
|
|
112
120
|
}>> & Readonly<{}>, {
|
|
113
121
|
vertical: boolean;
|
|
114
122
|
hoverOpenDelay: number;
|
package/menu/components/Menu.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),i=require("@progress/kendo-vue-common"),t=require("../utils/itemsIdsUtils.js"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),i=require("@progress/kendo-vue-common"),t=require("../utils/itemsIdsUtils.js"),a=require("../utils/prepareInputItemsForInternalWork.js"),d=require("../utils/getNewItemIdUponKeyboardNavigation.js"),l=require("../utils/navigableItems.js"),n=require("../utils/hoverDelay.js"),I=require("../utils/DirectionHolder.js"),u=require("../utils/MouseOverHandler.js"),m=require("../../package-metadata.js"),h=require("./MenuItemInternal.js"),c=o.defineComponent({name:"KendoMenu",props:{vertical:{type:Boolean,default:!1},items:Array,dir:String,hoverOpenDelay:{type:Number,default:void 0},hoverCloseDelay:{type:Number,default:void 0},openOnClick:Boolean,size:String,contextMenu:Boolean,onSelect:Function,itemRender:[String,Object,Function],linkRender:[String,Object,Function],actionsRender:[String,Object,Function],customCloseItemIds:Array,className:String},created(){i.validatePackage(m.packageMetadata),this.mouseOverHandler=new u.MouseOverHandler(this.$props.openOnClick,this.reset,this.onItemMouseOver),this.guid=i.guid(),this.directionHolder=new I.DirectionHolder,this.inputItems=[],this.currentItems=[]},mounted(){this.isFirstRender=!1,this.menuWrapperEl=i.getRef(this,"menuWrapper")},updated(){this.mouseOverHandler.OpenOnClick=this.$props.openOnClick},unmounted(){this.clearItemHoverAndLeaveRequestsIfApplicable()},data(){return{focusedItemId:t.EMPTY_ID,hoveredItemId:t.EMPTY_ID,tabbableItemId:t.ZERO_LEVEL_ZERO_ITEM_ID,isFirstRender:!0}},computed:{menuClassName(){const e=this.$props.size&&i.kendoThemeMaps.sizeMap[this.$props.size];return this.$props.contextMenu&&this.$props.vertical?i.classNames("k-context-menu","k-menu-group",e&&`k-menu-group-${e}`,this.$props.className):i.classNames({"k-context-menu":!!this.$props.contextMenu,"k-reset":!0,"k-header":!0,"k-menu":!0,"k-menu-horizontal":!this.$props.vertical,"k-menu-vertical":this.$props.vertical,[`k-menu-${e}`]:e},this.$props.className)}},render(){this.prepareItems(),this.isFirstRender||this.directionHolder.setIsDirectionRightToLeft(this.checkIsDirectionRightToLeft());let e=this.hoveredItemId?this.hoveredItemId:this.focusedItemId?t.getDirectParentId(this.focusedItemId):t.EMPTY_ID;const s=this.tabbableItemId===t.ZERO_LEVEL_ZERO_ITEM_ID?l.getFirstNavigableRootId(this.currentItems):this.tabbableItemId;return o.createVNode("div",{class:this.getMenuWrapperClassName(),ref:i.setRef(this,"menuWrapper")},[o.createVNode(h.MenuItemInternalsList,{class:this.menuClassName,"aria-orientation":this.$props.vertical?"vertical":void 0,items:this.currentItems,isMenuVertical:this.$props.vertical,isDirectionRightToLeft:this.directionHolder.getIsDirectionRightToLeft(),size:this.$props.size,isContextMenu:!!this.$props.contextMenu,role:this.$props.contextMenu?"menu":void 0,focusedItemId:this.focusedItemId,lastItemIdToBeOpened:e,tabbableItemId:s,itemRender:i.templateRendering.call(this,this.$props.itemRender,i.getListeners.call(this)),linkRender:i.templateRendering.call(this,this.$props.linkRender,i.getListeners.call(this)),actionsRender:i.templateRendering.call(this,this.$props.actionsRender,i.getListeners.call(this)),menuGuid:this.guid,onMouseleave:this.onItemMouseLeave,onMouseover:this.onItemMouseOver,onMousedown:this.onItemMouseDown,onKeydown:this.onKeyDown,onFocus:this.onItemFocus,onClick:this.onItemClick,onBlur:this.onItemBlur,originalItemNeeded:this.getInputItem},null)])},methods:{reset(){this.clearItemHoverAndLeaveRequestsIfApplicable(),this.focusedItemId=t.EMPTY_ID,this.hoveredItemId=t.EMPTY_ID,this.tabbableItemId=t.ZERO_LEVEL_ZERO_ITEM_ID},onKeyDown(e){if(this.focusedItemId!==t.EMPTY_ID){const s=t.getItemById(this.focusedItemId,this.currentItems),r=d.getNewItemIdUponKeyboardNavigation(this.currentItems,s.id,e.keyCode,e.key,this.$props.vertical,this.directionHolder.getIsDirectionRightToLeft());s.id!==r&&(e.preventDefault(),this.setFocusedItemId(r)),(e.keyCode===i.Keys.enter||e.keyCode===i.Keys.space)&&!s.disabled&&(this.mouseOverHandler.handleItemSelectedViaKeyboard(),this.dispatchSelectEventIfWired(e,s.id),!e.defaultPrevented&&s.items.length===0&&s.url&&i.isSafeUrl(s.url)&&i.canUseDOM&&window.location.assign(s.url))}},onItemMouseOver(e){this.mouseOverHandler.IsMouseOverEnabled&&(this.clearItemHoverAndLeaveRequestsIfApplicable(),this.itemHoverRequest=window.setTimeout(()=>{this.setHoveredItemId(e),this.itemHoverRequest=null},n.getHoverOpenDelay({...this.$props})))},onItemMouseLeave(e){this.mouseOverHandler.IsMouseOverEnabled&&this.isItemWithDefaultClose(e)&&(this.clearItemHoverAndLeaveRequestsIfApplicable(),this.itemLeaveRequest=window.setTimeout(()=>{this.setHoveredItemId(t.EMPTY_ID),this.itemLeaveRequest=null},n.getHoverCloseDelay({...this.$props})))},onItemMouseDown(){this.mouseOverHandler.handleItemMouseDown()},onItemFocus(e){this.setFocusedItemId(e),this.mouseOverHandler.handleItemFocus()},onItemClick(e,s){const r=t.getItemById(s,this.currentItems);r.disabled||(this.setFocusedItemId(s),this.mouseOverHandler.handleItemClick(s,this.isItemWithDefaultClose(s)),this.dispatchSelectEventIfWired(e,s),!e.defaultPrevented&&r.url&&i.isSafeUrl(r.url)&&i.canUseDOM&&window.location.assign(r.url))},onItemBlur(e){this.isItemWithDefaultClose(e)&&this.setFocusedItemId(t.EMPTY_ID)},getInputItem(e){return t.getItemById(e,this.inputItems)},setFocusedItemId(e){const s=e===t.EMPTY_ID?this.tabbableItemId:t.getRootParentId(e),r=e===t.EMPTY_ID||t.isIdEmptyOrZeroLevel(this.hoveredItemId)&&t.isIdEmptyOrZeroLevel(e)?this.hoveredItemId:t.EMPTY_ID;this.hoveredItemId=r,this.focusedItemId=e,this.tabbableItemId=s},setHoveredItemId(e){t.isIdEmptyOrZeroLevel(e)&&t.isIdEmptyOrZeroLevel(this.focusedItemId)?this.hoveredItemId=e:(this.hoveredItemId=e,this.focusedItemId=t.EMPTY_ID,this.tabbableItemId=t.ZERO_LEVEL_ZERO_ITEM_ID)},getMenuWrapperClassName(){return{"k-rtl":this.directionHolder.getIsDirectionRightToLeft()}},clearItemHoverAndLeaveRequestsIfApplicable(){this.itemHoverRequest&&(clearTimeout(this.itemHoverRequest),this.itemHoverRequest=null),this.itemLeaveRequest&&(clearTimeout(this.itemLeaveRequest),this.itemLeaveRequest=null)},isItemWithDefaultClose(e){return!this.$props.customCloseItemIds||this.$props.customCloseItemIds.indexOf(e)===-1},checkIsDirectionRightToLeft(){return this.$props.dir!==void 0?this.$props.dir==="rtl":this.menuWrapperEl&&getComputedStyle(this.menuWrapperEl).direction==="rtl"},prepareItems(){const{items:e,inputItems:s}=a.prepareInputItemsForInternalWork.call(this,this.$props.items);this.currentItems=e,this.inputItems=s},dispatchSelectEventIfWired(e,s){this.$emit("select",{event:e,component:this,item:this.getInputItem(s),itemId:s})}}});exports.Menu=c;
|
package/menu/components/Menu.mjs
CHANGED
|
@@ -5,17 +5,18 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as
|
|
9
|
-
import { isSafeUrl as
|
|
10
|
-
import { isIdEmptyOrZeroLevel as r, EMPTY_ID as s, ZERO_LEVEL_ZERO_ITEM_ID as o, getRootParentId as
|
|
11
|
-
import { prepareInputItemsForInternalWork as
|
|
12
|
-
import { getNewItemIdUponKeyboardNavigation as
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
|
|
8
|
+
import { defineComponent as p, createVNode as m } from "vue";
|
|
9
|
+
import { isSafeUrl as l, canUseDOM as h, Keys as u, setRef as c, templateRendering as n, getListeners as a, kendoThemeMaps as f, classNames as I, getRef as v, validatePackage as b, guid as g } from "@progress/kendo-vue-common";
|
|
10
|
+
import { isIdEmptyOrZeroLevel as r, EMPTY_ID as s, ZERO_LEVEL_ZERO_ITEM_ID as o, getRootParentId as R, getItemById as d, getDirectParentId as k } from "../utils/itemsIdsUtils.mjs";
|
|
11
|
+
import { prepareInputItemsForInternalWork as M } from "../utils/prepareInputItemsForInternalWork.mjs";
|
|
12
|
+
import { getNewItemIdUponKeyboardNavigation as O } from "../utils/getNewItemIdUponKeyboardNavigation.mjs";
|
|
13
|
+
import { getFirstNavigableRootId as H } from "../utils/navigableItems.mjs";
|
|
14
|
+
import { getHoverCloseDelay as $, getHoverOpenDelay as C } from "../utils/hoverDelay.mjs";
|
|
15
|
+
import { DirectionHolder as D } from "../utils/DirectionHolder.mjs";
|
|
16
|
+
import { MouseOverHandler as L } from "../utils/MouseOverHandler.mjs";
|
|
17
|
+
import { packageMetadata as y } from "../../package-metadata.mjs";
|
|
18
|
+
import { MenuItemInternalsList as w } from "./MenuItemInternal.mjs";
|
|
19
|
+
const K = /* @__PURE__ */ p({
|
|
19
20
|
name: "KendoMenu",
|
|
20
21
|
props: {
|
|
21
22
|
vertical: {
|
|
@@ -33,16 +34,20 @@ const S = /* @__PURE__ */ I({
|
|
|
33
34
|
default: void 0
|
|
34
35
|
},
|
|
35
36
|
openOnClick: Boolean,
|
|
37
|
+
size: String,
|
|
38
|
+
contextMenu: Boolean,
|
|
36
39
|
onSelect: Function,
|
|
37
40
|
itemRender: [String, Object, Function],
|
|
38
41
|
linkRender: [String, Object, Function],
|
|
39
|
-
|
|
42
|
+
actionsRender: [String, Object, Function],
|
|
43
|
+
customCloseItemIds: Array,
|
|
44
|
+
className: String
|
|
40
45
|
},
|
|
41
46
|
created() {
|
|
42
|
-
|
|
47
|
+
b(y), this.mouseOverHandler = new L(this.$props.openOnClick, this.reset, this.onItemMouseOver), this.guid = g(), this.directionHolder = new D(), this.inputItems = [], this.currentItems = [];
|
|
43
48
|
},
|
|
44
49
|
mounted() {
|
|
45
|
-
this.isFirstRender = !1, this.menuWrapperEl =
|
|
50
|
+
this.isFirstRender = !1, this.menuWrapperEl = v(this, "menuWrapper");
|
|
46
51
|
},
|
|
47
52
|
updated() {
|
|
48
53
|
this.mouseOverHandler.OpenOnClick = this.$props.openOnClick;
|
|
@@ -60,33 +65,40 @@ const S = /* @__PURE__ */ I({
|
|
|
60
65
|
},
|
|
61
66
|
computed: {
|
|
62
67
|
menuClassName() {
|
|
63
|
-
|
|
64
|
-
|
|
68
|
+
const e = this.$props.size && f.sizeMap[this.$props.size];
|
|
69
|
+
return this.$props.contextMenu && this.$props.vertical ? I("k-context-menu", "k-menu-group", e && `k-menu-group-${e}`, this.$props.className) : I({
|
|
70
|
+
"k-context-menu": !!this.$props.contextMenu,
|
|
65
71
|
"k-reset": !0,
|
|
66
72
|
"k-header": !0,
|
|
67
73
|
"k-menu": !0,
|
|
68
74
|
"k-menu-horizontal": !this.$props.vertical,
|
|
69
|
-
"k-menu-vertical": this.$props.vertical
|
|
70
|
-
|
|
75
|
+
"k-menu-vertical": this.$props.vertical,
|
|
76
|
+
[`k-menu-${e}`]: e
|
|
77
|
+
}, this.$props.className);
|
|
71
78
|
}
|
|
72
79
|
},
|
|
73
80
|
render() {
|
|
74
81
|
this.prepareItems(), this.isFirstRender || this.directionHolder.setIsDirectionRightToLeft(this.checkIsDirectionRightToLeft());
|
|
75
|
-
let e = this.hoveredItemId ? this.hoveredItemId : this.focusedItemId ?
|
|
76
|
-
|
|
82
|
+
let e = this.hoveredItemId ? this.hoveredItemId : this.focusedItemId ? k(this.focusedItemId) : s;
|
|
83
|
+
const t = this.tabbableItemId === o ? H(this.currentItems) : this.tabbableItemId;
|
|
84
|
+
return m("div", {
|
|
77
85
|
class: this.getMenuWrapperClassName(),
|
|
78
86
|
ref: c(this, "menuWrapper")
|
|
79
|
-
}, [
|
|
87
|
+
}, [m(w, {
|
|
80
88
|
class: this.menuClassName,
|
|
81
89
|
"aria-orientation": this.$props.vertical ? "vertical" : void 0,
|
|
82
90
|
items: this.currentItems,
|
|
83
91
|
isMenuVertical: this.$props.vertical,
|
|
84
92
|
isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(),
|
|
93
|
+
size: this.$props.size,
|
|
94
|
+
isContextMenu: !!this.$props.contextMenu,
|
|
95
|
+
role: this.$props.contextMenu ? "menu" : void 0,
|
|
85
96
|
focusedItemId: this.focusedItemId,
|
|
86
97
|
lastItemIdToBeOpened: e,
|
|
87
|
-
tabbableItemId:
|
|
88
|
-
itemRender:
|
|
89
|
-
linkRender:
|
|
98
|
+
tabbableItemId: t,
|
|
99
|
+
itemRender: n.call(this, this.$props.itemRender, a.call(this)),
|
|
100
|
+
linkRender: n.call(this, this.$props.linkRender, a.call(this)),
|
|
101
|
+
actionsRender: n.call(this, this.$props.actionsRender, a.call(this)),
|
|
90
102
|
menuGuid: this.guid,
|
|
91
103
|
onMouseleave: this.onItemMouseLeave,
|
|
92
104
|
onMouseover: this.onItemMouseOver,
|
|
@@ -104,21 +116,21 @@ const S = /* @__PURE__ */ I({
|
|
|
104
116
|
},
|
|
105
117
|
onKeyDown(e) {
|
|
106
118
|
if (this.focusedItemId !== s) {
|
|
107
|
-
const t =
|
|
108
|
-
t.id !== i && (e.preventDefault(), this.setFocusedItemId(i)), (e.keyCode ===
|
|
119
|
+
const t = d(this.focusedItemId, this.currentItems), i = O(this.currentItems, t.id, e.keyCode, e.key, this.$props.vertical, this.directionHolder.getIsDirectionRightToLeft());
|
|
120
|
+
t.id !== i && (e.preventDefault(), this.setFocusedItemId(i)), (e.keyCode === u.enter || e.keyCode === u.space) && !t.disabled && (this.mouseOverHandler.handleItemSelectedViaKeyboard(), this.dispatchSelectEventIfWired(e, t.id), !e.defaultPrevented && t.items.length === 0 && t.url && l(t.url) && h && window.location.assign(t.url));
|
|
109
121
|
}
|
|
110
122
|
},
|
|
111
123
|
onItemMouseOver(e) {
|
|
112
124
|
this.mouseOverHandler.IsMouseOverEnabled && (this.clearItemHoverAndLeaveRequestsIfApplicable(), this.itemHoverRequest = window.setTimeout(() => {
|
|
113
125
|
this.setHoveredItemId(e), this.itemHoverRequest = null;
|
|
114
|
-
},
|
|
126
|
+
}, C({
|
|
115
127
|
...this.$props
|
|
116
128
|
})));
|
|
117
129
|
},
|
|
118
130
|
onItemMouseLeave(e) {
|
|
119
131
|
this.mouseOverHandler.IsMouseOverEnabled && this.isItemWithDefaultClose(e) && (this.clearItemHoverAndLeaveRequestsIfApplicable(), this.itemLeaveRequest = window.setTimeout(() => {
|
|
120
132
|
this.setHoveredItemId(s), this.itemLeaveRequest = null;
|
|
121
|
-
},
|
|
133
|
+
}, $({
|
|
122
134
|
...this.$props
|
|
123
135
|
})));
|
|
124
136
|
},
|
|
@@ -129,17 +141,17 @@ const S = /* @__PURE__ */ I({
|
|
|
129
141
|
this.setFocusedItemId(e), this.mouseOverHandler.handleItemFocus();
|
|
130
142
|
},
|
|
131
143
|
onItemClick(e, t) {
|
|
132
|
-
const i =
|
|
133
|
-
i.disabled || (this.setFocusedItemId(t), this.mouseOverHandler.handleItemClick(t, this.isItemWithDefaultClose(t)), this.dispatchSelectEventIfWired(e, t), !e.defaultPrevented && i.url &&
|
|
144
|
+
const i = d(t, this.currentItems);
|
|
145
|
+
i.disabled || (this.setFocusedItemId(t), this.mouseOverHandler.handleItemClick(t, this.isItemWithDefaultClose(t)), this.dispatchSelectEventIfWired(e, t), !e.defaultPrevented && i.url && l(i.url) && h && window.location.assign(i.url));
|
|
134
146
|
},
|
|
135
147
|
onItemBlur(e) {
|
|
136
148
|
this.isItemWithDefaultClose(e) && this.setFocusedItemId(s);
|
|
137
149
|
},
|
|
138
150
|
getInputItem(e) {
|
|
139
|
-
return
|
|
151
|
+
return d(e, this.inputItems);
|
|
140
152
|
},
|
|
141
153
|
setFocusedItemId(e) {
|
|
142
|
-
const t = e === s ? this.tabbableItemId :
|
|
154
|
+
const t = e === s ? this.tabbableItemId : R(e), i = e === s || r(this.hoveredItemId) && r(e) ? this.hoveredItemId : s;
|
|
143
155
|
this.hoveredItemId = i, this.focusedItemId = e, this.tabbableItemId = t;
|
|
144
156
|
},
|
|
145
157
|
setHoveredItemId(e) {
|
|
@@ -163,7 +175,7 @@ const S = /* @__PURE__ */ I({
|
|
|
163
175
|
const {
|
|
164
176
|
items: e,
|
|
165
177
|
inputItems: t
|
|
166
|
-
} =
|
|
178
|
+
} = M.call(this, this.$props.items);
|
|
167
179
|
this.currentItems = e, this.inputItems = t;
|
|
168
180
|
},
|
|
169
181
|
dispatchSelectEventIfWired(e, t) {
|
|
@@ -177,5 +189,5 @@ const S = /* @__PURE__ */ I({
|
|
|
177
189
|
}
|
|
178
190
|
});
|
|
179
191
|
export {
|
|
180
|
-
|
|
192
|
+
K as Menu
|
|
181
193
|
};
|
|
@@ -20,10 +20,12 @@ export interface MenuItemInternalProps extends BaseMenuItemInternalProps {
|
|
|
20
20
|
export interface MenuItemInternalComputed {
|
|
21
21
|
currentItemRender: any;
|
|
22
22
|
currentLinkRender: any;
|
|
23
|
+
currentActionsRender: any;
|
|
23
24
|
contentRender: any;
|
|
24
25
|
currentOpened: boolean;
|
|
25
26
|
currentFocused: boolean;
|
|
26
27
|
popupClassName: string;
|
|
28
|
+
popupListClassName: string;
|
|
27
29
|
menuItemClassName: object;
|
|
28
30
|
hasItems: boolean;
|
|
29
31
|
}
|
|
@@ -37,8 +39,11 @@ declare const MenuItemInternal: import('vue').DefineComponent<import('vue').Extr
|
|
|
37
39
|
tabbableItemId: PropType<string>;
|
|
38
40
|
itemRender: PropType<any>;
|
|
39
41
|
linkRender: PropType<any>;
|
|
42
|
+
actionsRender: PropType<any>;
|
|
40
43
|
isMenuVertical: PropType<boolean>;
|
|
41
44
|
isDirectionRightToLeft: PropType<boolean>;
|
|
45
|
+
size: PropType<import('../MenuProps').MenuSize>;
|
|
46
|
+
isContextMenu: PropType<boolean>;
|
|
42
47
|
menuGuid: PropType<string>;
|
|
43
48
|
originalItemNeeded: PropType<any>;
|
|
44
49
|
}>, {}, {
|
|
@@ -47,16 +52,16 @@ declare const MenuItemInternal: import('vue').DefineComponent<import('vue').Extr
|
|
|
47
52
|
hasItems(): boolean;
|
|
48
53
|
currentItemRender(): any;
|
|
49
54
|
currentLinkRender(): any;
|
|
55
|
+
currentActionsRender(): any;
|
|
50
56
|
contentRender(): any;
|
|
51
57
|
currentOpened(): boolean;
|
|
52
58
|
currentFocused(): boolean;
|
|
53
59
|
popupClassName(): string;
|
|
60
|
+
popupListClassName(): string;
|
|
54
61
|
menuItemClassName(): {
|
|
55
62
|
[x: number]: any;
|
|
56
63
|
'k-item': boolean;
|
|
57
64
|
'k-menu-item': boolean;
|
|
58
|
-
'k-first': boolean;
|
|
59
|
-
'k-last': any;
|
|
60
65
|
'k-disabled': any;
|
|
61
66
|
};
|
|
62
67
|
}, {
|
|
@@ -72,6 +77,7 @@ declare const MenuItemInternal: import('vue').DefineComponent<import('vue').Extr
|
|
|
72
77
|
handleOriginalItemNeeded(event: any): any;
|
|
73
78
|
onMouseOver(event: any): void;
|
|
74
79
|
onMouseLeave(event: any): void;
|
|
80
|
+
handlePopupMouseDown(event: MouseEvent): void;
|
|
75
81
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
76
82
|
keydown: any;
|
|
77
83
|
mouseover: any;
|
|
@@ -87,8 +93,11 @@ declare const MenuItemInternal: import('vue').DefineComponent<import('vue').Extr
|
|
|
87
93
|
tabbableItemId: PropType<string>;
|
|
88
94
|
itemRender: PropType<any>;
|
|
89
95
|
linkRender: PropType<any>;
|
|
96
|
+
actionsRender: PropType<any>;
|
|
90
97
|
isMenuVertical: PropType<boolean>;
|
|
91
98
|
isDirectionRightToLeft: PropType<boolean>;
|
|
99
|
+
size: PropType<import('../MenuProps').MenuSize>;
|
|
100
|
+
isContextMenu: PropType<boolean>;
|
|
92
101
|
menuGuid: PropType<string>;
|
|
93
102
|
originalItemNeeded: PropType<any>;
|
|
94
103
|
}>> & Readonly<{
|
|
@@ -105,6 +114,7 @@ declare const MenuItemInternal: import('vue').DefineComponent<import('vue').Extr
|
|
|
105
114
|
*/
|
|
106
115
|
export interface MenuItemInternalsListProps extends BaseMenuItemInternalProps {
|
|
107
116
|
items: MenuItemInternalModel[];
|
|
117
|
+
role?: string;
|
|
108
118
|
parentItemId?: string;
|
|
109
119
|
}
|
|
110
120
|
/**
|
|
@@ -121,8 +131,12 @@ declare const MenuItemInternalsList: import('vue').DefineComponent<import('vue')
|
|
|
121
131
|
tabbableItemId: PropType<string>;
|
|
122
132
|
itemRender: PropType<any>;
|
|
123
133
|
linkRender: PropType<any>;
|
|
134
|
+
actionsRender: PropType<any>;
|
|
124
135
|
isMenuVertical: PropType<boolean>;
|
|
125
136
|
isDirectionRightToLeft: PropType<boolean>;
|
|
137
|
+
size: PropType<import('../MenuProps').MenuSize>;
|
|
138
|
+
isContextMenu: PropType<boolean>;
|
|
139
|
+
role: PropType<string>;
|
|
126
140
|
menuGuid: PropType<string>;
|
|
127
141
|
originalItemNeeded: PropType<any>;
|
|
128
142
|
}>, {}, {}, {}, {
|
|
@@ -134,8 +148,6 @@ declare const MenuItemInternalsList: import('vue').DefineComponent<import('vue')
|
|
|
134
148
|
handleItemMouseBlur(event: any): void;
|
|
135
149
|
handleItemMouseFocus(event: any): void;
|
|
136
150
|
handleItemMouseClick(event: any, itemId: string): void;
|
|
137
|
-
onMouseOver(event: any): void;
|
|
138
|
-
onMouseLeave(event: any): void;
|
|
139
151
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
140
152
|
keydown: any;
|
|
141
153
|
mouseover: any;
|
|
@@ -155,8 +167,12 @@ declare const MenuItemInternalsList: import('vue').DefineComponent<import('vue')
|
|
|
155
167
|
tabbableItemId: PropType<string>;
|
|
156
168
|
itemRender: PropType<any>;
|
|
157
169
|
linkRender: PropType<any>;
|
|
170
|
+
actionsRender: PropType<any>;
|
|
158
171
|
isMenuVertical: PropType<boolean>;
|
|
159
172
|
isDirectionRightToLeft: PropType<boolean>;
|
|
173
|
+
size: PropType<import('../MenuProps').MenuSize>;
|
|
174
|
+
isContextMenu: PropType<boolean>;
|
|
175
|
+
role: PropType<string>;
|
|
160
176
|
menuGuid: PropType<string>;
|
|
161
177
|
originalItemNeeded: PropType<any>;
|
|
162
178
|
}>> & Readonly<{
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),s=require("@progress/kendo-vue-common"),F=require("@progress/kendo-vue-popup"),h=require("../utils/itemsIdsUtils.js"),u=require("../utils/misc.js"),T=require("./MenuItemLink.js"),S=require("./MenuItemArrow.js"),M=t.defineComponent({name:"KendoMenuItemInternal",emits:{keydown:null,mouseover:null,mouseleave:null,blur:null,focus:null,click:null,mousedown:null},props:{item:Object,focusedItemId:String,lastItemIdToBeOpened:String,tabbableItemId:String,itemRender:[String,Object,Function],linkRender:[String,Object,Function],actionsRender:[String,Object,Function],isMenuVertical:Boolean,isDirectionRightToLeft:Boolean,size:String,isContextMenu:Boolean,menuGuid:String,originalItemNeeded:Function},created(){this.itemElement=null,this.prevFocusedItemId=this.$props.focusedItemId,this.isFirstRender=!0,this._anchor=s.guid()},data(){return{opened:!1}},mounted(){this.itemElement=s.getRef(this,"kendoAnchor");const e=this.$props.focusedItemId,n=this.$props.item.id;e&&e===n&&this.itemElement&&this.itemElement.focus(),this.isFirstRender=!1},watch:{focusedItemId:function(e,n){this.prevFocusedItemId=n}},updated(){const e=this.$props.focusedItemId,n=this.$props.item.id;e?this.prevFocusedItemId!==e&&e===n&&!this.itemElement.contains(document.activeElement)&&this.itemElement.focus():document.activeElement===this.itemElement&&this.itemElement.blur()},computed:{hasItems(){return this.$props.item.items.length>0},currentItemRender(){return this.$props.item.render||this.$props.itemRender},currentLinkRender(){return this.$props.item.linkRender||this.$props.linkRender},currentActionsRender(){return this.$props.item.actionsRender||this.$props.actionsRender},contentRender(){return this.$props.item.contentParentItemId?this.$props.item.contentRender:null},currentOpened(){const e=this.$props;return this.hasItems&&h.shouldOpenItem(e.item.id,e.lastItemIdToBeOpened)&&!this.isFirstRender},currentFocused(){const e=this.$props.focusedItemId,n=this.$props.item.id;return e===n},popupClassName(){return s.classNames({"k-menu-popup":!0,"k-overflow-visible":!0,"k-rtl":this.$props.isDirectionRightToLeft,[this.item.popupClass]:this.item.popupClass})},popupListClassName(){return s.classNames("k-menu-group",this.$props.size&&`k-menu-group-${s.kendoThemeMaps.sizeMap[this.$props.size]}`)},menuItemClassName(){const e=this.$props.item;return{"k-item":!0,"k-menu-item":!0,"k-disabled":e.disabled,[e.cssClass?e.cssClass:""]:e.cssClass}}},render(){const{icon:e,svgIcon:n,id:r,contentParentItemId:a,items:P,text:I,description:$,cssStyle:m,disabled:f,url:R,separator:b,groupHeader:v,cssClass:g}=this.$props.item,i=r,p=u.getDOMElementId(this.$props.menuGuid,i);if(b)return t.createVNode("li",{id:p,class:s.classNames("k-separator","k-item",g),style:m,"aria-hidden":!0,key:i},null);if(v){if(!(!h.isIdZeroLevel(i)||!!this.$props.isContextMenu&&!!this.$props.isMenuVertical))return null;const l=this.$props.item.groupHeaderRender,d=l?s.getTemplate.call(this,{h:t.h,template:l,additionalProps:{item:this.$props.originalItemNeeded(i),itemId:i}}):t.createVNode(t.Fragment,null,[e||n?t.createVNode(s.Icon,{class:"k-menu-link-icon",name:s.getIconName(e),icon:n},null):null,t.createVNode("span",{class:"k-menu-link-text"},[I])]);return t.createVNode("li",{id:p,class:s.classNames("k-menu-group-header",g),style:m,role:"presentation",onMousedown:B=>B.preventDefault(),key:i},[d])}const N=!!f&&(!h.isIdZeroLevel(i)||!!this.$props.isContextMenu),O=function(){const o=a,l=function(d){return s.getTemplate.call(this,{h:t.h,template:this.contentRender,additionalProps:d})};return t.createVNode("div",{class:"k-content",role:"presentation"},[l.call(this,{item:this.handleOriginalItemNeeded(o),itemId:o})])},w=function(){return e||n?t.createVNode(s.Icon,{class:"k-menu-link-icon",name:s.getIconName(e),icon:n},null):null},C=function(){return this.hasItems?t.createVNode(S.MenuItemArrow,{itemId:r,verticalMenu:this.$props.isMenuVertical,dir:u.convertBoolDirectionToString(this.$props.isDirectionRightToLeft),key:"2"},null):null},D=function(){return $&&!this.currentItemRender?t.createVNode("span",{class:"k-menu-link-description",key:"3"},[$]):null},c=this.$props.originalItemNeeded(r),L=function(){const o=s.getTemplate.call(this,{h:t.h,template:this.currentActionsRender,additionalProps:{item:c,itemId:r}});return u.hasRenderableContent(o)?t.createVNode("span",{class:"k-menu-link-actions",key:"4"},[o]):null},y=function(){const o=t.createVNode("span",{class:"k-menu-link-text"},[I]),l=s.getTemplate.call(this,{h:t.h,template:this.currentItemRender,defaultRendering:o,additionalProps:{item:c,itemId:r,key:"1"}}),d=t.createVNode(T.MenuItemLink,{url:R,opened:this.currentOpened,focused:this.currentFocused,disabled:N},{default:()=>[[w.call(this),l,L.call(this),C.call(this),D.call(this)]]});return s.getTemplate.call(this,{h:t.h,template:this.currentLinkRender,defaultRendering:d,additionalProps:{item:c,itemId:r,opened:this.currentOpened,dir:u.convertBoolDirectionToString(this.$props.isDirectionRightToLeft)}})},V=function(){const{anchorAlign:o,popupAlign:l,collision:d}=u.getPopupSettings(i,this.$props.isMenuVertical,this.$props.isDirectionRightToLeft);return t.createVNode(F.Popup,t.mergeProps({anchor:this._anchor,show:this.currentOpened,popupClass:this.popupClassName,anchorAlign:o,popupAlign:l,collision:d,animate:!1},{onMouseover:this.onMouseOver,onMouseleave:this.onMouseLeave,onMousedown:this.handlePopupMouseDown},{key:"1"}),{default:()=>[t.createVNode(k,{parentItemId:i,items:this.$props.item.items,menuGuid:this.$props.menuGuid,focusedItemId:this.$props.focusedItemId,lastItemIdToBeOpened:this.$props.lastItemIdToBeOpened,tabbableItemId:this.$props.tabbableItemId,itemRender:this.$props.itemRender,linkRender:this.$props.linkRender,actionsRender:this.$props.actionsRender,isMenuVertical:this.$props.isMenuVertical,isDirectionRightToLeft:this.$props.isDirectionRightToLeft,size:this.$props.size,isContextMenu:this.$props.isContextMenu,class:this.popupListClassName,onMouseover:this.handleItemMouseOver,onMouseleave:this.handleItemMouseLeave,onMousedown:this.handleMouseDown,onBlur:this.handleItemMouseBlur,onFocus:this.handleItemMouseFocus,onClick:this.handleClick,onKeydown:this.handleKeyDown,originalItemNeeded:this.handleOriginalItemNeeded},null)]})};return t.createVNode("li",{id:p,class:this.menuItemClassName,style:m,tabindex:i===this.$props.tabbableItemId?0:-1,onMouseover:this.onMouseOver,onMouseleave:this.onMouseLeave,onMousedown:o=>this.handleMouseDown(o),onFocusout:()=>this.handleBlur(i),onFocusin:()=>this.handleFocus(i),onClick:o=>this.handleClick(o,i),onKeydown:this.handleKeyDown,role:"menuitem","aria-disabled":f?!0:void 0,"aria-haspopup":this.hasItems?"menu":void 0,"aria-expanded":this.hasItems?this.currentOpened:void 0,"aria-controls":this.currentOpened?u.getDOMPopupListId(this.$props.menuGuid,i):void 0,ref:s.setRef(this,"kendoAnchor"),key:"0"},[this.contentRender?O.call(this):y.call(this),V.call(this)])},methods:{handleKeyDown(e){this.$emit("keydown",e)},handleItemMouseOver(e){this.$emit("mouseover",e)},handleItemMouseLeave(e){this.$emit("mouseleave",e)},handleItemMouseBlur(e){this.$emit("blur",e)},handleItemMouseFocus(e){this.$emit("focus",e)},handleClick(e,n){this.$emit("click",e,n)},handleBlur(e){this.$emit("blur",e)},handleFocus(e){this.$emit("focus",e)},handleMouseDown(e){this.$emit("mousedown",e)},handleOriginalItemNeeded(e){return this.$props.originalItemNeeded(e)},onMouseOver(e){this.$emit("mouseover",this.$props.item.id),e.stopPropagation()},onMouseLeave(e){this.$emit("mouseleave",this.$props.item.id),e.stopPropagation()},handlePopupMouseDown(e){e.target.closest(".k-menu-item, .k-content")||e.preventDefault()}}}),k=t.defineComponent({name:"KendoMenuItemInternalsList",emits:{keydown:null,mouseover:null,mouseleave:null,blur:null,focus:null,click:null,mousedown:null},props:{items:Array,parentItemId:{type:String,default:void 0},focusedItemId:String,lastItemIdToBeOpened:String,tabbableItemId:String,itemRender:[String,Object,Function],linkRender:[String,Object,Function],actionsRender:[String,Object,Function],isMenuVertical:Boolean,isDirectionRightToLeft:Boolean,size:String,isContextMenu:Boolean,role:String,menuGuid:String,originalItemNeeded:Function},render(){const e=this.$props.parentItemId,n=function(){return this.$props.items.length>0?this.$props.items.map(function(r,a){return t.createVNode(M,{item:r,isMenuVertical:this.$props.isMenuVertical,isDirectionRightToLeft:this.$props.isDirectionRightToLeft,size:this.$props.size,isContextMenu:this.$props.isContextMenu,focusedItemId:this.$props.focusedItemId,lastItemIdToBeOpened:this.$props.lastItemIdToBeOpened,tabbableItemId:this.$props.tabbableItemId,itemRender:this.$props.itemRender,linkRender:this.$props.linkRender,actionsRender:this.$props.actionsRender,menuGuid:this.$props.menuGuid,onMouseover:this.handleItemMouseOver,onMouseleave:this.handleItemMouseLeave,onMousedown:this.handleItemMouseDown,onKeydown:this.handleKeyDown,onBlur:this.handleItemMouseBlur,onFocus:this.handleItemMouseFocus,onClick:this.handleItemMouseClick,originalItemNeeded:this.handleOriginalItemNeeded,key:a},null)},this):null};return t.createVNode("ul",{role:this.$props.role||(e!==void 0?"menu":"menubar"),id:e!==void 0?u.getDOMPopupListId(this.$props.menuGuid,e):void 0},[n.call(this)])},methods:{handleKeyDown(e){this.$emit("keydown",e)},handleOriginalItemNeeded(e){return this.$props.originalItemNeeded(e)},handleItemMouseOver(e){this.$emit("mouseover",e)},handleItemMouseLeave(e){this.$emit("mouseleave",e)},handleItemMouseDown(e){this.$emit("mousedown",e)},handleItemMouseBlur(e){this.$emit("blur",e)},handleItemMouseFocus(e){this.$emit("focus",e)},handleItemMouseClick(e,n){this.$emit("click",e,n)}}});exports.MenuItemInternal=M;exports.MenuItemInternalsList=k;
|