@progress/kendo-vue-layout 2.5.1 → 2.5.2
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/dist/cdn/js/kendo-vue-layout.js +1 -1
- package/dist/es/main.d.ts +5 -0
- package/dist/es/main.js +5 -0
- package/dist/es/menu/BaseMenuItemInternalProps.d.ts +20 -0
- package/dist/es/menu/BaseMenuItemInternalProps.js +0 -0
- package/dist/es/menu/MenuProps.d.ts +51 -0
- package/dist/es/menu/MenuProps.js +1 -0
- package/dist/es/menu/components/Menu.d.ts +68 -0
- package/dist/es/menu/components/Menu.js +301 -0
- package/dist/es/menu/components/MenuItemArrow.d.ts +65 -0
- package/dist/es/menu/components/MenuItemArrow.js +59 -0
- package/dist/es/menu/components/MenuItemInternal.d.ts +55 -0
- package/dist/es/menu/components/MenuItemInternal.js +437 -0
- package/dist/es/menu/components/MenuItemInternalsList.d.ts +44 -0
- package/dist/es/menu/components/MenuItemInternalsList.js +147 -0
- package/dist/es/menu/components/MenuItemLink.d.ts +49 -0
- package/dist/es/menu/components/MenuItemLink.js +57 -0
- package/dist/es/menu/consts.d.ts +54 -0
- package/dist/es/menu/consts.js +70 -0
- package/dist/es/menu/events.d.ts +14 -0
- package/dist/es/menu/events.js +1 -0
- package/dist/es/menu/models/BaseMenuItem.d.ts +45 -0
- package/dist/es/menu/models/BaseMenuItem.js +1 -0
- package/dist/es/menu/models/MenuItemModel.d.ts +19 -0
- package/dist/es/menu/models/MenuItemModel.js +0 -0
- package/dist/es/menu/utils/DirectionHolder.d.ts +11 -0
- package/dist/es/menu/utils/DirectionHolder.js +24 -0
- package/dist/es/menu/utils/MouseOverHandler.d.ts +17 -0
- package/dist/es/menu/utils/MouseOverHandler.js +64 -0
- package/dist/es/menu/utils/getNewItemIdUponKeyboardNavigation.d.ts +7 -0
- package/dist/es/menu/utils/getNewItemIdUponKeyboardNavigation.js +202 -0
- package/dist/es/menu/utils/hoverDelay.d.ts +9 -0
- package/dist/es/menu/utils/hoverDelay.js +17 -0
- package/dist/es/menu/utils/itemsIdsUtils.d.ts +64 -0
- package/dist/es/menu/utils/itemsIdsUtils.js +119 -0
- package/dist/es/menu/utils/misc.d.ts +16 -0
- package/dist/es/menu/utils/misc.js +42 -0
- package/dist/es/menu/utils/prepareInputItemsForInternalWork.d.ts +5 -0
- package/dist/es/menu/utils/prepareInputItemsForInternalWork.js +80 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/npm/main.d.ts +5 -0
- package/dist/npm/main.js +5 -0
- package/dist/npm/menu/BaseMenuItemInternalProps.d.ts +20 -0
- package/dist/npm/menu/BaseMenuItemInternalProps.js +2 -0
- package/dist/npm/menu/MenuProps.d.ts +51 -0
- package/dist/npm/menu/MenuProps.js +5 -0
- package/dist/npm/menu/components/Menu.d.ts +68 -0
- package/dist/npm/menu/components/Menu.js +320 -0
- package/dist/npm/menu/components/MenuItemArrow.d.ts +65 -0
- package/dist/npm/menu/components/MenuItemArrow.js +69 -0
- package/dist/npm/menu/components/MenuItemInternal.d.ts +55 -0
- package/dist/npm/menu/components/MenuItemInternal.js +453 -0
- package/dist/npm/menu/components/MenuItemInternalsList.d.ts +44 -0
- package/dist/npm/menu/components/MenuItemInternalsList.js +158 -0
- package/dist/npm/menu/components/MenuItemLink.d.ts +49 -0
- package/dist/npm/menu/components/MenuItemLink.js +67 -0
- package/dist/npm/menu/consts.d.ts +54 -0
- package/dist/npm/menu/consts.js +73 -0
- package/dist/npm/menu/events.d.ts +14 -0
- package/dist/npm/menu/events.js +3 -0
- package/dist/npm/menu/models/BaseMenuItem.d.ts +45 -0
- package/dist/npm/menu/models/BaseMenuItem.js +3 -0
- package/dist/npm/menu/models/MenuItemModel.d.ts +19 -0
- package/dist/npm/menu/models/MenuItemModel.js +2 -0
- package/dist/npm/menu/utils/DirectionHolder.d.ts +11 -0
- package/dist/npm/menu/utils/DirectionHolder.js +27 -0
- package/dist/npm/menu/utils/MouseOverHandler.d.ts +17 -0
- package/dist/npm/menu/utils/MouseOverHandler.js +67 -0
- package/dist/npm/menu/utils/getNewItemIdUponKeyboardNavigation.d.ts +7 -0
- package/dist/npm/menu/utils/getNewItemIdUponKeyboardNavigation.js +206 -0
- package/dist/npm/menu/utils/hoverDelay.d.ts +9 -0
- package/dist/npm/menu/utils/hoverDelay.js +22 -0
- package/dist/npm/menu/utils/itemsIdsUtils.d.ts +64 -0
- package/dist/npm/menu/utils/itemsIdsUtils.js +135 -0
- package/dist/npm/menu/utils/misc.d.ts +16 -0
- package/dist/npm/menu/utils/misc.js +49 -0
- package/dist/npm/menu/utils/prepareInputItemsForInternalWork.d.ts +5 -0
- package/dist/npm/menu/utils/prepareInputItemsForInternalWork.js +84 -0
- package/dist/npm/package-metadata.js +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
var __assign = this && this.__assign || function () {
|
|
2
|
+
__assign = Object.assign || function (t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
|
|
6
|
+
for (var p in s) {
|
|
7
|
+
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
return __assign.apply(this, arguments);
|
|
15
|
+
}; // @ts-ignore
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
import * as Vue from 'vue';
|
|
19
|
+
var allVue = Vue;
|
|
20
|
+
var gh = allVue.h;
|
|
21
|
+
import { templateRendering, getListeners } from '@progress/kendo-vue-common';
|
|
22
|
+
import { Keys, guid, validatePackage } from '@progress/kendo-vue-common';
|
|
23
|
+
import { getDirectParentId, isIdEmptyOrZeroLevel, EMPTY_ID, ZERO_LEVEL_ZERO_ITEM_ID, getRootParentId, getItemById } from '../utils/itemsIdsUtils';
|
|
24
|
+
import { prepareInputItemsForInternalWork } from '../utils/prepareInputItemsForInternalWork';
|
|
25
|
+
import { getNewItemIdUponKeyboardNavigation } from '../utils/getNewItemIdUponKeyboardNavigation';
|
|
26
|
+
import { getHoverOpenDelay, getHoverCloseDelay } from '../utils/hoverDelay';
|
|
27
|
+
import { MenuItemInternalsList } from './MenuItemInternalsList';
|
|
28
|
+
import { DirectionHolder } from '../utils/DirectionHolder';
|
|
29
|
+
import { MouseOverHandler } from '../utils/MouseOverHandler';
|
|
30
|
+
import { packageMetadata } from '../../package-metadata'; // tslint:enable:max-line-length
|
|
31
|
+
|
|
32
|
+
var Menu = {
|
|
33
|
+
name: 'KendoMenu',
|
|
34
|
+
props: {
|
|
35
|
+
vertical: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
default: false
|
|
38
|
+
},
|
|
39
|
+
items: Array,
|
|
40
|
+
dir: String,
|
|
41
|
+
hoverOpenDelay: Number,
|
|
42
|
+
hoverCloseDelay: Number,
|
|
43
|
+
openOnClick: Boolean,
|
|
44
|
+
itemRender: [String, Object, Function],
|
|
45
|
+
linkRender: [String, Object, Function],
|
|
46
|
+
customCloseItemIds: Array
|
|
47
|
+
},
|
|
48
|
+
created: function created() {
|
|
49
|
+
validatePackage(packageMetadata);
|
|
50
|
+
this.mouseOverHandler = new MouseOverHandler(this.$props.openOnClick, this.reset, this.onItemMouseOver); // private itemHoverRequest: any;
|
|
51
|
+
// private itemLeaveRequest: any;
|
|
52
|
+
// private menuWrapperEl: any;
|
|
53
|
+
|
|
54
|
+
this.guid = guid();
|
|
55
|
+
this.directionHolder = new DirectionHolder();
|
|
56
|
+
this.inputItems = [];
|
|
57
|
+
this.currentItems = []; // private mouseOverHandler: MouseOverHandler;
|
|
58
|
+
},
|
|
59
|
+
mounted: function mounted() {
|
|
60
|
+
this.isFirstRender = false;
|
|
61
|
+
},
|
|
62
|
+
updated: function updated() {
|
|
63
|
+
// Reset the Menu upon big UI changes
|
|
64
|
+
// to avoid misleading the user and to
|
|
65
|
+
// keep the component consistent.
|
|
66
|
+
// if (Boolean(prevProps.vertical) !== Boolean(this.$props.vertical) ||
|
|
67
|
+
// this.directionHolder.hasDirectionChanged()) {
|
|
68
|
+
// this.reset();
|
|
69
|
+
// }
|
|
70
|
+
this.mouseOverHandler.OpenOnClick = this.$props.openOnClick;
|
|
71
|
+
},
|
|
72
|
+
destroyed: function destroyed() {
|
|
73
|
+
this.clearItemHoverAndLeaveRequestsIfApplicable();
|
|
74
|
+
},
|
|
75
|
+
data: function data() {
|
|
76
|
+
return {
|
|
77
|
+
focusedItemId: EMPTY_ID,
|
|
78
|
+
hoveredItemId: EMPTY_ID,
|
|
79
|
+
tabbableItemId: ZERO_LEVEL_ZERO_ITEM_ID,
|
|
80
|
+
isFirstRender: true
|
|
81
|
+
};
|
|
82
|
+
},
|
|
83
|
+
computed: {
|
|
84
|
+
menuClassName: function menuClassName() {
|
|
85
|
+
return {
|
|
86
|
+
'k-widget': true,
|
|
87
|
+
'k-reset': true,
|
|
88
|
+
'k-header': true,
|
|
89
|
+
'k-menu': true,
|
|
90
|
+
'k-menu-horizontal': !this.$props.vertical,
|
|
91
|
+
'k-menu-vertical': this.$props.vertical
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
setup: !gh ? undefined : function () {
|
|
97
|
+
var v3 = !!gh;
|
|
98
|
+
return {
|
|
99
|
+
v3: v3
|
|
100
|
+
};
|
|
101
|
+
},
|
|
102
|
+
render: function render(createElement) {
|
|
103
|
+
var _this = this;
|
|
104
|
+
|
|
105
|
+
var h = gh || createElement;
|
|
106
|
+
this.prepareItems();
|
|
107
|
+
|
|
108
|
+
if (!this.isFirstRender) {
|
|
109
|
+
this.directionHolder.setIsDirectionRightToLeft(this.checkIsDirectionRightToLeft());
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
var lastItemIdToBeOpened = this.hoveredItemId ? this.hoveredItemId : this.focusedItemId ? getDirectParentId(this.focusedItemId) : EMPTY_ID;
|
|
113
|
+
return h("div", {
|
|
114
|
+
"class": this.getMenuWrapperClassName(),
|
|
115
|
+
ref: function ref(el) {
|
|
116
|
+
return _this.menuWrapperEl = el;
|
|
117
|
+
}
|
|
118
|
+
}, [// @ts-ignore
|
|
119
|
+
h(MenuItemInternalsList, {
|
|
120
|
+
"class": this.menuClassName,
|
|
121
|
+
"aria-orientation": this.$props.vertical ? 'vertical' : undefined,
|
|
122
|
+
attrs: this.v3 ? undefined : {
|
|
123
|
+
"aria-orientation": this.$props.vertical ? 'vertical' : undefined,
|
|
124
|
+
items: this.currentItems,
|
|
125
|
+
isMenuVertical: this.$props.vertical,
|
|
126
|
+
isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(),
|
|
127
|
+
focusedItemId: this.focusedItemId,
|
|
128
|
+
lastItemIdToBeOpened: lastItemIdToBeOpened,
|
|
129
|
+
tabbableItemId: this.tabbableItemId,
|
|
130
|
+
itemRender: templateRendering.call(this, this.$props.itemRender, getListeners.call(this)),
|
|
131
|
+
linkRender: templateRendering.call(this, this.$props.linkRender, getListeners.call(this)),
|
|
132
|
+
menuGuid: this.guid,
|
|
133
|
+
originalItemNeeded: this.getInputItem
|
|
134
|
+
},
|
|
135
|
+
items: this.currentItems,
|
|
136
|
+
isMenuVertical: this.$props.vertical,
|
|
137
|
+
isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(),
|
|
138
|
+
focusedItemId: this.focusedItemId,
|
|
139
|
+
lastItemIdToBeOpened: lastItemIdToBeOpened,
|
|
140
|
+
tabbableItemId: this.tabbableItemId,
|
|
141
|
+
itemRender: templateRendering.call(this, this.$props.itemRender, getListeners.call(this)),
|
|
142
|
+
linkRender: templateRendering.call(this, this.$props.linkRender, getListeners.call(this)),
|
|
143
|
+
menuGuid: this.guid,
|
|
144
|
+
onMouseleave: this.onItemMouseLeave,
|
|
145
|
+
on: this.v3 ? undefined : {
|
|
146
|
+
"mouseleave": this.onItemMouseLeave,
|
|
147
|
+
"mouseover": this.onItemMouseOver,
|
|
148
|
+
"mousedown": this.onItemMouseDown,
|
|
149
|
+
"keydown": this.onKeyDown,
|
|
150
|
+
"focus": this.onItemFocus,
|
|
151
|
+
"click": this.onItemClick,
|
|
152
|
+
"blur": this.onItemBlur
|
|
153
|
+
},
|
|
154
|
+
onMouseover: this.onItemMouseOver,
|
|
155
|
+
onMousedown: this.onItemMouseDown,
|
|
156
|
+
onKeydown: this.onKeyDown,
|
|
157
|
+
onFocus: this.onItemFocus,
|
|
158
|
+
onClick: this.onItemClick,
|
|
159
|
+
onBlur: this.onItemBlur,
|
|
160
|
+
originalItemNeeded: this.getInputItem
|
|
161
|
+
})]);
|
|
162
|
+
},
|
|
163
|
+
methods: {
|
|
164
|
+
reset: function reset() {
|
|
165
|
+
this.clearItemHoverAndLeaveRequestsIfApplicable();
|
|
166
|
+
this.focusedItemId = EMPTY_ID;
|
|
167
|
+
this.hoveredItemId = EMPTY_ID;
|
|
168
|
+
this.tabbableItemId = ZERO_LEVEL_ZERO_ITEM_ID;
|
|
169
|
+
},
|
|
170
|
+
onKeyDown: function onKeyDown(event) {
|
|
171
|
+
// The focusedItemId may be empty when contentRender is used.
|
|
172
|
+
// For example, content with input.
|
|
173
|
+
if (this.focusedItemId !== EMPTY_ID) {
|
|
174
|
+
var currentItem = getItemById(this.focusedItemId, this.currentItems);
|
|
175
|
+
var newItemId = getNewItemIdUponKeyboardNavigation(this.currentItems, currentItem.id, event.keyCode, event.key, this.$props.vertical, this.directionHolder.getIsDirectionRightToLeft());
|
|
176
|
+
|
|
177
|
+
if (currentItem.id !== newItemId) {
|
|
178
|
+
event.preventDefault();
|
|
179
|
+
this.setFocusedItemId(newItemId);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
if ((event.keyCode === Keys.enter || event.keyCode === Keys.space) && !currentItem.disabled) {
|
|
183
|
+
this.mouseOverHandler.handleItemSelectedViaKeyboard();
|
|
184
|
+
this.dispatchSelectEventIfWired(event, currentItem.id);
|
|
185
|
+
|
|
186
|
+
if (!event.defaultPrevented && currentItem.items.length === 0 && currentItem.url) {
|
|
187
|
+
window.location.assign(currentItem.url);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
onItemMouseOver: function onItemMouseOver(itemId) {
|
|
193
|
+
if (this.mouseOverHandler.IsMouseOverEnabled) {
|
|
194
|
+
// The `over` event can get fired even without actually leaving the item.
|
|
195
|
+
// For example, move the mouse little by little over the item content.
|
|
196
|
+
this.clearItemHoverAndLeaveRequestsIfApplicable();
|
|
197
|
+
var that_1 = this;
|
|
198
|
+
this.itemHoverRequest = window.setTimeout(function () {
|
|
199
|
+
that_1.setHoveredItemId(itemId);
|
|
200
|
+
that_1.itemHoverRequest = null;
|
|
201
|
+
}, getHoverOpenDelay(__assign({}, this.$props)));
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
onItemMouseLeave: function onItemMouseLeave(itemId) {
|
|
205
|
+
if (this.mouseOverHandler.IsMouseOverEnabled && this.isItemWithDefaultClose(itemId)) {
|
|
206
|
+
// Both the `leave` and `hover` requests are cleared
|
|
207
|
+
// to be defensive and consistent with the `over` handler.
|
|
208
|
+
this.clearItemHoverAndLeaveRequestsIfApplicable();
|
|
209
|
+
var that_2 = this;
|
|
210
|
+
this.itemLeaveRequest = window.setTimeout(function () {
|
|
211
|
+
that_2.setHoveredItemId(EMPTY_ID);
|
|
212
|
+
that_2.itemLeaveRequest = null;
|
|
213
|
+
}, getHoverCloseDelay(__assign({}, this.$props)));
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
onItemMouseDown: function onItemMouseDown() {
|
|
217
|
+
this.mouseOverHandler.handleItemMouseDown();
|
|
218
|
+
},
|
|
219
|
+
onItemFocus: function onItemFocus(itemId) {
|
|
220
|
+
this.setFocusedItemId(itemId);
|
|
221
|
+
this.mouseOverHandler.handleItemFocus();
|
|
222
|
+
},
|
|
223
|
+
onItemClick: function onItemClick(event, itemId) {
|
|
224
|
+
var item = getItemById(itemId, this.currentItems);
|
|
225
|
+
|
|
226
|
+
if (!item.disabled) {
|
|
227
|
+
this.setFocusedItemId(itemId);
|
|
228
|
+
this.mouseOverHandler.handleItemClick(itemId, this.isItemWithDefaultClose(itemId));
|
|
229
|
+
this.dispatchSelectEventIfWired(event, itemId);
|
|
230
|
+
|
|
231
|
+
if (!event.defaultPrevented && item.url) {
|
|
232
|
+
window.location.assign(item.url);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
onItemBlur: function onItemBlur(itemId) {
|
|
237
|
+
if (this.isItemWithDefaultClose(itemId)) {
|
|
238
|
+
this.setFocusedItemId(EMPTY_ID);
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
getInputItem: function getInputItem(itemId) {
|
|
242
|
+
return getItemById(itemId, this.inputItems);
|
|
243
|
+
},
|
|
244
|
+
setFocusedItemId: function setFocusedItemId(focusedItemId) {
|
|
245
|
+
var tabbableItemId = focusedItemId === EMPTY_ID ? this.tabbableItemId : getRootParentId(focusedItemId);
|
|
246
|
+
var hoveredItemId = focusedItemId === EMPTY_ID || isIdEmptyOrZeroLevel(this.hoveredItemId) && isIdEmptyOrZeroLevel(focusedItemId) ? this.hoveredItemId : EMPTY_ID;
|
|
247
|
+
this.hoveredItemId = hoveredItemId;
|
|
248
|
+
this.focusedItemId = focusedItemId;
|
|
249
|
+
this.tabbableItemId = tabbableItemId;
|
|
250
|
+
},
|
|
251
|
+
setHoveredItemId: function setHoveredItemId(hoveredItemId) {
|
|
252
|
+
if (isIdEmptyOrZeroLevel(hoveredItemId) && isIdEmptyOrZeroLevel(this.focusedItemId)) {
|
|
253
|
+
this.hoveredItemId = hoveredItemId;
|
|
254
|
+
} else {
|
|
255
|
+
this.hoveredItemId = hoveredItemId;
|
|
256
|
+
this.focusedItemId = EMPTY_ID;
|
|
257
|
+
this.tabbableItemId = ZERO_LEVEL_ZERO_ITEM_ID;
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
getMenuWrapperClassName: function getMenuWrapperClassName() {
|
|
261
|
+
return {
|
|
262
|
+
'k-rtl': this.directionHolder.getIsDirectionRightToLeft()
|
|
263
|
+
};
|
|
264
|
+
},
|
|
265
|
+
clearItemHoverAndLeaveRequestsIfApplicable: function clearItemHoverAndLeaveRequestsIfApplicable() {
|
|
266
|
+
if (this.itemHoverRequest) {
|
|
267
|
+
clearTimeout(this.itemHoverRequest);
|
|
268
|
+
this.itemHoverRequest = null;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
if (this.itemLeaveRequest) {
|
|
272
|
+
clearTimeout(this.itemLeaveRequest);
|
|
273
|
+
this.itemLeaveRequest = null;
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
isItemWithDefaultClose: function isItemWithDefaultClose(itemId) {
|
|
277
|
+
return !this.$props.customCloseItemIds || this.$props.customCloseItemIds.indexOf(itemId) === -1;
|
|
278
|
+
},
|
|
279
|
+
checkIsDirectionRightToLeft: function checkIsDirectionRightToLeft() {
|
|
280
|
+
return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.menuWrapperEl && getComputedStyle(this.menuWrapperEl).direction === 'rtl';
|
|
281
|
+
},
|
|
282
|
+
prepareItems: function prepareItems() {
|
|
283
|
+
var _a = prepareInputItemsForInternalWork.call(this, this.$props.items),
|
|
284
|
+
items = _a.items,
|
|
285
|
+
inputItems = _a.inputItems;
|
|
286
|
+
|
|
287
|
+
this.currentItems = items;
|
|
288
|
+
this.inputItems = inputItems;
|
|
289
|
+
},
|
|
290
|
+
dispatchSelectEventIfWired: function dispatchSelectEventIfWired(event, itemId) {
|
|
291
|
+
this.$emit('select', {
|
|
292
|
+
event: event,
|
|
293
|
+
compontent: this,
|
|
294
|
+
item: this.getInputItem(itemId),
|
|
295
|
+
itemId: itemId
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
var MenuVue3 = Menu;
|
|
301
|
+
export { Menu, MenuVue3 };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { DefineComponent } from '../../additionalTypes';
|
|
2
|
+
import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
|
|
3
|
+
declare type DefaultData<V> = object | ((this: V) => {});
|
|
4
|
+
declare type DefaultMethods<V> = {
|
|
5
|
+
[key: string]: (this: V, ...args: any[]) => any;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* The properties of the Kendo UI for Vue MenuItemArrow component.
|
|
9
|
+
*/
|
|
10
|
+
export interface MenuItemArrowProps {
|
|
11
|
+
/**
|
|
12
|
+
* Sets the item id of the MenuItemArrow component.
|
|
13
|
+
*/
|
|
14
|
+
itemId: string;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the direction of the MenuItemArrow component.
|
|
17
|
+
*/
|
|
18
|
+
dir: 'ltr' | 'rtl' | string;
|
|
19
|
+
/**
|
|
20
|
+
* Specifies whether the Menu which holds the MenuItemArrow component is vertical.
|
|
21
|
+
*/
|
|
22
|
+
verticalMenu?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @hidden
|
|
26
|
+
*/
|
|
27
|
+
export declare const downArrowClass = "k-i-arrow-60-down";
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
export declare const rightArrowClass = "k-i-arrow-60-right";
|
|
32
|
+
/**
|
|
33
|
+
* @hidden
|
|
34
|
+
*/
|
|
35
|
+
export declare const leftArrowClass = "k-i-arrow-60-left";
|
|
36
|
+
/**
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
39
|
+
export interface MenuItemArrowState {
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @hidden
|
|
43
|
+
*/
|
|
44
|
+
export interface MenuItemArrowComputed {
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @hidden
|
|
48
|
+
*/
|
|
49
|
+
export interface MenuItemArrowMethods {
|
|
50
|
+
[key: string]: any;
|
|
51
|
+
getArrowClassName: () => object;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @hidden
|
|
55
|
+
*/
|
|
56
|
+
export interface MenuItemArrowData {
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @hidden
|
|
60
|
+
*/
|
|
61
|
+
export interface MenuItemArrowAll extends Vue, MenuItemArrowMethods, MenuItemArrowData, MenuItemArrowComputed, MenuItemArrowState {
|
|
62
|
+
}
|
|
63
|
+
declare let MenuItemArrow: ComponentOptions<MenuItemArrowAll, DefaultData<MenuItemArrowData>, DefaultMethods<MenuItemArrowAll>, MenuItemArrowComputed, RecordPropsDefinition<MenuItemArrowProps>>;
|
|
64
|
+
declare const MenuItemArrowVue3: DefineComponent<MenuItemArrowProps, any, MenuItemArrowData, MenuItemArrowComputed, MenuItemArrowMethods, {}, {}, {}, string, MenuItemArrowProps, MenuItemArrowProps, {}>;
|
|
65
|
+
export { MenuItemArrow, MenuItemArrowVue3 };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// @ts-ignore
|
|
2
|
+
import * as Vue from 'vue';
|
|
3
|
+
var allVue = Vue;
|
|
4
|
+
var gh = allVue.h;
|
|
5
|
+
import { getChildrenPosition } from '../utils/misc';
|
|
6
|
+
/**
|
|
7
|
+
* @hidden
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export var downArrowClass = 'k-i-arrow-60-down';
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export var rightArrowClass = 'k-i-arrow-60-right';
|
|
16
|
+
/**
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
export var leftArrowClass = 'k-i-arrow-60-left'; // tslint:enable:max-line-length
|
|
21
|
+
|
|
22
|
+
var MenuItemArrow = {
|
|
23
|
+
name: 'KendoMenuItemArrow',
|
|
24
|
+
props: {
|
|
25
|
+
itemId: String,
|
|
26
|
+
dir: String,
|
|
27
|
+
verticalMenu: Boolean
|
|
28
|
+
},
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
setup: !gh ? undefined : function () {
|
|
31
|
+
var v3 = !!gh;
|
|
32
|
+
return {
|
|
33
|
+
v3: v3
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
render: function render(createElement) {
|
|
37
|
+
var h = gh || createElement;
|
|
38
|
+
return h("span", {
|
|
39
|
+
"class": this.getArrowClassName(),
|
|
40
|
+
role: "presentation",
|
|
41
|
+
attrs: this.v3 ? undefined : {
|
|
42
|
+
role: "presentation"
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
methods: {
|
|
47
|
+
getArrowClassName: function getArrowClassName() {
|
|
48
|
+
var _a;
|
|
49
|
+
|
|
50
|
+
var childrenPosition = getChildrenPosition(this.$props.itemId, this.$props.verticalMenu === true, this.$props.dir === 'rtl');
|
|
51
|
+
return _a = {
|
|
52
|
+
'k-icon': true,
|
|
53
|
+
'k-menu-expand-arrow': true
|
|
54
|
+
}, _a[downArrowClass] = childrenPosition === 'downward', _a[rightArrowClass] = childrenPosition === 'rightward', _a[leftArrowClass] = childrenPosition === 'leftward', _a;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
var MenuItemArrowVue3 = MenuItemArrow;
|
|
59
|
+
export { MenuItemArrow, MenuItemArrowVue3 };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { DefineComponent } from '../../additionalTypes';
|
|
2
|
+
import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
|
|
3
|
+
declare type DefaultData<V> = object | ((this: V) => {});
|
|
4
|
+
declare type DefaultMethods<V> = {
|
|
5
|
+
[key: string]: (this: V, ...args: any[]) => any;
|
|
6
|
+
};
|
|
7
|
+
import { MenuItemInternalModel } from '../models/MenuItemModel';
|
|
8
|
+
import { BaseMenuItemInternalProps } from './../BaseMenuItemInternalProps';
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export interface MenuItemInternalProps extends BaseMenuItemInternalProps {
|
|
13
|
+
item: MenuItemInternalModel;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
*/
|
|
18
|
+
export interface MenuItemInternalState {
|
|
19
|
+
itemElement: any;
|
|
20
|
+
isFirstRender: boolean;
|
|
21
|
+
prevFocusedItemId?: string;
|
|
22
|
+
kendoAnchorRef: any;
|
|
23
|
+
_anchor: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @hidden
|
|
27
|
+
*/
|
|
28
|
+
export interface MenuItemInternalComputed {
|
|
29
|
+
currentItemRender: any;
|
|
30
|
+
currentLinkRender: any;
|
|
31
|
+
contentRender: any;
|
|
32
|
+
currentOpened: boolean;
|
|
33
|
+
popupClassName: string;
|
|
34
|
+
menuItemClassName: object;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
39
|
+
export interface MenuItemInternalMethods {
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @hidden
|
|
44
|
+
*/
|
|
45
|
+
export interface MenuItemInternalData {
|
|
46
|
+
opened: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @hidden
|
|
50
|
+
*/
|
|
51
|
+
export interface MenuItemInternalAll extends Vue, MenuItemInternalMethods, MenuItemInternalData, MenuItemInternalComputed, MenuItemInternalState {
|
|
52
|
+
}
|
|
53
|
+
declare let MenuItemInternal: ComponentOptions<MenuItemInternalAll, DefaultData<MenuItemInternalData>, DefaultMethods<MenuItemInternalAll>, MenuItemInternalComputed, RecordPropsDefinition<MenuItemInternalProps>>;
|
|
54
|
+
declare const MenuItemInternalVue3: DefineComponent<MenuItemInternalProps, any, MenuItemInternalData, MenuItemInternalComputed, MenuItemInternalMethods, {}, {}, {}, string, MenuItemInternalProps, MenuItemInternalProps, {}>;
|
|
55
|
+
export { MenuItemInternal, MenuItemInternalVue3 };
|