@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.
Files changed (80) hide show
  1. package/dist/cdn/js/kendo-vue-layout.js +1 -1
  2. package/dist/es/main.d.ts +5 -0
  3. package/dist/es/main.js +5 -0
  4. package/dist/es/menu/BaseMenuItemInternalProps.d.ts +20 -0
  5. package/dist/es/menu/BaseMenuItemInternalProps.js +0 -0
  6. package/dist/es/menu/MenuProps.d.ts +51 -0
  7. package/dist/es/menu/MenuProps.js +1 -0
  8. package/dist/es/menu/components/Menu.d.ts +68 -0
  9. package/dist/es/menu/components/Menu.js +301 -0
  10. package/dist/es/menu/components/MenuItemArrow.d.ts +65 -0
  11. package/dist/es/menu/components/MenuItemArrow.js +59 -0
  12. package/dist/es/menu/components/MenuItemInternal.d.ts +55 -0
  13. package/dist/es/menu/components/MenuItemInternal.js +437 -0
  14. package/dist/es/menu/components/MenuItemInternalsList.d.ts +44 -0
  15. package/dist/es/menu/components/MenuItemInternalsList.js +147 -0
  16. package/dist/es/menu/components/MenuItemLink.d.ts +49 -0
  17. package/dist/es/menu/components/MenuItemLink.js +57 -0
  18. package/dist/es/menu/consts.d.ts +54 -0
  19. package/dist/es/menu/consts.js +70 -0
  20. package/dist/es/menu/events.d.ts +14 -0
  21. package/dist/es/menu/events.js +1 -0
  22. package/dist/es/menu/models/BaseMenuItem.d.ts +45 -0
  23. package/dist/es/menu/models/BaseMenuItem.js +1 -0
  24. package/dist/es/menu/models/MenuItemModel.d.ts +19 -0
  25. package/dist/es/menu/models/MenuItemModel.js +0 -0
  26. package/dist/es/menu/utils/DirectionHolder.d.ts +11 -0
  27. package/dist/es/menu/utils/DirectionHolder.js +24 -0
  28. package/dist/es/menu/utils/MouseOverHandler.d.ts +17 -0
  29. package/dist/es/menu/utils/MouseOverHandler.js +64 -0
  30. package/dist/es/menu/utils/getNewItemIdUponKeyboardNavigation.d.ts +7 -0
  31. package/dist/es/menu/utils/getNewItemIdUponKeyboardNavigation.js +202 -0
  32. package/dist/es/menu/utils/hoverDelay.d.ts +9 -0
  33. package/dist/es/menu/utils/hoverDelay.js +17 -0
  34. package/dist/es/menu/utils/itemsIdsUtils.d.ts +64 -0
  35. package/dist/es/menu/utils/itemsIdsUtils.js +119 -0
  36. package/dist/es/menu/utils/misc.d.ts +16 -0
  37. package/dist/es/menu/utils/misc.js +42 -0
  38. package/dist/es/menu/utils/prepareInputItemsForInternalWork.d.ts +5 -0
  39. package/dist/es/menu/utils/prepareInputItemsForInternalWork.js +80 -0
  40. package/dist/es/package-metadata.js +1 -1
  41. package/dist/npm/main.d.ts +5 -0
  42. package/dist/npm/main.js +5 -0
  43. package/dist/npm/menu/BaseMenuItemInternalProps.d.ts +20 -0
  44. package/dist/npm/menu/BaseMenuItemInternalProps.js +2 -0
  45. package/dist/npm/menu/MenuProps.d.ts +51 -0
  46. package/dist/npm/menu/MenuProps.js +5 -0
  47. package/dist/npm/menu/components/Menu.d.ts +68 -0
  48. package/dist/npm/menu/components/Menu.js +320 -0
  49. package/dist/npm/menu/components/MenuItemArrow.d.ts +65 -0
  50. package/dist/npm/menu/components/MenuItemArrow.js +69 -0
  51. package/dist/npm/menu/components/MenuItemInternal.d.ts +55 -0
  52. package/dist/npm/menu/components/MenuItemInternal.js +453 -0
  53. package/dist/npm/menu/components/MenuItemInternalsList.d.ts +44 -0
  54. package/dist/npm/menu/components/MenuItemInternalsList.js +158 -0
  55. package/dist/npm/menu/components/MenuItemLink.d.ts +49 -0
  56. package/dist/npm/menu/components/MenuItemLink.js +67 -0
  57. package/dist/npm/menu/consts.d.ts +54 -0
  58. package/dist/npm/menu/consts.js +73 -0
  59. package/dist/npm/menu/events.d.ts +14 -0
  60. package/dist/npm/menu/events.js +3 -0
  61. package/dist/npm/menu/models/BaseMenuItem.d.ts +45 -0
  62. package/dist/npm/menu/models/BaseMenuItem.js +3 -0
  63. package/dist/npm/menu/models/MenuItemModel.d.ts +19 -0
  64. package/dist/npm/menu/models/MenuItemModel.js +2 -0
  65. package/dist/npm/menu/utils/DirectionHolder.d.ts +11 -0
  66. package/dist/npm/menu/utils/DirectionHolder.js +27 -0
  67. package/dist/npm/menu/utils/MouseOverHandler.d.ts +17 -0
  68. package/dist/npm/menu/utils/MouseOverHandler.js +67 -0
  69. package/dist/npm/menu/utils/getNewItemIdUponKeyboardNavigation.d.ts +7 -0
  70. package/dist/npm/menu/utils/getNewItemIdUponKeyboardNavigation.js +206 -0
  71. package/dist/npm/menu/utils/hoverDelay.d.ts +9 -0
  72. package/dist/npm/menu/utils/hoverDelay.js +22 -0
  73. package/dist/npm/menu/utils/itemsIdsUtils.d.ts +64 -0
  74. package/dist/npm/menu/utils/itemsIdsUtils.js +135 -0
  75. package/dist/npm/menu/utils/misc.d.ts +16 -0
  76. package/dist/npm/menu/utils/misc.js +49 -0
  77. package/dist/npm/menu/utils/prepareInputItemsForInternalWork.d.ts +5 -0
  78. package/dist/npm/menu/utils/prepareInputItemsForInternalWork.js +84 -0
  79. package/dist/npm/package-metadata.js +1 -1
  80. package/package.json +9 -9
@@ -0,0 +1,453 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MenuItemInternalVue3 = exports.MenuItemInternal = void 0; // @ts-ignore
7
+
8
+ var Vue = require("vue");
9
+
10
+ var allVue = Vue;
11
+ var gh = allVue.h;
12
+ var ref = allVue.ref;
13
+
14
+ var kendo_vue_common_1 = require("@progress/kendo-vue-common");
15
+
16
+ var kendo_vue_popup_1 = require("@progress/kendo-vue-popup");
17
+
18
+ var itemsIdsUtils_1 = require("../utils/itemsIdsUtils");
19
+
20
+ var misc_1 = require("../utils/misc");
21
+
22
+ var MenuItemLink_1 = require("./MenuItemLink");
23
+
24
+ var MenuItemInternalsList_1 = require("./MenuItemInternalsList");
25
+
26
+ var MenuItemArrow_1 = require("./MenuItemArrow"); // tslint:enable:max-line-length
27
+
28
+
29
+ var MenuItemInternal = {
30
+ name: 'KendoMenuItemInternal',
31
+ // @ts-ignore
32
+ emits: {
33
+ 'keydown': null,
34
+ 'mouseover': null,
35
+ 'mouseleave': null,
36
+ 'blur': null,
37
+ 'focus': null,
38
+ 'click': null,
39
+ 'mousedown': null
40
+ },
41
+ props: {
42
+ item: Object,
43
+ focusedItemId: String,
44
+ lastItemIdToBeOpened: String,
45
+ tabbableItemId: String,
46
+ itemRender: [String, Object, Function],
47
+ linkRender: [String, Object, Function],
48
+ isMenuVertical: Boolean,
49
+ isDirectionRightToLeft: Boolean,
50
+ menuGuid: String,
51
+ originalItemNeeded: Function
52
+ },
53
+ created: function created() {
54
+ this.itemElement = null;
55
+ this.prevFocusedItemId = this.$props.focusedItemId;
56
+ this.isFirstRender = true;
57
+ this._anchor = kendo_vue_common_1.guid();
58
+ },
59
+ data: function data() {
60
+ return {
61
+ opened: false
62
+ };
63
+ },
64
+ mounted: function mounted() {
65
+ this.itemElement = this.v3 ? this.kendoAnchorRef : this.$refs[this._anchor];
66
+ var focusedItemId = this.$props.focusedItemId;
67
+ var currentItemId = this.$props.item.id; // If the menu item component has been just mounted due to
68
+ // keyboard navigation and it is the selected one.
69
+
70
+ if (focusedItemId && focusedItemId === currentItemId) {
71
+ this.itemElement.focus();
72
+ }
73
+
74
+ this.isFirstRender = false;
75
+ },
76
+ watch: {
77
+ focusedItemId: function focusedItemId(_, oldValue) {
78
+ this.prevFocusedItemId = oldValue;
79
+ }
80
+ },
81
+ updated: function updated() {
82
+ var focusedItemId = this.$props.focusedItemId;
83
+ var currentItemId = this.$props.item.id;
84
+
85
+ if (focusedItemId) {
86
+ // If the item has been navigated to via the keyboard navigation
87
+ // (Clicking and focusing an item also come here).
88
+ if (this.prevFocusedItemId !== focusedItemId && focusedItemId === currentItemId // No need to focus the wrapping menu item DOM element
89
+ // when a child DOM element was clicked.
90
+ && !this.itemElement.contains(document.activeElement)) {
91
+ this.itemElement.focus();
92
+ }
93
+ } else if (document.activeElement === this.itemElement) {
94
+ this.itemElement.blur();
95
+ }
96
+ },
97
+ computed: {
98
+ currentItemRender: function currentItemRender() {
99
+ return this.$props.item.render || this.$props.itemRender;
100
+ },
101
+ currentLinkRender: function currentLinkRender() {
102
+ return this.$props.item.linkRender || this.$props.linkRender;
103
+ },
104
+ contentRender: function contentRender() {
105
+ return this.$props.item.contentParentItemId ? this.$props.item.contentRender : null;
106
+ },
107
+ currentOpened: function currentOpened() {
108
+ var props = this.$props;
109
+ return props.item.items.length > 0 && itemsIdsUtils_1.shouldOpenItem(props.item.id, props.lastItemIdToBeOpened) && // HACK: Wait for the second render because otherwise the scenario of
110
+ // popup inside popup throws an error (for example, hover of item with id '0_0').
111
+ !this.isFirstRender;
112
+ },
113
+ popupClassName: function popupClassName() {
114
+ return kendo_vue_common_1.classNames({
115
+ 'k-menu-popup': true,
116
+ 'k-rtl': this.$props.isDirectionRightToLeft
117
+ });
118
+ },
119
+ menuItemClassName: function menuItemClassName() {
120
+ var _a;
121
+
122
+ var item = this.$props.item;
123
+ return _a = {
124
+ 'k-item': true,
125
+ 'k-menu-item': true,
126
+ 'k-first': itemsIdsUtils_1.isFirstItemFromSiblings(item.id),
127
+ 'k-last': item.isLastFromSiblings,
128
+ 'k-state-disabled': item.disabled
129
+ }, _a[item.cssClass ? item.cssClass : ''] = item.cssClass, _a;
130
+ }
131
+ },
132
+ // @ts-ignore
133
+ setup: !gh ? undefined : function () {
134
+ var v3 = !!gh;
135
+ var kendoAnchorRef = ref(null);
136
+ return {
137
+ v3: v3,
138
+ kendoAnchorRef: kendoAnchorRef
139
+ };
140
+ },
141
+ render: function render(createElement) {
142
+ var _this = this;
143
+
144
+ var h = gh || createElement;
145
+ var item = this.$props.item;
146
+ var itemId = item.id;
147
+
148
+ var renderContent = function renderContent() {
149
+ var parentItemId = this.$props.item.contentParentItemId;
150
+
151
+ var contentRender = function contentRender(args) {
152
+ return kendo_vue_common_1.getTemplate.call(this, {
153
+ h: h,
154
+ template: this.contentRender,
155
+ additionalProps: args
156
+ });
157
+ };
158
+
159
+ return h("div", {
160
+ "class": "k-content",
161
+ role: "presentation",
162
+ attrs: this.v3 ? undefined : {
163
+ role: "presentation"
164
+ }
165
+ }, [contentRender.call(this, {
166
+ item: this.handleOriginalItemNeeded(parentItemId),
167
+ itemId: parentItemId
168
+ }), h(this.contentRender)]);
169
+ };
170
+
171
+ var renderMenuIconIfApplicable = function renderMenuIconIfApplicable() {
172
+ return this.$props.item.icon ? h("span", {
173
+ "class": "k-icon k-i-" + this.$props.item.icon,
174
+ role: "presentation",
175
+ attrs: this.v3 ? undefined : {
176
+ role: "presentation"
177
+ },
178
+ key: "0"
179
+ }) : null;
180
+ };
181
+
182
+ var renderArrowIfApplicable = function renderArrowIfApplicable() {
183
+ return this.$props.item.items.length > 0 ? // @ts-ignore
184
+ h(MenuItemArrow_1.MenuItemArrow, {
185
+ itemId: this.$props.item.id,
186
+ attrs: this.v3 ? undefined : {
187
+ itemId: this.$props.item.id,
188
+ verticalMenu: this.$props.isMenuVertical,
189
+ dir: misc_1.convertBoolDirectionToString(this.$props.isDirectionRightToLeft)
190
+ },
191
+ verticalMenu: this.$props.isMenuVertical,
192
+ dir: misc_1.convertBoolDirectionToString(this.$props.isDirectionRightToLeft),
193
+ key: "2"
194
+ }) : null;
195
+ };
196
+
197
+ var renderMenuItemLink = function renderMenuItemLink() {
198
+ var _this2 = this;
199
+
200
+ var defaultItemRender = item.text;
201
+ var textOrItemRender = kendo_vue_common_1.getTemplate.call(this, {
202
+ h: h,
203
+ template: this.currentItemRender,
204
+ defaultRendering: defaultItemRender,
205
+ additionalProps: {
206
+ item: this.$props.originalItemNeeded(item.id),
207
+ itemId: item.id,
208
+ key: '1'
209
+ }
210
+ });
211
+ var defaultLink = // @ts-ignore function children
212
+ h(MenuItemLink_1.MenuItemLink, {
213
+ url: item.url,
214
+ attrs: this.v3 ? undefined : {
215
+ url: item.url,
216
+ opened: this.currentOpened
217
+ },
218
+ opened: this.currentOpened
219
+ }, this.v3 ? function () {
220
+ return [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]];
221
+ } : [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]]);
222
+ return kendo_vue_common_1.getTemplate.call(this, {
223
+ h: h,
224
+ template: this.currentLinkRender,
225
+ defaultRendering: defaultLink,
226
+ additionalProps: {
227
+ item: this.$props.originalItemNeeded(item.id),
228
+ itemId: item.id,
229
+ opened: this.currentOpened,
230
+ dir: misc_1.convertBoolDirectionToString(this.$props.isDirectionRightToLeft)
231
+ }
232
+ });
233
+ };
234
+
235
+ var renderPopupIfOpened = function renderPopupIfOpened() {
236
+ var _this3 = this;
237
+
238
+ var _a = misc_1.getPopupSettings(itemId, this.$props.isMenuVertical, this.$props.isDirectionRightToLeft),
239
+ anchorAlign = _a.anchorAlign,
240
+ popupAlign = _a.popupAlign,
241
+ collision = _a.collision;
242
+
243
+ return (// @ts-ignore function children
244
+ h(kendo_vue_popup_1.Popup, {
245
+ anchor: this._anchor,
246
+ attrs: this.v3 ? undefined : {
247
+ anchor: this._anchor,
248
+ show: this.currentOpened,
249
+ popupClass: this.popupClassName,
250
+ anchorAlign: anchorAlign,
251
+ popupAlign: popupAlign,
252
+ collision: collision,
253
+ animate: false
254
+ },
255
+ show: this.currentOpened,
256
+ popupClass: this.popupClassName,
257
+ anchorAlign: anchorAlign,
258
+ popupAlign: popupAlign,
259
+ collision: collision,
260
+ animate: false,
261
+ key: "1"
262
+ }, this.v3 ? function () {
263
+ return [// @ts-ignore
264
+ h(MenuItemInternalsList_1.MenuItemInternalsList, {
265
+ parentItemId: itemId,
266
+ attrs: _this3.v3 ? undefined : {
267
+ parentItemId: itemId,
268
+ items: _this3.$props.item.items,
269
+ menuGuid: _this3.$props.menuGuid,
270
+ focusedItemId: _this3.$props.focusedItemId,
271
+ lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,
272
+ tabbableItemId: _this3.$props.tabbableItemId,
273
+ itemRender: _this3.$props.itemRender,
274
+ linkRender: _this3.$props.linkRender,
275
+ isMenuVertical: _this3.$props.isMenuVertical,
276
+ isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,
277
+ originalItemNeeded: _this3.handleOriginalItemNeeded
278
+ },
279
+ items: _this3.$props.item.items,
280
+ menuGuid: _this3.$props.menuGuid,
281
+ focusedItemId: _this3.$props.focusedItemId,
282
+ lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,
283
+ tabbableItemId: _this3.$props.tabbableItemId,
284
+ itemRender: _this3.$props.itemRender,
285
+ linkRender: _this3.$props.linkRender,
286
+ isMenuVertical: _this3.$props.isMenuVertical,
287
+ isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,
288
+ "class": "k-group k-menu-group k-reset",
289
+ onMouseover: _this3.handleItemMouseOver,
290
+ on: _this3.v3 ? undefined : {
291
+ "mouseover": _this3.handleItemMouseOver,
292
+ "mouseleave": _this3.handleItemMouseLeave,
293
+ "mousedown": _this3.handleMouseDown,
294
+ "blur": _this3.handleItemMouseBlur,
295
+ "focus": _this3.handleItemMouseFocus,
296
+ "click": _this3.handleClick,
297
+ "keydown": _this3.handleKeyDown
298
+ },
299
+ onMouseleave: _this3.handleItemMouseLeave,
300
+ onMousedown: _this3.handleMouseDown,
301
+ onBlur: _this3.handleItemMouseBlur,
302
+ onFocus: _this3.handleItemMouseFocus,
303
+ onClick: _this3.handleClick,
304
+ onKeydown: _this3.handleKeyDown,
305
+ originalItemNeeded: _this3.handleOriginalItemNeeded
306
+ })];
307
+ } : [h(MenuItemInternalsList_1.MenuItemInternalsList, {
308
+ parentItemId: itemId,
309
+ attrs: _this3.v3 ? undefined : {
310
+ parentItemId: itemId,
311
+ items: _this3.$props.item.items,
312
+ menuGuid: _this3.$props.menuGuid,
313
+ focusedItemId: _this3.$props.focusedItemId,
314
+ lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,
315
+ tabbableItemId: _this3.$props.tabbableItemId,
316
+ itemRender: _this3.$props.itemRender,
317
+ linkRender: _this3.$props.linkRender,
318
+ isMenuVertical: _this3.$props.isMenuVertical,
319
+ isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,
320
+ originalItemNeeded: _this3.handleOriginalItemNeeded
321
+ },
322
+ items: _this3.$props.item.items,
323
+ menuGuid: _this3.$props.menuGuid,
324
+ focusedItemId: _this3.$props.focusedItemId,
325
+ lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,
326
+ tabbableItemId: _this3.$props.tabbableItemId,
327
+ itemRender: _this3.$props.itemRender,
328
+ linkRender: _this3.$props.linkRender,
329
+ isMenuVertical: _this3.$props.isMenuVertical,
330
+ isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,
331
+ "class": "k-group k-menu-group k-reset",
332
+ onMouseover: _this3.handleItemMouseOver,
333
+ on: _this3.v3 ? undefined : {
334
+ "mouseover": _this3.handleItemMouseOver,
335
+ "mouseleave": _this3.handleItemMouseLeave,
336
+ "mousedown": _this3.handleMouseDown,
337
+ "blur": _this3.handleItemMouseBlur,
338
+ "focus": _this3.handleItemMouseFocus,
339
+ "click": _this3.handleClick,
340
+ "keydown": _this3.handleKeyDown
341
+ },
342
+ onMouseleave: _this3.handleItemMouseLeave,
343
+ onMousedown: _this3.handleMouseDown,
344
+ onBlur: _this3.handleItemMouseBlur,
345
+ onFocus: _this3.handleItemMouseFocus,
346
+ onClick: _this3.handleClick,
347
+ onKeydown: _this3.handleKeyDown,
348
+ originalItemNeeded: _this3.handleOriginalItemNeeded
349
+ })])
350
+ );
351
+ };
352
+
353
+ return h("li", {
354
+ "class": this.menuItemClassName,
355
+ style: item.cssStyle,
356
+ tabIndex: itemId === this.$props.tabbableItemId ? 0 : -1,
357
+ attrs: this.v3 ? undefined : {
358
+ tabIndex: itemId === this.$props.tabbableItemId ? 0 : -1,
359
+ role: "menuitem",
360
+ "aria-disabled": item.disabled ? true : undefined,
361
+ "aria-haspopup": item.items.length > 0 ? true : undefined,
362
+ "aria-expanded": item.items.length > 0 ? this.currentOpened : undefined,
363
+ "aria-label": item.text,
364
+ "aria-owns": this.currentOpened ? misc_1.getDOMElementId(this.$props.menuGuid, itemId) : undefined
365
+ },
366
+ onMouseover: this.onMouseOver,
367
+ on: this.v3 ? undefined : {
368
+ "mouseover": this.onMouseOver,
369
+ "mouseleave": this.onMouseLeave,
370
+ "mousedown": function mousedown(event) {
371
+ return _this.handleMouseDown(event);
372
+ },
373
+ "focusout": function focusout() {
374
+ return _this.handleBlur(itemId);
375
+ },
376
+ "focusin": function focusin() {
377
+ return _this.handleFocus(itemId);
378
+ },
379
+ "click": function click(event) {
380
+ return _this.handleClick(event, itemId);
381
+ },
382
+ "keydown": this.handleKeyDown
383
+ },
384
+ onMouseleave: this.onMouseLeave,
385
+ onMousedown: function mousedown(event) {
386
+ return _this.handleMouseDown(event);
387
+ },
388
+ onFocusout: function focusout() {
389
+ return _this.handleBlur(itemId);
390
+ },
391
+ onFocusin: function focusin() {
392
+ return _this.handleFocus(itemId);
393
+ },
394
+ onClick: function click(event) {
395
+ return _this.handleClick(event, itemId);
396
+ },
397
+ onKeydown: this.handleKeyDown,
398
+ role: "menuitem",
399
+ "aria-disabled": item.disabled ? true : undefined,
400
+ "aria-haspopup": item.items.length > 0 ? true : undefined,
401
+ "aria-expanded": item.items.length > 0 ? this.currentOpened : undefined,
402
+ "aria-label": item.text,
403
+ "aria-owns": this.currentOpened ? misc_1.getDOMElementId(this.$props.menuGuid, itemId) : undefined,
404
+ ref: this.v3 ? function (el) {
405
+ _this.kendoAnchorRef = el;
406
+ } : this._anchor,
407
+ key: "0"
408
+ }, [this.contentRender ? renderContent.call(this) : renderMenuItemLink.call(this), renderPopupIfOpened.call(this)]);
409
+ },
410
+ methods: {
411
+ handleKeyDown: function handleKeyDown(event) {
412
+ this.$emit('keydown', event);
413
+ },
414
+ handleItemMouseOver: function handleItemMouseOver(event) {
415
+ this.$emit('mouseover', event);
416
+ },
417
+ handleItemMouseLeave: function handleItemMouseLeave(event) {
418
+ this.$emit('mouseleave', event);
419
+ },
420
+ handleItemMouseBlur: function handleItemMouseBlur(event) {
421
+ this.$emit('blur', event);
422
+ },
423
+ handleItemMouseFocus: function handleItemMouseFocus(event) {
424
+ this.$emit('focus', event);
425
+ },
426
+ handleClick: function handleClick(event, itemId) {
427
+ this.$emit('click', event, itemId);
428
+ },
429
+ handleBlur: function handleBlur(itemId) {
430
+ this.$emit('blur', itemId);
431
+ },
432
+ handleFocus: function handleFocus(itemId) {
433
+ this.$emit('focus', itemId);
434
+ },
435
+ handleMouseDown: function handleMouseDown(event) {
436
+ this.$emit('mousedown', event);
437
+ },
438
+ handleOriginalItemNeeded: function handleOriginalItemNeeded(event) {
439
+ this.$props.originalItemNeeded(event);
440
+ },
441
+ onMouseOver: function onMouseOver(event) {
442
+ this.$emit('mouseover', this.$props.item.id);
443
+ event.stopPropagation();
444
+ },
445
+ onMouseLeave: function onMouseLeave(event) {
446
+ this.$emit('mouseleave', this.$props.item.id);
447
+ event.stopPropagation();
448
+ }
449
+ }
450
+ };
451
+ exports.MenuItemInternal = MenuItemInternal;
452
+ var MenuItemInternalVue3 = MenuItemInternal;
453
+ exports.MenuItemInternalVue3 = MenuItemInternalVue3;
@@ -0,0 +1,44 @@
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 MenuItemInternalsListProps extends BaseMenuItemInternalProps {
13
+ items: MenuItemInternalModel[];
14
+ parentItemId?: string;
15
+ }
16
+ /**
17
+ * @hidden
18
+ */
19
+ export interface MenuItemInternalsListState {
20
+ }
21
+ /**
22
+ * @hidden
23
+ */
24
+ export interface MenuItemInternalsListComputed {
25
+ }
26
+ /**
27
+ * @hidden
28
+ */
29
+ export interface MenuItemInternalsListMethods {
30
+ [key: string]: any;
31
+ }
32
+ /**
33
+ * @hidden
34
+ */
35
+ export interface MenuItemInternalsListData {
36
+ }
37
+ /**
38
+ * @hidden
39
+ */
40
+ export interface MenuItemInternalsListAll extends Vue, MenuItemInternalsListMethods, MenuItemInternalsListData, MenuItemInternalsListComputed, MenuItemInternalsListState {
41
+ }
42
+ declare let MenuItemInternalsList: ComponentOptions<MenuItemInternalsListAll, DefaultData<MenuItemInternalsListData>, DefaultMethods<MenuItemInternalsListAll>, MenuItemInternalsListComputed, RecordPropsDefinition<MenuItemInternalsListProps>>;
43
+ declare const MenuItemInternalsListVue3: DefineComponent<MenuItemInternalsListProps, any, MenuItemInternalsListData, MenuItemInternalsListComputed, MenuItemInternalsListMethods, {}, {}, {}, string, MenuItemInternalsListProps, MenuItemInternalsListProps, {}>;
44
+ export { MenuItemInternalsList, MenuItemInternalsListVue3 };
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MenuItemInternalsListVue3 = exports.MenuItemInternalsList = void 0; // @ts-ignore
7
+
8
+ var Vue = require("vue");
9
+
10
+ var allVue = Vue;
11
+ var gh = allVue.h;
12
+
13
+ var MenuItemInternal_1 = require("./MenuItemInternal");
14
+
15
+ var misc_1 = require("./../utils/misc"); // tslint:enable:max-line-length
16
+
17
+
18
+ var MenuItemInternalsList = {
19
+ name: 'KendoMenuItemInternalsList',
20
+ // @ts-ignore
21
+ emits: {
22
+ 'keydown': null,
23
+ 'mouseover': null,
24
+ 'mouseleave': null,
25
+ 'blur': null,
26
+ 'focus': null,
27
+ 'click': null,
28
+ 'mousedown': null
29
+ },
30
+ props: {
31
+ items: Array,
32
+ parentItemId: String,
33
+ focusedItemId: String,
34
+ lastItemIdToBeOpened: String,
35
+ tabbableItemId: String,
36
+ itemRender: [String, Object, Function],
37
+ linkRender: [String, Object, Function],
38
+ isMenuVertical: Boolean,
39
+ isDirectionRightToLeft: Boolean,
40
+ menuGuid: String,
41
+ originalItemNeeded: Function
42
+ },
43
+ // @ts-ignore
44
+ setup: !gh ? undefined : function () {
45
+ var v3 = !!gh;
46
+ return {
47
+ v3: v3
48
+ };
49
+ },
50
+ render: function render(createElement) {
51
+ var h = gh || createElement;
52
+ var parentItemId = this.$props.parentItemId;
53
+
54
+ var renderChildItems = function renderChildItems() {
55
+ return this.$props.items.length > 0 ? this.$props.items.map(function (item, index) {
56
+ return (// @ts-ignore
57
+ h(MenuItemInternal_1.MenuItemInternal, {
58
+ item: item,
59
+ attrs: this.v3 ? undefined : {
60
+ item: item,
61
+ isMenuVertical: this.$props.isMenuVertical,
62
+ isDirectionRightToLeft: this.$props.isDirectionRightToLeft,
63
+ focusedItemId: this.$props.focusedItemId,
64
+ lastItemIdToBeOpened: this.$props.lastItemIdToBeOpened,
65
+ tabbableItemId: this.$props.tabbableItemId,
66
+ itemRender: this.$props.itemRender,
67
+ linkRender: this.$props.linkRender,
68
+ menuGuid: this.$props.menuGuid,
69
+ originalItemNeeded: this.handleOriginalItemNeeded
70
+ },
71
+ isMenuVertical: this.$props.isMenuVertical,
72
+ isDirectionRightToLeft: this.$props.isDirectionRightToLeft,
73
+ focusedItemId: this.$props.focusedItemId,
74
+ lastItemIdToBeOpened: this.$props.lastItemIdToBeOpened,
75
+ tabbableItemId: this.$props.tabbableItemId,
76
+ itemRender: this.$props.itemRender,
77
+ linkRender: this.$props.linkRender,
78
+ menuGuid: this.$props.menuGuid,
79
+ onMouseover: this.handleItemMouseOver,
80
+ on: this.v3 ? undefined : {
81
+ "mouseover": this.handleItemMouseOver,
82
+ "mouseleave": this.handleItemMouseLeave,
83
+ "mousedown": this.handleItemMouseDown,
84
+ "keydown": this.handleKeyDown,
85
+ "blur": this.handleItemMouseBlur,
86
+ "focus": this.handleItemMouseFocus,
87
+ "click": this.handleItemMouseClick
88
+ },
89
+ onMouseleave: this.handleItemMouseLeave,
90
+ onMousedown: this.handleItemMouseDown,
91
+ onKeydown: this.handleKeyDown,
92
+ onBlur: this.handleItemMouseBlur,
93
+ onFocus: this.handleItemMouseFocus,
94
+ onClick: this.handleItemMouseClick,
95
+ originalItemNeeded: this.handleOriginalItemNeeded,
96
+ key: index
97
+ })
98
+ );
99
+ }, this) : null;
100
+ };
101
+
102
+ return h("ul", {
103
+ role: parentItemId !== undefined ? 'menu' : 'menubar',
104
+ attrs: this.v3 ? undefined : {
105
+ role: parentItemId !== undefined ? 'menu' : 'menubar',
106
+ id: parentItemId !== undefined ? misc_1.getDOMElementId(this.$props.menuGuid, parentItemId) : undefined
107
+ },
108
+ id: parentItemId !== undefined ? misc_1.getDOMElementId(this.$props.menuGuid, parentItemId) : undefined,
109
+ onMouseover: this.onMouseOver,
110
+ on: this.v3 ? undefined : {
111
+ "mouseover": this.onMouseOver,
112
+ "mouseleave": this.onMouseLeave
113
+ },
114
+ onMouseleave: this.onMouseLeave
115
+ }, [renderChildItems.call(this)]);
116
+ },
117
+ methods: {
118
+ handleKeyDown: function handleKeyDown(event) {
119
+ this.$emit('keydown', event);
120
+ },
121
+ handleOriginalItemNeeded: function handleOriginalItemNeeded(event) {
122
+ this.$props.originalItemNeeded(event);
123
+ },
124
+ handleItemMouseOver: function handleItemMouseOver(event) {
125
+ this.$emit('mouseover', event);
126
+ },
127
+ handleItemMouseLeave: function handleItemMouseLeave(event) {
128
+ this.$emit('mouseleave', event);
129
+ },
130
+ handleItemMouseDown: function handleItemMouseDown(event) {
131
+ this.$emit('mousedown', event);
132
+ },
133
+ handleItemMouseBlur: function handleItemMouseBlur(event) {
134
+ this.$emit('blur', event);
135
+ },
136
+ handleItemMouseFocus: function handleItemMouseFocus(event) {
137
+ this.$emit('focus', event);
138
+ },
139
+ handleItemMouseClick: function handleItemMouseClick(event, itemId) {
140
+ this.$emit('click', event, itemId);
141
+ },
142
+ onMouseOver: function onMouseOver(event) {
143
+ if (this.$props.parentItemId !== undefined) {
144
+ this.$emit('mouseover', this.$props.parentItemId);
145
+ event.stopPropagation();
146
+ }
147
+ },
148
+ onMouseLeave: function onMouseLeave(event) {
149
+ if (this.$props.parentItemId !== undefined) {
150
+ this.$emit('mouseleave', this.$props.parentItemId);
151
+ event.stopPropagation();
152
+ }
153
+ }
154
+ }
155
+ };
156
+ exports.MenuItemInternalsList = MenuItemInternalsList;
157
+ var MenuItemInternalsListVue3 = MenuItemInternalsList;
158
+ exports.MenuItemInternalsListVue3 = MenuItemInternalsListVue3;
@@ -0,0 +1,49 @@
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 MenuItemLink component.
9
+ */
10
+ export interface MenuItemLinkProps {
11
+ /**
12
+ * Specifies whether the MenuItemLink component is opened.
13
+ */
14
+ opened: boolean;
15
+ /**
16
+ * Sets the URL of the MenuItemLink component.
17
+ */
18
+ url?: string;
19
+ }
20
+ /**
21
+ * @hidden
22
+ */
23
+ export interface MenuItemLinkState {
24
+ }
25
+ /**
26
+ * @hidden
27
+ */
28
+ export interface MenuItemLinkComputed {
29
+ menuItemClassName: object;
30
+ }
31
+ /**
32
+ * @hidden
33
+ */
34
+ export interface MenuItemLinkMethods {
35
+ [key: string]: any;
36
+ }
37
+ /**
38
+ * @hidden
39
+ */
40
+ export interface MenuItemLinkData {
41
+ }
42
+ /**
43
+ * @hidden
44
+ */
45
+ export interface MenuItemLinkAll extends Vue, MenuItemLinkMethods, MenuItemLinkData, MenuItemLinkComputed, MenuItemLinkState {
46
+ }
47
+ declare let MenuItemLink: ComponentOptions<MenuItemLinkAll, DefaultData<MenuItemLinkData>, DefaultMethods<MenuItemLinkAll>, MenuItemLinkComputed, RecordPropsDefinition<MenuItemLinkProps>>;
48
+ declare const MenuItemLinkVue3: DefineComponent<MenuItemLinkProps, any, MenuItemLinkData, MenuItemLinkComputed, MenuItemLinkMethods, {}, {}, {}, string, MenuItemLinkProps, MenuItemLinkProps, {}>;
49
+ export { MenuItemLink, MenuItemLinkVue3 };