@progress/kendo-vue-layout 3.13.0 → 3.14.0-dev.202309120904

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 (32) hide show
  1. package/dist/cdn/js/kendo-vue-layout.js +1 -1
  2. package/dist/es/drawer/Drawer.js +8 -4
  3. package/dist/es/drawer/DrawerNavigation.js +5 -3
  4. package/dist/es/menu/components/MenuItemInternal.d.ts +1 -0
  5. package/dist/es/menu/components/MenuItemInternal.js +40 -27
  6. package/dist/es/menu/models/BaseMenuItem.d.ts +5 -1
  7. package/dist/es/menu/utils/prepareInputItemsForInternalWork.js +4 -1
  8. package/dist/es/package-metadata.js +1 -1
  9. package/dist/es/panelbar/PanelBar.js +5 -3
  10. package/dist/es/tabstrip/TabStrip.js +7 -4
  11. package/dist/es/tilelayout/TileLayout.js +8 -4
  12. package/dist/esm/drawer/Drawer.js +8 -4
  13. package/dist/esm/drawer/DrawerNavigation.js +5 -3
  14. package/dist/esm/menu/components/MenuItemInternal.d.ts +1 -0
  15. package/dist/esm/menu/components/MenuItemInternal.js +40 -27
  16. package/dist/esm/menu/models/BaseMenuItem.d.ts +5 -1
  17. package/dist/esm/menu/utils/prepareInputItemsForInternalWork.js +4 -1
  18. package/dist/esm/package-metadata.js +1 -1
  19. package/dist/esm/panelbar/PanelBar.js +5 -3
  20. package/dist/esm/tabstrip/TabStrip.js +7 -4
  21. package/dist/esm/tilelayout/TileLayout.js +8 -4
  22. package/dist/npm/drawer/Drawer.js +7 -3
  23. package/dist/npm/drawer/DrawerNavigation.js +4 -2
  24. package/dist/npm/menu/components/MenuItemInternal.d.ts +1 -0
  25. package/dist/npm/menu/components/MenuItemInternal.js +39 -26
  26. package/dist/npm/menu/models/BaseMenuItem.d.ts +5 -1
  27. package/dist/npm/menu/utils/prepareInputItemsForInternalWork.js +4 -1
  28. package/dist/npm/package-metadata.js +1 -1
  29. package/dist/npm/panelbar/PanelBar.js +4 -2
  30. package/dist/npm/tabstrip/TabStrip.js +6 -3
  31. package/dist/npm/tilelayout/TileLayout.js +7 -3
  32. package/package.json +13 -13
@@ -4,7 +4,7 @@ var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
6
  import { DrawerNavigation } from './DrawerNavigation';
7
- import { getDir, validatePackage, getDefaultSlots, templateRendering, getListeners } from '@progress/kendo-vue-common';
7
+ import { getDir, validatePackage, shouldShowValidationUI, getDefaultSlots, templateRendering, getListeners } from '@progress/kendo-vue-common';
8
8
  import { packageMetadata } from '../package-metadata';
9
9
  /**
10
10
  * @hidden
@@ -61,6 +61,7 @@ var DrawerVue2 = {
61
61
  },
62
62
  created: function created() {
63
63
  validatePackage(packageMetadata);
64
+ this.showLicenseWatermark = shouldShowValidationUI(packageMetadata);
64
65
  },
65
66
  data: function data() {
66
67
  var _a = this.$props,
@@ -87,7 +88,8 @@ var DrawerVue2 = {
87
88
  miniWidth: miniWidth,
88
89
  items: items,
89
90
  item: itemRender
90
- }
91
+ },
92
+ showLicenseWatermark: false
91
93
  };
92
94
  },
93
95
  mounted: function mounted() {
@@ -177,8 +179,10 @@ var DrawerVue2 = {
177
179
  },
178
180
  item: itemRender,
179
181
  attrs: this.v3 ? undefined : {
180
- item: itemRender
181
- }
182
+ item: itemRender,
183
+ showLicenseWatermark: this.showLicenseWatermark
184
+ },
185
+ showLicenseWatermark: this.showLicenseWatermark
182
186
  }), defaultSlot]);
183
187
  },
184
188
  methods: {
@@ -16,7 +16,7 @@ var allVue = Vue;
16
16
  var gh = allVue.h;
17
17
  var isV3 = allVue.version && allVue.version[0] === '3';
18
18
  import { DrawerItem } from './DrawerItem';
19
- import { getDefaultSlots, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';
19
+ import { getDefaultSlots, templateRendering, getListeners, getTemplate, WatermarkOverlay } from '@progress/kendo-vue-common';
20
20
  /**
21
21
  * @hidden
22
22
  */
@@ -46,7 +46,8 @@ var DrawerNavigationVue2 = {
46
46
  name: 'KendoDrawerNavigation',
47
47
  props: {
48
48
  item: [Object],
49
- tabIndex: Number
49
+ tabIndex: Number,
50
+ showLicenseWatermark: Boolean
50
51
  },
51
52
  inject: {
52
53
  kendoDrawer: {
@@ -122,6 +123,7 @@ var DrawerNavigationVue2 = {
122
123
  WebkitTransitionDuration: (customSettings && customSettings.duration) + 'ms',
123
124
  transitionDuration: (customSettings && customSettings.duration) + 'ms'
124
125
  };
126
+ var watermark = this.showLicenseWatermark ? h(WatermarkOverlay) : null;
125
127
  var drawerAnimation = expanded ? mode === 'push' ? expandPush : expandOverlay : mode === 'push' ? collapsePush : dir === 'ltr' && position === 'start' || dir === 'rtl' && position === 'end' ? mini ? collapseOverlayMini : collapseOverlay : mini ? collapseOverlayMini : collapseOverlayRtl;
126
128
  var drawerItems = items && h("ul", {
127
129
  "class": 'k-drawer-items',
@@ -175,7 +177,7 @@ var DrawerNavigationVue2 = {
175
177
  }
176
178
  });
177
179
  return itemRendering;
178
- }, this)]);
180
+ }, this), watermark]);
179
181
  var drawerNavigation = h("div", {
180
182
  style: drawerAnimation,
181
183
  "class": this.navigationClassNames
@@ -32,6 +32,7 @@ export interface MenuItemInternalComputed {
32
32
  currentFocused: boolean;
33
33
  popupClassName: string;
34
34
  menuItemClassName: object;
35
+ hasItems: boolean;
35
36
  }
36
37
  /**
37
38
  * @hidden
@@ -4,7 +4,7 @@ var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
6
  var ref = allVue.ref;
7
- import { classNames, guid, getTemplate, setRef, getRef, Icon } from '@progress/kendo-vue-common';
7
+ import { classNames, guid, getTemplate, setRef, getRef, Icon, getIconName } from '@progress/kendo-vue-common';
8
8
  import { Popup } from '@progress/kendo-vue-popup';
9
9
  import { shouldOpenItem, isFirstItemFromSiblings } from '../utils/itemsIdsUtils';
10
10
  import { getPopupSettings, convertBoolDirectionToString, getDOMElementId } from '../utils/misc';
@@ -82,6 +82,9 @@ var MenuItemInternalVue2 = {
82
82
  }
83
83
  },
84
84
  computed: {
85
+ hasItems: function hasItems() {
86
+ return this.$props.item.items.length > 0;
87
+ },
85
88
  currentItemRender: function currentItemRender() {
86
89
  return this.$props.item.render || this.$props.itemRender;
87
90
  },
@@ -93,7 +96,7 @@ var MenuItemInternalVue2 = {
93
96
  },
94
97
  currentOpened: function currentOpened() {
95
98
  var props = this.$props;
96
- return props.item.items.length > 0 && shouldOpenItem(props.item.id, props.lastItemIdToBeOpened) &&
99
+ return this.hasItems && shouldOpenItem(props.item.id, props.lastItemIdToBeOpened) &&
97
100
  // HACK: Wait for the second render because otherwise the scenario of
98
101
  // popup inside popup throws an error (for example, hover of item with id '0_0').
99
102
  !this.isFirstRender;
@@ -134,10 +137,19 @@ var MenuItemInternalVue2 = {
134
137
  render: function render(createElement) {
135
138
  var _this = this;
136
139
  var h = gh || createElement;
137
- var item = this.$props.item;
138
- var itemId = item.id;
140
+ var _a = this.$props.item,
141
+ icon = _a.icon,
142
+ svgIcon = _a.svgIcon,
143
+ id = _a.id,
144
+ contentParentItemId = _a.contentParentItemId,
145
+ items = _a.items,
146
+ text = _a.text,
147
+ cssStyle = _a.cssStyle,
148
+ disabled = _a.disabled,
149
+ url = _a.url;
150
+ var itemId = id;
139
151
  var renderContent = function renderContent() {
140
- var parentItemId = this.$props.item.contentParentItemId;
152
+ var parentItemId = contentParentItemId;
141
153
  var contentRender = function contentRender(args) {
142
154
  return getTemplate.call(this, {
143
155
  h: h,
@@ -157,21 +169,22 @@ var MenuItemInternalVue2 = {
157
169
  })]);
158
170
  };
159
171
  var renderMenuIconIfApplicable = function renderMenuIconIfApplicable() {
160
- return this.$props.item.icon ? h(Icon, {
161
- name: this.$props.item.icon,
172
+ return icon || svgIcon ? h(Icon, {
173
+ name: getIconName(icon),
162
174
  attrs: this.v3 ? undefined : {
163
- name: this.$props.item.icon
175
+ name: getIconName(icon),
176
+ icon: svgIcon
164
177
  },
165
- key: "0"
178
+ icon: svgIcon
166
179
  }) : null;
167
180
  };
168
181
  var renderArrowIfApplicable = function renderArrowIfApplicable() {
169
- return this.$props.item.items.length > 0 ?
182
+ return this.hasItems ?
170
183
  // @ts-ignore
171
184
  h(MenuItemArrow, {
172
- itemId: this.$props.item.id,
185
+ itemId: id,
173
186
  attrs: this.v3 ? undefined : {
174
- itemId: this.$props.item.id,
187
+ itemId: id,
175
188
  verticalMenu: this.$props.isMenuVertical,
176
189
  dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft)
177
190
  },
@@ -180,28 +193,28 @@ var MenuItemInternalVue2 = {
180
193
  key: "2"
181
194
  }) : null;
182
195
  };
183
- var originalItem = this.$props.originalItemNeeded(item.id);
196
+ var originalItem = this.$props.originalItemNeeded(id);
184
197
  var renderMenuItemLink = function renderMenuItemLink() {
185
198
  var _this2 = this;
186
199
  var defaultItemRender = h("span", {
187
200
  "class": "k-menu-link-text"
188
- }, [item.text]);
201
+ }, [text]);
189
202
  var textOrItemRender = getTemplate.call(this, {
190
203
  h: h,
191
204
  template: this.currentItemRender,
192
205
  defaultRendering: defaultItemRender,
193
206
  additionalProps: {
194
207
  item: originalItem,
195
- itemId: item.id,
208
+ itemId: id,
196
209
  key: '1'
197
210
  }
198
211
  });
199
212
  var defaultLink =
200
213
  // @ts-ignore function children
201
214
  h(MenuItemLink, {
202
- url: item.url,
215
+ url: url,
203
216
  attrs: this.v3 ? undefined : {
204
- url: item.url,
217
+ url: url,
205
218
  opened: this.currentOpened,
206
219
  focused: this.currentFocused
207
220
  },
@@ -216,7 +229,7 @@ var MenuItemInternalVue2 = {
216
229
  defaultRendering: defaultLink,
217
230
  additionalProps: {
218
231
  item: originalItem,
219
- itemId: item.id,
232
+ itemId: id,
220
233
  opened: this.currentOpened,
221
234
  dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft)
222
235
  }
@@ -341,15 +354,15 @@ var MenuItemInternalVue2 = {
341
354
  };
342
355
  return h("li", {
343
356
  "class": this.menuItemClassName,
344
- style: item.cssStyle,
357
+ style: cssStyle,
345
358
  tabindex: itemId === this.$props.tabbableItemId ? 0 : -1,
346
359
  attrs: this.v3 ? undefined : {
347
360
  tabindex: itemId === this.$props.tabbableItemId ? 0 : -1,
348
361
  role: "menuitem",
349
- "aria-disabled": item.disabled ? true : undefined,
350
- "aria-haspopup": item.items.length > 0 ? true : undefined,
351
- "aria-expanded": item.items.length > 0 ? this.currentOpened : undefined,
352
- "aria-label": item.text,
362
+ "aria-disabled": disabled ? true : undefined,
363
+ "aria-haspopup": this.hasItems ? true : undefined,
364
+ "aria-expanded": this.hasItems ? this.currentOpened : undefined,
365
+ "aria-label": text,
353
366
  "aria-owns": this.currentOpened ? getDOMElementId(this.$props.menuGuid, itemId) : undefined
354
367
  },
355
368
  onMouseover: this.onMouseOver,
@@ -385,10 +398,10 @@ var MenuItemInternalVue2 = {
385
398
  },
386
399
  onKeydown: this.handleKeyDown,
387
400
  role: "menuitem",
388
- "aria-disabled": item.disabled ? true : undefined,
389
- "aria-haspopup": item.items.length > 0 ? true : undefined,
390
- "aria-expanded": item.items.length > 0 ? this.currentOpened : undefined,
391
- "aria-label": item.text,
401
+ "aria-disabled": disabled ? true : undefined,
402
+ "aria-haspopup": this.hasItems ? true : undefined,
403
+ "aria-expanded": this.hasItems ? this.currentOpened : undefined,
404
+ "aria-label": text,
392
405
  "aria-owns": this.currentOpened ? getDOMElementId(this.$props.menuGuid, itemId) : undefined,
393
406
  ref: setRef(this, 'kendoAnchor', this._anchor),
394
407
  key: "0"
@@ -11,9 +11,13 @@ export interface BaseMenuItem {
11
11
  */
12
12
  url?: string;
13
13
  /**
14
- * Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will be rendered for the item ([see example]({% slug itemproperties_menu %}#toc-icon)).
14
+ * Specifies the name of the [FontIcon]({% slug overview_icon %}) that will be rendered for the item).
15
15
  */
16
16
  icon?: string;
17
+ /**
18
+ * Specifies the name of the [SVGIcon]({% slug overview_svgicon %}) that will be rendered for the item).
19
+ */
20
+ svgIcon?: string;
17
21
  /**
18
22
  * Specifies if the item is disabled ([see example]({% slug itemproperties_menu %}#toc-disabled-state)).
19
23
  */
@@ -16,7 +16,7 @@ export function prepareInputItemsForInternalWork(models) {
16
16
  }
17
17
  function copyInputItemWithoutChildren(inputModel) {
18
18
  var result = {};
19
- var text = inputModel.text, url = inputModel.url, icon = inputModel.icon, disabled = inputModel.disabled, cssClass = inputModel.cssClass, popupClass = inputModel.popupClass, cssStyle = inputModel.cssStyle, render = inputModel.render, linkRender = inputModel.linkRender, contentRender = inputModel.contentRender, data = inputModel.data;
19
+ var text = inputModel.text, url = inputModel.url, icon = inputModel.icon, svgIcon = inputModel.svgIcon, disabled = inputModel.disabled, cssClass = inputModel.cssClass, popupClass = inputModel.popupClass, cssStyle = inputModel.cssStyle, render = inputModel.render, linkRender = inputModel.linkRender, contentRender = inputModel.contentRender, data = inputModel.data;
20
20
  if (text !== undefined) {
21
21
  result.text = text;
22
22
  }
@@ -26,6 +26,9 @@ function copyInputItemWithoutChildren(inputModel) {
26
26
  if (icon !== undefined) {
27
27
  result.icon = icon;
28
28
  }
29
+ if (svgIcon !== undefined) {
30
+ result.svgIcon = svgIcon;
31
+ }
29
32
  if (disabled !== undefined) {
30
33
  result.disabled = disabled;
31
34
  }
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-vue-layout',
6
6
  productName: 'Kendo UI for Vue',
7
7
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
- publishDate: 1693312682,
8
+ publishDate: 1694508796,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
11
11
  };
@@ -27,7 +27,7 @@ var isV3 = allVue.version && allVue.version[0] === '3';
27
27
  import { PanelBarItem } from './PanelBarItem';
28
28
  import { renderChildren, getInitialState, flatVisibleChildren, flatChildren, isArrayEqual, getFirstId } from './util';
29
29
  import { classNames, Keys } from '@progress/kendo-vue-common';
30
- import { validatePackage } from '@progress/kendo-vue-common';
30
+ import { validatePackage, shouldShowValidationUI, WatermarkOverlay } from '@progress/kendo-vue-common';
31
31
  import { packageMetadata } from '../package-metadata';
32
32
  import { NavigationAction } from './interfaces/NavigationAction';
33
33
  /**
@@ -66,6 +66,7 @@ var PanelBarVue2 = {
66
66
  created: function created() {
67
67
  this.activeDescendant = null;
68
68
  validatePackage(packageMetadata);
69
+ this.showLicenseWatermark = shouldShowValidationUI(packageMetadata);
69
70
  },
70
71
  data: function data() {
71
72
  var initialState = getInitialState(this.$props, this.expandMode);
@@ -115,7 +116,8 @@ var PanelBarVue2 = {
115
116
  // @ts-ignore
116
117
  render: function render(createElement) {
117
118
  var h = gh || createElement;
118
- var className = classNames('k-panelbar', this.$props.className);
119
+ var className = classNames('k-panelbar', 'k-pos-relative', this.$props.className);
120
+ var watermark = this.showLicenseWatermark ? h(WatermarkOverlay) : null;
119
121
  return h("ul", {
120
122
  dir: this.$props.dir,
121
123
  attrs: this.v3 ? undefined : {
@@ -144,7 +146,7 @@ var PanelBarVue2 = {
144
146
  }, item), {
145
147
  item: item
146
148
  }));
147
- }, this)]);
149
+ }, this), watermark]);
148
150
  },
149
151
  methods: {
150
152
  handleSelect: function handleSelect(event) {
@@ -19,7 +19,7 @@ var ref = allVue.ref;
19
19
  var inject = allVue.inject;
20
20
  import { TabStripNavigation } from './TabStripNavigation';
21
21
  import { TabStripContent } from './TabStripContent';
22
- import { Keys, classNames, getDefaultSlots, validatePackage, templateRendering, getListeners } from '@progress/kendo-vue-common';
22
+ import { Keys, classNames, getDefaultSlots, validatePackage, shouldShowValidationUI, WatermarkOverlay, templateRendering, getListeners } from '@progress/kendo-vue-common';
23
23
  import { packageMetadata } from '../package-metadata';
24
24
  /**
25
25
  * @hidden
@@ -51,7 +51,8 @@ var TabStripVue2 = {
51
51
  data: function data() {
52
52
  return {
53
53
  currentShowAll: true,
54
- currentTabs: []
54
+ currentTabs: [],
55
+ showLicenseWatermark: false
55
56
  };
56
57
  },
57
58
  computed: {
@@ -90,6 +91,7 @@ var TabStripVue2 = {
90
91
  return _this.compTabs.length - 1;
91
92
  }, _a);
92
93
  validatePackage(packageMetadata);
94
+ this.showLicenseWatermark = shouldShowValidationUI(packageMetadata);
93
95
  },
94
96
  watch: {
95
97
  selected: function selected(_prevIndex, _nextIndex) {
@@ -235,7 +237,8 @@ var TabStripVue2 = {
235
237
  _c = _b.tabIndex,
236
238
  tabIndex = _c === void 0 ? 0 : _c;
237
239
  var bottom = tabPosition === 'bottom';
238
- var componentClasses = classNames('k-widget', 'k-tabstrip', (_a = {}, _a['k-tabstrip-left'] = tabPosition === 'left', _a['k-tabstrip-right'] = tabPosition === 'right', _a['k-tabstrip-bottom'] = tabPosition === 'bottom', _a['k-tabstrip-top'] = tabPosition === 'top', _a));
240
+ var componentClasses = classNames('k-widget', 'k-pos-relative', 'k-tabstrip', (_a = {}, _a['k-tabstrip-left'] = tabPosition === 'left', _a['k-tabstrip-right'] = tabPosition === 'right', _a['k-tabstrip-bottom'] = tabPosition === 'bottom', _a['k-tabstrip-top'] = tabPosition === 'top', _a));
241
+ var watermark = this.showLicenseWatermark ? h(WatermarkOverlay) : null;
239
242
  var renderContent = function renderContent(currentTabProps) {
240
243
  var selected = currentTabProps.selected,
241
244
  tabContentStyle = currentTabProps.tabContentStyle;
@@ -299,7 +302,7 @@ var TabStripVue2 = {
299
302
  },
300
303
  onKeydown: this.onKeyDown,
301
304
  tabIndex: tabIndex
302
- })]);
305
+ }), watermark]);
303
306
  }
304
307
  };
305
308
  /**
@@ -3,7 +3,7 @@ import * as Vue from 'vue';
3
3
  var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
- import { getListeners, getTemplate, getter, templateRendering, validatePackage, guid } from '@progress/kendo-vue-common';
6
+ import { getListeners, getTemplate, getter, templateRendering, validatePackage, shouldShowValidationUI, WatermarkOverlay, guid } from '@progress/kendo-vue-common';
7
7
  import { packageMetadata } from '../package-metadata';
8
8
  import { Tile } from './Tile';
9
9
  /**
@@ -42,10 +42,12 @@ var TileLayoutVue2 = {
42
42
  },
43
43
  created: function created() {
44
44
  validatePackage(packageMetadata);
45
+ this.showLicenseWatermark = shouldShowValidationUI(packageMetadata);
45
46
  },
46
47
  data: function data() {
47
48
  return {
48
- currentPositions: []
49
+ currentPositions: [],
50
+ showLicenseWatermark: false
49
51
  };
50
52
  },
51
53
  computed: {
@@ -80,7 +82,8 @@ var TileLayoutVue2 = {
80
82
  var _a;
81
83
  var autoFlow = this.$props.autoFlow;
82
84
  return _a = {
83
- 'k-tilelayout': true
85
+ 'k-tilelayout': true,
86
+ 'k-pos-relative': true
84
87
  }, _a[AUTO_FLOW_CLASSES[autoFlow]] = true, _a;
85
88
  }
86
89
  },
@@ -110,6 +113,7 @@ var TileLayoutVue2 = {
110
113
  gap: gapValue,
111
114
  padding: gapValue
112
115
  };
116
+ var watermark = this.showLicenseWatermark ? h(WatermarkOverlay) : null;
113
117
  return h("div", {
114
118
  dir: this.$props.dir,
115
119
  attrs: this.v3 ? undefined : {
@@ -213,7 +217,7 @@ var TileLayoutVue2 = {
213
217
  "class": 'k-tilelayout-item-body k-card-body'
214
218
  }, [tile.body ? bodyContent : tile.bodyText])]])
215
219
  );
216
- }, this)]);
220
+ }, this), watermark]);
217
221
  },
218
222
  methods: {
219
223
  focus: function focus() {
@@ -4,7 +4,7 @@ var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
6
  import { DrawerNavigation } from './DrawerNavigation.js';
7
- import { getDir, validatePackage, getDefaultSlots, templateRendering, getListeners } from '@progress/kendo-vue-common';
7
+ import { getDir, validatePackage, shouldShowValidationUI, getDefaultSlots, templateRendering, getListeners } from '@progress/kendo-vue-common';
8
8
  import { packageMetadata } from '../package-metadata.js';
9
9
  /**
10
10
  * @hidden
@@ -61,6 +61,7 @@ var DrawerVue2 = {
61
61
  },
62
62
  created: function created() {
63
63
  validatePackage(packageMetadata);
64
+ this.showLicenseWatermark = shouldShowValidationUI(packageMetadata);
64
65
  },
65
66
  data: function data() {
66
67
  var _a = this.$props,
@@ -87,7 +88,8 @@ var DrawerVue2 = {
87
88
  miniWidth: miniWidth,
88
89
  items: items,
89
90
  item: itemRender
90
- }
91
+ },
92
+ showLicenseWatermark: false
91
93
  };
92
94
  },
93
95
  mounted: function mounted() {
@@ -177,8 +179,10 @@ var DrawerVue2 = {
177
179
  },
178
180
  item: itemRender,
179
181
  attrs: this.v3 ? undefined : {
180
- item: itemRender
181
- }
182
+ item: itemRender,
183
+ showLicenseWatermark: this.showLicenseWatermark
184
+ },
185
+ showLicenseWatermark: this.showLicenseWatermark
182
186
  }), defaultSlot]);
183
187
  },
184
188
  methods: {
@@ -16,7 +16,7 @@ var allVue = Vue;
16
16
  var gh = allVue.h;
17
17
  var isV3 = allVue.version && allVue.version[0] === '3';
18
18
  import { DrawerItem } from './DrawerItem.js';
19
- import { getDefaultSlots, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';
19
+ import { getDefaultSlots, templateRendering, getListeners, getTemplate, WatermarkOverlay } from '@progress/kendo-vue-common';
20
20
  /**
21
21
  * @hidden
22
22
  */
@@ -46,7 +46,8 @@ var DrawerNavigationVue2 = {
46
46
  name: 'KendoDrawerNavigation',
47
47
  props: {
48
48
  item: [Object],
49
- tabIndex: Number
49
+ tabIndex: Number,
50
+ showLicenseWatermark: Boolean
50
51
  },
51
52
  inject: {
52
53
  kendoDrawer: {
@@ -122,6 +123,7 @@ var DrawerNavigationVue2 = {
122
123
  WebkitTransitionDuration: (customSettings && customSettings.duration) + 'ms',
123
124
  transitionDuration: (customSettings && customSettings.duration) + 'ms'
124
125
  };
126
+ var watermark = this.showLicenseWatermark ? h(WatermarkOverlay) : null;
125
127
  var drawerAnimation = expanded ? mode === 'push' ? expandPush : expandOverlay : mode === 'push' ? collapsePush : dir === 'ltr' && position === 'start' || dir === 'rtl' && position === 'end' ? mini ? collapseOverlayMini : collapseOverlay : mini ? collapseOverlayMini : collapseOverlayRtl;
126
128
  var drawerItems = items && h("ul", {
127
129
  "class": 'k-drawer-items',
@@ -175,7 +177,7 @@ var DrawerNavigationVue2 = {
175
177
  }
176
178
  });
177
179
  return itemRendering;
178
- }, this)]);
180
+ }, this), watermark]);
179
181
  var drawerNavigation = h("div", {
180
182
  style: drawerAnimation,
181
183
  "class": this.navigationClassNames
@@ -32,6 +32,7 @@ export interface MenuItemInternalComputed {
32
32
  currentFocused: boolean;
33
33
  popupClassName: string;
34
34
  menuItemClassName: object;
35
+ hasItems: boolean;
35
36
  }
36
37
  /**
37
38
  * @hidden
@@ -4,7 +4,7 @@ var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
6
  var ref = allVue.ref;
7
- import { classNames, guid, getTemplate, setRef, getRef, Icon } from '@progress/kendo-vue-common';
7
+ import { classNames, guid, getTemplate, setRef, getRef, Icon, getIconName } from '@progress/kendo-vue-common';
8
8
  import { Popup } from '@progress/kendo-vue-popup';
9
9
  import { shouldOpenItem, isFirstItemFromSiblings } from '../utils/itemsIdsUtils.js';
10
10
  import { getPopupSettings, convertBoolDirectionToString, getDOMElementId } from '../utils/misc.js';
@@ -82,6 +82,9 @@ var MenuItemInternalVue2 = {
82
82
  }
83
83
  },
84
84
  computed: {
85
+ hasItems: function hasItems() {
86
+ return this.$props.item.items.length > 0;
87
+ },
85
88
  currentItemRender: function currentItemRender() {
86
89
  return this.$props.item.render || this.$props.itemRender;
87
90
  },
@@ -93,7 +96,7 @@ var MenuItemInternalVue2 = {
93
96
  },
94
97
  currentOpened: function currentOpened() {
95
98
  var props = this.$props;
96
- return props.item.items.length > 0 && shouldOpenItem(props.item.id, props.lastItemIdToBeOpened) &&
99
+ return this.hasItems && shouldOpenItem(props.item.id, props.lastItemIdToBeOpened) &&
97
100
  // HACK: Wait for the second render because otherwise the scenario of
98
101
  // popup inside popup throws an error (for example, hover of item with id '0_0').
99
102
  !this.isFirstRender;
@@ -134,10 +137,19 @@ var MenuItemInternalVue2 = {
134
137
  render: function render(createElement) {
135
138
  var _this = this;
136
139
  var h = gh || createElement;
137
- var item = this.$props.item;
138
- var itemId = item.id;
140
+ var _a = this.$props.item,
141
+ icon = _a.icon,
142
+ svgIcon = _a.svgIcon,
143
+ id = _a.id,
144
+ contentParentItemId = _a.contentParentItemId,
145
+ items = _a.items,
146
+ text = _a.text,
147
+ cssStyle = _a.cssStyle,
148
+ disabled = _a.disabled,
149
+ url = _a.url;
150
+ var itemId = id;
139
151
  var renderContent = function renderContent() {
140
- var parentItemId = this.$props.item.contentParentItemId;
152
+ var parentItemId = contentParentItemId;
141
153
  var contentRender = function contentRender(args) {
142
154
  return getTemplate.call(this, {
143
155
  h: h,
@@ -157,21 +169,22 @@ var MenuItemInternalVue2 = {
157
169
  })]);
158
170
  };
159
171
  var renderMenuIconIfApplicable = function renderMenuIconIfApplicable() {
160
- return this.$props.item.icon ? h(Icon, {
161
- name: this.$props.item.icon,
172
+ return icon || svgIcon ? h(Icon, {
173
+ name: getIconName(icon),
162
174
  attrs: this.v3 ? undefined : {
163
- name: this.$props.item.icon
175
+ name: getIconName(icon),
176
+ icon: svgIcon
164
177
  },
165
- key: "0"
178
+ icon: svgIcon
166
179
  }) : null;
167
180
  };
168
181
  var renderArrowIfApplicable = function renderArrowIfApplicable() {
169
- return this.$props.item.items.length > 0 ?
182
+ return this.hasItems ?
170
183
  // @ts-ignore
171
184
  h(MenuItemArrow, {
172
- itemId: this.$props.item.id,
185
+ itemId: id,
173
186
  attrs: this.v3 ? undefined : {
174
- itemId: this.$props.item.id,
187
+ itemId: id,
175
188
  verticalMenu: this.$props.isMenuVertical,
176
189
  dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft)
177
190
  },
@@ -180,28 +193,28 @@ var MenuItemInternalVue2 = {
180
193
  key: "2"
181
194
  }) : null;
182
195
  };
183
- var originalItem = this.$props.originalItemNeeded(item.id);
196
+ var originalItem = this.$props.originalItemNeeded(id);
184
197
  var renderMenuItemLink = function renderMenuItemLink() {
185
198
  var _this2 = this;
186
199
  var defaultItemRender = h("span", {
187
200
  "class": "k-menu-link-text"
188
- }, [item.text]);
201
+ }, [text]);
189
202
  var textOrItemRender = getTemplate.call(this, {
190
203
  h: h,
191
204
  template: this.currentItemRender,
192
205
  defaultRendering: defaultItemRender,
193
206
  additionalProps: {
194
207
  item: originalItem,
195
- itemId: item.id,
208
+ itemId: id,
196
209
  key: '1'
197
210
  }
198
211
  });
199
212
  var defaultLink =
200
213
  // @ts-ignore function children
201
214
  h(MenuItemLink, {
202
- url: item.url,
215
+ url: url,
203
216
  attrs: this.v3 ? undefined : {
204
- url: item.url,
217
+ url: url,
205
218
  opened: this.currentOpened,
206
219
  focused: this.currentFocused
207
220
  },
@@ -216,7 +229,7 @@ var MenuItemInternalVue2 = {
216
229
  defaultRendering: defaultLink,
217
230
  additionalProps: {
218
231
  item: originalItem,
219
- itemId: item.id,
232
+ itemId: id,
220
233
  opened: this.currentOpened,
221
234
  dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft)
222
235
  }
@@ -341,15 +354,15 @@ var MenuItemInternalVue2 = {
341
354
  };
342
355
  return h("li", {
343
356
  "class": this.menuItemClassName,
344
- style: item.cssStyle,
357
+ style: cssStyle,
345
358
  tabindex: itemId === this.$props.tabbableItemId ? 0 : -1,
346
359
  attrs: this.v3 ? undefined : {
347
360
  tabindex: itemId === this.$props.tabbableItemId ? 0 : -1,
348
361
  role: "menuitem",
349
- "aria-disabled": item.disabled ? true : undefined,
350
- "aria-haspopup": item.items.length > 0 ? true : undefined,
351
- "aria-expanded": item.items.length > 0 ? this.currentOpened : undefined,
352
- "aria-label": item.text,
362
+ "aria-disabled": disabled ? true : undefined,
363
+ "aria-haspopup": this.hasItems ? true : undefined,
364
+ "aria-expanded": this.hasItems ? this.currentOpened : undefined,
365
+ "aria-label": text,
353
366
  "aria-owns": this.currentOpened ? getDOMElementId(this.$props.menuGuid, itemId) : undefined
354
367
  },
355
368
  onMouseover: this.onMouseOver,
@@ -385,10 +398,10 @@ var MenuItemInternalVue2 = {
385
398
  },
386
399
  onKeydown: this.handleKeyDown,
387
400
  role: "menuitem",
388
- "aria-disabled": item.disabled ? true : undefined,
389
- "aria-haspopup": item.items.length > 0 ? true : undefined,
390
- "aria-expanded": item.items.length > 0 ? this.currentOpened : undefined,
391
- "aria-label": item.text,
401
+ "aria-disabled": disabled ? true : undefined,
402
+ "aria-haspopup": this.hasItems ? true : undefined,
403
+ "aria-expanded": this.hasItems ? this.currentOpened : undefined,
404
+ "aria-label": text,
392
405
  "aria-owns": this.currentOpened ? getDOMElementId(this.$props.menuGuid, itemId) : undefined,
393
406
  ref: setRef(this, 'kendoAnchor', this._anchor),
394
407
  key: "0"