@progress/kendo-vue-layout 10.2.0-develop.4 → 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
|
@@ -13,7 +13,7 @@ import { MenuProps } from '../menu/MenuProps';
|
|
|
13
13
|
/**
|
|
14
14
|
* Represents the props of the ContextMenu component.
|
|
15
15
|
*/
|
|
16
|
-
export interface ContextMenuProps extends Omit<MenuProps, 'openOnClick' | 'hoverOpenDelay' | 'hoverCloseDelay'> {
|
|
16
|
+
export interface ContextMenuProps extends Omit<MenuProps, 'openOnClick' | 'hoverOpenDelay' | 'hoverCloseDelay' | 'contextMenu'> {
|
|
17
17
|
/**
|
|
18
18
|
* Controls the visibility of the ContextMenu.
|
|
19
19
|
*/
|
|
@@ -39,6 +39,10 @@ declare const ContextMenu: import('vue').DefineComponent<import('vue').ExtractPr
|
|
|
39
39
|
top: number;
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
|
+
vertical: {
|
|
43
|
+
type: PropType<boolean>;
|
|
44
|
+
default: boolean;
|
|
45
|
+
};
|
|
42
46
|
items: {
|
|
43
47
|
type: PropType<MenuItemModel[]>;
|
|
44
48
|
default: any;
|
|
@@ -46,10 +50,13 @@ declare const ContextMenu: import('vue').DefineComponent<import('vue').ExtractPr
|
|
|
46
50
|
dir: PropType<string>;
|
|
47
51
|
itemRender: PropType<any>;
|
|
48
52
|
linkRender: PropType<any>;
|
|
53
|
+
actionsRender: PropType<any>;
|
|
49
54
|
customCloseItemIds: PropType<string[]>;
|
|
55
|
+
size: PropType<import('../menu/MenuProps').MenuSize>;
|
|
50
56
|
className: PropType<string>;
|
|
51
57
|
}>, {}, {
|
|
52
58
|
visible: boolean;
|
|
59
|
+
lastItems: MenuItemModel[];
|
|
53
60
|
}, {}, {
|
|
54
61
|
handleClose(): void;
|
|
55
62
|
handleSelect(event: MenuSelectEvent): void;
|
|
@@ -66,6 +73,10 @@ declare const ContextMenu: import('vue').DefineComponent<import('vue').ExtractPr
|
|
|
66
73
|
top: number;
|
|
67
74
|
};
|
|
68
75
|
};
|
|
76
|
+
vertical: {
|
|
77
|
+
type: PropType<boolean>;
|
|
78
|
+
default: boolean;
|
|
79
|
+
};
|
|
69
80
|
items: {
|
|
70
81
|
type: PropType<MenuItemModel[]>;
|
|
71
82
|
default: any;
|
|
@@ -73,12 +84,15 @@ declare const ContextMenu: import('vue').DefineComponent<import('vue').ExtractPr
|
|
|
73
84
|
dir: PropType<string>;
|
|
74
85
|
itemRender: PropType<any>;
|
|
75
86
|
linkRender: PropType<any>;
|
|
87
|
+
actionsRender: PropType<any>;
|
|
76
88
|
customCloseItemIds: PropType<string[]>;
|
|
89
|
+
size: PropType<import('../menu/MenuProps').MenuSize>;
|
|
77
90
|
className: PropType<string>;
|
|
78
91
|
}>> & Readonly<{
|
|
79
92
|
onSelect?: (...args: any[]) => any;
|
|
80
93
|
onClose?: (...args: any[]) => any;
|
|
81
94
|
}>, {
|
|
95
|
+
vertical: boolean;
|
|
82
96
|
items: MenuItemModel[];
|
|
83
97
|
show: boolean;
|
|
84
98
|
offset: Offset;
|
|
@@ -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"),r=require("@progress/kendo-vue-common"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),r=require("@progress/kendo-vue-common"),l=require("@progress/kendo-vue-popup"),c=require("../menu/components/Menu.js"),u=o.defineComponent({name:"KendoContextMenu",props:{show:{type:Boolean,default:!1},offset:{type:Object,default:()=>({left:0,top:0})},vertical:{type:Boolean,default:!0},items:{type:Array,default:void 0},dir:String,itemRender:[String,Object,Function],linkRender:[String,Object,Function],actionsRender:[String,Object,Function],customCloseItemIds:Array,size:String,className:String},emits:["close","select"],data(){return{visible:this.show,lastItems:this.items}},watch:{items(e){e!=null&&e.length&&(this.lastItems=e)},show(e){this.visible=e,r.canUseDOM&&(e?(o.nextTick(()=>{var n;const t=(n=this.$refs.popupRef)==null?void 0:n.$el,s=t==null?void 0:t.querySelector('[role="menuitem"]'),i=r.getActiveElement(t==null?void 0:t.ownerDocument);s&&s!==i&&s.focus()}),document.addEventListener("mousedown",this.handleClickOutside)):document.removeEventListener("mousedown",this.handleClickOutside))}},unmounted(){r.canUseDOM&&document.removeEventListener("mousedown",this.handleClickOutside)},methods:{handleClose(){this.$emit("close")},handleSelect(e){this.$emit("select",e)},handleClickOutside(e){var i,n;const t=(i=this.$refs.popupRef)==null?void 0:i.$el,s=e.target;if(t&&!t.contains(s)){if((n=s.closest)!=null&&n.call(s,".k-menu-popup"))return;this.handleClose()}}},render(){var s,i;const e=this.visible&&((s=this.$props.items)==null?void 0:s.length),t=(i=this.$props.items)!=null&&i.length?this.$props.items:this.lastItems;return o.createVNode(l.Popup,{ref:"popupRef",show:!!e,offset:this.$props.offset,popupClass:"k-menu-popup k-overflow-visible"},{default:()=>[o.createVNode(c.Menu,{vertical:this.$props.vertical,items:t,dir:this.$props.dir,itemRender:this.$props.itemRender,linkRender:this.$props.linkRender,actionsRender:this.$props.actionsRender,customCloseItemIds:this.$props.customCloseItemIds,size:this.$props.size,contextMenu:!0,className:this.$props.className,onSelect:this.handleSelect},this.$slots)]})}});exports.ContextMenu=u;
|
|
@@ -5,14 +5,11 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as l, createVNode as
|
|
9
|
-
import {
|
|
10
|
-
import { Popup as
|
|
11
|
-
import { Menu as
|
|
12
|
-
|
|
13
|
-
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !d(e);
|
|
14
|
-
}
|
|
15
|
-
const C = /* @__PURE__ */ l({
|
|
8
|
+
import { defineComponent as l, createVNode as n, nextTick as c } from "vue";
|
|
9
|
+
import { canUseDOM as r, getActiveElement as p } from "@progress/kendo-vue-common";
|
|
10
|
+
import { Popup as m } from "@progress/kendo-vue-popup";
|
|
11
|
+
import { Menu as d } from "../menu/components/Menu.mjs";
|
|
12
|
+
const $ = /* @__PURE__ */ l({
|
|
16
13
|
name: "KendoContextMenu",
|
|
17
14
|
props: {
|
|
18
15
|
show: {
|
|
@@ -26,6 +23,10 @@ const C = /* @__PURE__ */ l({
|
|
|
26
23
|
top: 0
|
|
27
24
|
})
|
|
28
25
|
},
|
|
26
|
+
vertical: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: !0
|
|
29
|
+
},
|
|
29
30
|
items: {
|
|
30
31
|
type: Array,
|
|
31
32
|
default: void 0
|
|
@@ -33,21 +34,27 @@ const C = /* @__PURE__ */ l({
|
|
|
33
34
|
dir: String,
|
|
34
35
|
itemRender: [String, Object, Function],
|
|
35
36
|
linkRender: [String, Object, Function],
|
|
37
|
+
actionsRender: [String, Object, Function],
|
|
36
38
|
customCloseItemIds: Array,
|
|
39
|
+
size: String,
|
|
37
40
|
className: String
|
|
38
41
|
},
|
|
39
42
|
emits: ["close", "select"],
|
|
40
43
|
data() {
|
|
41
44
|
return {
|
|
42
|
-
visible: this.show
|
|
45
|
+
visible: this.show,
|
|
46
|
+
lastItems: this.items
|
|
43
47
|
};
|
|
44
48
|
},
|
|
45
49
|
watch: {
|
|
50
|
+
items(e) {
|
|
51
|
+
e != null && e.length && (this.lastItems = e);
|
|
52
|
+
},
|
|
46
53
|
show(e) {
|
|
47
54
|
this.visible = e, r && (e ? (c(() => {
|
|
48
55
|
var o;
|
|
49
|
-
const t = (o = this.$refs.popupRef) == null ? void 0 : o.$el, s = t == null ? void 0 : t.querySelector("
|
|
50
|
-
s && s !==
|
|
56
|
+
const t = (o = this.$refs.popupRef) == null ? void 0 : o.$el, s = t == null ? void 0 : t.querySelector('[role="menuitem"]'), i = p(t == null ? void 0 : t.ownerDocument);
|
|
57
|
+
s && s !== i && s.focus();
|
|
51
58
|
}), document.addEventListener("mousedown", this.handleClickOutside)) : document.removeEventListener("mousedown", this.handleClickOutside));
|
|
52
59
|
}
|
|
53
60
|
},
|
|
@@ -62,40 +69,40 @@ const C = /* @__PURE__ */ l({
|
|
|
62
69
|
this.$emit("select", e);
|
|
63
70
|
},
|
|
64
71
|
handleClickOutside(e) {
|
|
65
|
-
var
|
|
66
|
-
const t = (
|
|
72
|
+
var i, o;
|
|
73
|
+
const t = (i = this.$refs.popupRef) == null ? void 0 : i.$el, s = e.target;
|
|
67
74
|
if (t && !t.contains(s)) {
|
|
68
|
-
if ((o = s.closest) != null && o.call(s, ".k-menu-
|
|
75
|
+
if ((o = s.closest) != null && o.call(s, ".k-menu-popup"))
|
|
69
76
|
return;
|
|
70
77
|
this.handleClose();
|
|
71
78
|
}
|
|
72
79
|
}
|
|
73
80
|
},
|
|
74
81
|
render() {
|
|
75
|
-
var s;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return i(p, {
|
|
82
|
+
var s, i;
|
|
83
|
+
const e = this.visible && ((s = this.$props.items) == null ? void 0 : s.length), t = (i = this.$props.items) != null && i.length ? this.$props.items : this.lastItems;
|
|
84
|
+
return n(m, {
|
|
79
85
|
ref: "popupRef",
|
|
80
|
-
show: !!
|
|
86
|
+
show: !!e,
|
|
81
87
|
offset: this.$props.offset,
|
|
82
88
|
popupClass: "k-menu-popup k-overflow-visible"
|
|
83
89
|
}, {
|
|
84
|
-
default: () => [
|
|
85
|
-
vertical:
|
|
86
|
-
items:
|
|
90
|
+
default: () => [n(d, {
|
|
91
|
+
vertical: this.$props.vertical,
|
|
92
|
+
items: t,
|
|
87
93
|
dir: this.$props.dir,
|
|
88
94
|
itemRender: this.$props.itemRender,
|
|
89
95
|
linkRender: this.$props.linkRender,
|
|
96
|
+
actionsRender: this.$props.actionsRender,
|
|
90
97
|
customCloseItemIds: this.$props.customCloseItemIds,
|
|
91
|
-
|
|
98
|
+
size: this.$props.size,
|
|
99
|
+
contextMenu: !0,
|
|
100
|
+
className: this.$props.className,
|
|
92
101
|
onSelect: this.handleSelect
|
|
93
|
-
},
|
|
94
|
-
default: () => [e]
|
|
95
|
-
}) : void 0]
|
|
102
|
+
}, this.$slots)]
|
|
96
103
|
});
|
|
97
104
|
}
|
|
98
105
|
});
|
|
99
106
|
export {
|
|
100
|
-
|
|
107
|
+
$ as ContextMenu
|
|
101
108
|
};
|