@progress/kendo-vue-layout 2.5.1 → 2.5.2-dev.202110121006

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