@progress/kendo-angular-menu 3.0.6 → 4.0.0-next.202203230842

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 (199) hide show
  1. package/bundles/kendo-angular-menu.umd.js +5 -0
  2. package/{dist/es2015/constants.d.ts → constants.d.ts} +0 -0
  3. package/{dist/es2015/context-menu → context-menu}/context-menu-event.d.ts +0 -0
  4. package/{dist/es2015/context-menu → context-menu}/context-menu-items.service.d.ts +3 -0
  5. package/{dist/es2015/context-menu → context-menu}/context-menu-popup-event.d.ts +0 -0
  6. package/{dist/es2015/context-menu → context-menu}/context-menu-select-event.d.ts +0 -0
  7. package/{dist/es2015/context-menu → context-menu}/context-menu-target-container.directive.d.ts +3 -0
  8. package/{dist/es2015/context-menu → context-menu}/context-menu-target.directive.d.ts +3 -0
  9. package/{dist/es2015/context-menu → context-menu}/context-menu-target.service.d.ts +3 -0
  10. package/{dist/es2015/context-menu → context-menu}/context-menu-template.directive.d.ts +3 -0
  11. package/{dist/es2015/context-menu → context-menu}/context-menu.component.d.ts +4 -1
  12. package/{dist/es2015/context-menu → context-menu}/context-menu.module.d.ts +11 -0
  13. package/{dist/es2015/context-menu → context-menu}/context-menu.service.d.ts +3 -0
  14. package/{dist/es2015/data-binding → data-binding}/binding-directive-base.d.ts +3 -0
  15. package/{dist/es2015/data-binding → data-binding}/flat-binding.directive.d.ts +3 -0
  16. package/{dist/es2015/data-binding → data-binding}/hierachy-binding.directive.d.ts +3 -0
  17. package/{dist/es2015/data-binding → data-binding}/utils.d.ts +0 -0
  18. package/{dist/es2015/dom-queries.d.ts → dom-queries.d.ts} +0 -0
  19. package/{dist/es2015 → esm2015}/constants.js +0 -0
  20. package/{dist/es2015 → esm2015}/context-menu/context-menu-event.js +0 -0
  21. package/esm2015/context-menu/context-menu-items.service.js +25 -0
  22. package/{dist/es2015 → esm2015}/context-menu/context-menu-popup-event.js +0 -0
  23. package/{dist/es2015 → esm2015}/context-menu/context-menu-select-event.js +0 -0
  24. package/esm2015/context-menu/context-menu-target-container.directive.js +32 -0
  25. package/esm2015/context-menu/context-menu-target.directive.js +46 -0
  26. package/{dist/es2015 → esm2015}/context-menu/context-menu-target.service.js +8 -10
  27. package/esm2015/context-menu/context-menu-template.directive.js +32 -0
  28. package/{dist/es2015 → esm2015}/context-menu/context-menu.component.js +107 -113
  29. package/{dist/es2015 → esm2015}/context-menu/context-menu.module.js +20 -11
  30. package/{dist/es2015 → esm2015}/context-menu/context-menu.service.js +8 -10
  31. package/{dist/es2015 → esm2015}/data-binding/binding-directive-base.js +11 -0
  32. package/esm2015/data-binding/flat-binding.directive.js +82 -0
  33. package/esm2015/data-binding/hierachy-binding.directive.js +71 -0
  34. package/{dist/es2015 → esm2015}/data-binding/utils.js +0 -1
  35. package/{dist/es2015 → esm2015}/dom-queries.js +0 -3
  36. package/{dist/es/constants.js → esm2015/kendo-angular-menu.js} +2 -2
  37. package/{dist/es → esm2015}/main.js +3 -2
  38. package/{dist/es → esm2015}/menu-animation.interface.js +1 -0
  39. package/esm2015/menu-base.js +69 -0
  40. package/{dist/es2015 → esm2015}/menu-event.js +0 -0
  41. package/{dist/es2015 → esm2015}/menu-item.component.js +41 -60
  42. package/{dist/es → esm2015}/menu-item.interface.js +1 -0
  43. package/{dist/es2015 → esm2015}/menu-select-event.js +0 -0
  44. package/{dist/es2015 → esm2015}/menu.component.js +76 -63
  45. package/{dist/es2015 → esm2015}/menu.module.js +32 -13
  46. package/{dist/es2015 → esm2015}/menus.module.js +12 -9
  47. package/{dist/es2015 → esm2015}/open-on-click-settings.js +0 -1
  48. package/{dist/es2015 → esm2015}/package-metadata.js +1 -1
  49. package/{dist/es2015 → esm2015}/preventable-event.js +0 -0
  50. package/esm2015/rendering/arrow.directive.js +62 -0
  51. package/esm2015/rendering/link.directive.js +54 -0
  52. package/esm2015/rendering/list.component.js +546 -0
  53. package/{dist/es2015 → esm2015}/rendering/popup-settings.js +0 -0
  54. package/{dist/es2015 → esm2015}/services/actions.service.js +21 -14
  55. package/{dist/es2015 → esm2015}/services/hover.service.js +10 -10
  56. package/{dist/es2015 → esm2015}/services/items.service.js +8 -13
  57. package/{dist/es2015 → esm2015}/services/navigation.service.js +12 -15
  58. package/{dist/es2015 → esm2015}/templates/item-content-template.directive.js +14 -12
  59. package/{dist/es2015 → esm2015}/templates/item-link-template.directive.js +14 -12
  60. package/{dist/es2015 → esm2015}/templates/item-template.directive.js +14 -12
  61. package/{dist/es2015 → esm2015}/utils.js +0 -0
  62. package/{dist/fesm2015/index.js → fesm2015/kendo-angular-menu.js} +1112 -1113
  63. package/kendo-angular-menu.d.ts +9 -0
  64. package/{dist/es2015/main.d.ts → main.d.ts} +3 -2
  65. package/{dist/es2015/menu-animation.interface.d.ts → menu-animation.interface.d.ts} +0 -0
  66. package/{dist/es2015/menu-base.d.ts → menu-base.d.ts} +4 -1
  67. package/{dist/es2015/menu-event.d.ts → menu-event.d.ts} +0 -0
  68. package/{dist/es2015/menu-item.component.d.ts → menu-item.component.d.ts} +7 -4
  69. package/{dist/es2015/menu-item.interface.d.ts → menu-item.interface.d.ts} +0 -0
  70. package/{dist/es2015/menu-select-event.d.ts → menu-select-event.d.ts} +0 -0
  71. package/{dist/es2015/menu.component.d.ts → menu.component.d.ts} +7 -4
  72. package/menu.module.d.ts +54 -0
  73. package/{dist/es2015/menus.module.d.ts → menus.module.d.ts} +6 -0
  74. package/{dist/es2015/open-on-click-settings.d.ts → open-on-click-settings.d.ts} +0 -0
  75. package/{dist/es2015/package-metadata.d.ts → package-metadata.d.ts} +0 -0
  76. package/package.json +31 -106
  77. package/{dist/es2015/preventable-event.d.ts → preventable-event.d.ts} +0 -0
  78. package/{dist/es2015/rendering → rendering}/arrow.directive.d.ts +6 -3
  79. package/{dist/es2015/rendering → rendering}/link.directive.d.ts +4 -1
  80. package/rendering/list.component.d.ts +104 -0
  81. package/{dist/es2015/rendering → rendering}/popup-settings.d.ts +0 -0
  82. package/schematics/ngAdd/index.js +5 -2
  83. package/schematics/ngAdd/index.js.map +1 -1
  84. package/{dist/es2015/services → services}/actions.service.d.ts +24 -1
  85. package/{dist/es2015/services → services}/hover.service.d.ts +7 -2
  86. package/{dist/es2015/services → services}/items.service.d.ts +4 -1
  87. package/{dist/es2015/services → services}/navigation.service.d.ts +6 -3
  88. package/{dist/es2015/templates → templates}/item-content-template.directive.d.ts +3 -0
  89. package/{dist/es2015/templates → templates}/item-link-template.directive.d.ts +3 -0
  90. package/{dist/es2015/templates → templates}/item-template.directive.d.ts +3 -0
  91. package/{dist/es2015/utils.d.ts → utils.d.ts} +1 -1
  92. package/dist/cdn/js/kendo-angular-menu.js +0 -20
  93. package/dist/cdn/main.js +0 -5
  94. package/dist/es/context-menu/context-menu-event.js +0 -13
  95. package/dist/es/context-menu/context-menu-items.service.js +0 -26
  96. package/dist/es/context-menu/context-menu-popup-event.js +0 -17
  97. package/dist/es/context-menu/context-menu-select-event.js +0 -17
  98. package/dist/es/context-menu/context-menu-target-container.directive.js +0 -31
  99. package/dist/es/context-menu/context-menu-target.directive.js +0 -48
  100. package/dist/es/context-menu/context-menu-target.service.js +0 -29
  101. package/dist/es/context-menu/context-menu-template.directive.js +0 -31
  102. package/dist/es/context-menu/context-menu.component.js +0 -456
  103. package/dist/es/context-menu/context-menu.module.js +0 -64
  104. package/dist/es/context-menu/context-menu.service.js +0 -30
  105. package/dist/es/data-binding/binding-directive-base.js +0 -32
  106. package/dist/es/data-binding/flat-binding.directive.js +0 -104
  107. package/dist/es/data-binding/hierachy-binding.directive.js +0 -94
  108. package/dist/es/data-binding/utils.js +0 -32
  109. package/dist/es/dom-queries.js +0 -107
  110. package/dist/es/index.js +0 -21
  111. package/dist/es/menu-base.js +0 -79
  112. package/dist/es/menu-event.js +0 -17
  113. package/dist/es/menu-item.component.js +0 -165
  114. package/dist/es/menu-select-event.js +0 -17
  115. package/dist/es/menu.component.js +0 -256
  116. package/dist/es/menu.module.js +0 -79
  117. package/dist/es/menus.module.js +0 -41
  118. package/dist/es/open-on-click-settings.js +0 -13
  119. package/dist/es/package-metadata.js +0 -15
  120. package/dist/es/preventable-event.js +0 -36
  121. package/dist/es/rendering/arrow.directive.js +0 -81
  122. package/dist/es/rendering/item.component.js +0 -337
  123. package/dist/es/rendering/link.directive.js +0 -62
  124. package/dist/es/rendering/list.component.js +0 -219
  125. package/dist/es/rendering/popup-settings.js +0 -66
  126. package/dist/es/services/actions.service.js +0 -178
  127. package/dist/es/services/hover.service.js +0 -136
  128. package/dist/es/services/items.service.js +0 -140
  129. package/dist/es/services/navigation.service.js +0 -274
  130. package/dist/es/templates/item-content-template.directive.js +0 -50
  131. package/dist/es/templates/item-link-template.directive.js +0 -52
  132. package/dist/es/templates/item-template.directive.js +0 -51
  133. package/dist/es/utils.js +0 -18
  134. package/dist/es2015/context-menu/context-menu-items.service.js +0 -25
  135. package/dist/es2015/context-menu/context-menu-target-container.directive.js +0 -30
  136. package/dist/es2015/context-menu/context-menu-target.directive.js +0 -47
  137. package/dist/es2015/context-menu/context-menu-template.directive.js +0 -30
  138. package/dist/es2015/data-binding/flat-binding.directive.js +0 -101
  139. package/dist/es2015/data-binding/hierachy-binding.directive.js +0 -90
  140. package/dist/es2015/index.d.ts +0 -21
  141. package/dist/es2015/index.js +0 -21
  142. package/dist/es2015/index.metadata.json +0 -1
  143. package/dist/es2015/main.js +0 -26
  144. package/dist/es2015/menu-animation.interface.js +0 -4
  145. package/dist/es2015/menu-base.js +0 -73
  146. package/dist/es2015/menu-item.interface.js +0 -4
  147. package/dist/es2015/menu.module.d.ts +0 -38
  148. package/dist/es2015/rendering/arrow.directive.js +0 -68
  149. package/dist/es2015/rendering/item.component.d.ts +0 -64
  150. package/dist/es2015/rendering/item.component.js +0 -327
  151. package/dist/es2015/rendering/link.directive.js +0 -57
  152. package/dist/es2015/rendering/list.component.d.ts +0 -41
  153. package/dist/es2015/rendering/list.component.js +0 -233
  154. package/dist/fesm5/index.js +0 -3222
  155. package/dist/npm/constants.js +0 -10
  156. package/dist/npm/context-menu/context-menu-event.js +0 -15
  157. package/dist/npm/context-menu/context-menu-items.service.js +0 -28
  158. package/dist/npm/context-menu/context-menu-popup-event.js +0 -19
  159. package/dist/npm/context-menu/context-menu-select-event.js +0 -19
  160. package/dist/npm/context-menu/context-menu-target-container.directive.js +0 -33
  161. package/dist/npm/context-menu/context-menu-target.directive.js +0 -50
  162. package/dist/npm/context-menu/context-menu-target.service.js +0 -31
  163. package/dist/npm/context-menu/context-menu-template.directive.js +0 -33
  164. package/dist/npm/context-menu/context-menu.component.js +0 -459
  165. package/dist/npm/context-menu/context-menu.module.js +0 -66
  166. package/dist/npm/context-menu/context-menu.service.js +0 -32
  167. package/dist/npm/data-binding/binding-directive-base.js +0 -34
  168. package/dist/npm/data-binding/flat-binding.directive.js +0 -106
  169. package/dist/npm/data-binding/hierachy-binding.directive.js +0 -96
  170. package/dist/npm/data-binding/utils.js +0 -34
  171. package/dist/npm/dom-queries.js +0 -110
  172. package/dist/npm/index.js +0 -37
  173. package/dist/npm/main.js +0 -50
  174. package/dist/npm/menu-animation.interface.js +0 -6
  175. package/dist/npm/menu-base.js +0 -81
  176. package/dist/npm/menu-event.js +0 -19
  177. package/dist/npm/menu-item.component.js +0 -167
  178. package/dist/npm/menu-item.interface.js +0 -6
  179. package/dist/npm/menu-select-event.js +0 -19
  180. package/dist/npm/menu.component.js +0 -258
  181. package/dist/npm/menu.module.js +0 -81
  182. package/dist/npm/menus.module.js +0 -43
  183. package/dist/npm/open-on-click-settings.js +0 -15
  184. package/dist/npm/package-metadata.js +0 -17
  185. package/dist/npm/preventable-event.js +0 -38
  186. package/dist/npm/rendering/arrow.directive.js +0 -83
  187. package/dist/npm/rendering/item.component.js +0 -339
  188. package/dist/npm/rendering/link.directive.js +0 -64
  189. package/dist/npm/rendering/list.component.js +0 -221
  190. package/dist/npm/rendering/popup-settings.js +0 -68
  191. package/dist/npm/services/actions.service.js +0 -180
  192. package/dist/npm/services/hover.service.js +0 -138
  193. package/dist/npm/services/items.service.js +0 -143
  194. package/dist/npm/services/navigation.service.js +0 -276
  195. package/dist/npm/templates/item-content-template.directive.js +0 -52
  196. package/dist/npm/templates/item-link-template.directive.js +0 -54
  197. package/dist/npm/templates/item-template.directive.js +0 -53
  198. package/dist/npm/utils.js +0 -20
  199. package/dist/systemjs/kendo-angular-menu.js +0 -5
@@ -1,104 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, Input } from '@angular/core';
7
- import { MenuBase } from '../menu-base';
8
- import { BindingDirectiveBase } from './binding-directive-base';
9
- import { getter } from './utils';
10
- /* tslint:disable:no-input-rename */
11
- /**
12
- * A directive that converts the provided flat data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
13
- */
14
- var FlatBindingDirective = /** @class */ (function (_super) {
15
- tslib_1.__extends(FlatBindingDirective, _super);
16
- function FlatBindingDirective(menu) {
17
- return _super.call(this, menu) || this;
18
- }
19
- FlatBindingDirective.prototype.mapItems = function (items) {
20
- var _this = this;
21
- if (!this.idField || !this.parentIdField) {
22
- return items.map(function (item) { return _this.createItem(item); });
23
- }
24
- var result = [];
25
- var map = {};
26
- for (var idx = 0; idx < items.length; idx++) {
27
- var item = items[idx];
28
- var menuItem = this.createItem(item);
29
- var id = getter(this.idField)(item);
30
- var parentId = getter(this.parentIdField)(item);
31
- if (parentId === null || parentId === undefined) {
32
- result.push(menuItem);
33
- }
34
- else {
35
- var parent_1 = map[parentId] = map[parentId] || {};
36
- parent_1.items = parent_1.items || [];
37
- parent_1.items.push(menuItem);
38
- }
39
- if (map[id]) {
40
- menuItem.items = map[id].items;
41
- }
42
- map[id] = menuItem;
43
- }
44
- return result;
45
- };
46
- FlatBindingDirective.prototype.createItem = function (dataItem) {
47
- var result = { data: dataItem };
48
- var fields = this.fields;
49
- for (var idx = 0; idx < fields.length; idx++) {
50
- var _a = fields[idx], source = _a.source, target = _a.target;
51
- result[target] = getter(source)(dataItem);
52
- }
53
- return result;
54
- };
55
- tslib_1.__decorate([
56
- Input("kendoMenuFlatBinding"),
57
- tslib_1.__metadata("design:type", Array)
58
- ], FlatBindingDirective.prototype, "data", void 0);
59
- tslib_1.__decorate([
60
- Input(),
61
- tslib_1.__metadata("design:type", String)
62
- ], FlatBindingDirective.prototype, "textField", void 0);
63
- tslib_1.__decorate([
64
- Input(),
65
- tslib_1.__metadata("design:type", String)
66
- ], FlatBindingDirective.prototype, "urlField", void 0);
67
- tslib_1.__decorate([
68
- Input(),
69
- tslib_1.__metadata("design:type", Object)
70
- ], FlatBindingDirective.prototype, "iconField", void 0);
71
- tslib_1.__decorate([
72
- Input(),
73
- tslib_1.__metadata("design:type", String)
74
- ], FlatBindingDirective.prototype, "disabledField", void 0);
75
- tslib_1.__decorate([
76
- Input(),
77
- tslib_1.__metadata("design:type", String)
78
- ], FlatBindingDirective.prototype, "cssClassField", void 0);
79
- tslib_1.__decorate([
80
- Input(),
81
- tslib_1.__metadata("design:type", String)
82
- ], FlatBindingDirective.prototype, "cssStyleField", void 0);
83
- tslib_1.__decorate([
84
- Input(),
85
- tslib_1.__metadata("design:type", String)
86
- ], FlatBindingDirective.prototype, "separatorField", void 0);
87
- tslib_1.__decorate([
88
- Input(),
89
- tslib_1.__metadata("design:type", String)
90
- ], FlatBindingDirective.prototype, "idField", void 0);
91
- tslib_1.__decorate([
92
- Input(),
93
- tslib_1.__metadata("design:type", String)
94
- ], FlatBindingDirective.prototype, "parentIdField", void 0);
95
- FlatBindingDirective = tslib_1.__decorate([
96
- Directive({
97
- exportAs: 'kendoMenuFlatBinding',
98
- selector: '[kendoMenuFlatBinding]'
99
- }),
100
- tslib_1.__metadata("design:paramtypes", [MenuBase])
101
- ], FlatBindingDirective);
102
- return FlatBindingDirective;
103
- }(BindingDirectiveBase));
104
- export { FlatBindingDirective };
@@ -1,94 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, Input } from '@angular/core';
7
- import { MenuBase } from '../menu-base';
8
- import { BindingDirectiveBase } from './binding-directive-base';
9
- import { getter, last } from './utils';
10
- var getField = function (field, level) { return Array.isArray(field) ? field[level] || last(field) : field; };
11
- var ɵ0 = getField;
12
- /* tslint:disable:no-input-rename */
13
- /**
14
- * A directive that converts the provided hierarchical data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
15
- */
16
- var HierarchyBindingDirective = /** @class */ (function (_super) {
17
- tslib_1.__extends(HierarchyBindingDirective, _super);
18
- function HierarchyBindingDirective(menu) {
19
- return _super.call(this, menu) || this;
20
- }
21
- HierarchyBindingDirective.prototype.mapItems = function (items, level) {
22
- var _this = this;
23
- if (level === void 0) { level = 0; }
24
- return items.map(function (item) {
25
- var menuItem = _this.createItem(item, level);
26
- var children = _this.getChildren(item, level);
27
- if (children) {
28
- menuItem.items = _this.mapItems(children, level + 1);
29
- }
30
- return menuItem;
31
- });
32
- };
33
- HierarchyBindingDirective.prototype.createItem = function (item, level) {
34
- var result = { data: item };
35
- var fields = this.fields;
36
- for (var idx = 0; idx < fields.length; idx++) {
37
- var _a = fields[idx], target = _a.target, source = _a.source;
38
- result[target] = getter(getField(source, level))(item);
39
- }
40
- return result;
41
- };
42
- HierarchyBindingDirective.prototype.getChildren = function (item, level) {
43
- if (this.childrenField) {
44
- var field = getField(this.childrenField, level);
45
- return item[field];
46
- }
47
- };
48
- tslib_1.__decorate([
49
- Input("kendoMenuHierarchyBinding"),
50
- tslib_1.__metadata("design:type", Array)
51
- ], HierarchyBindingDirective.prototype, "data", void 0);
52
- tslib_1.__decorate([
53
- Input(),
54
- tslib_1.__metadata("design:type", Object)
55
- ], HierarchyBindingDirective.prototype, "textField", void 0);
56
- tslib_1.__decorate([
57
- Input(),
58
- tslib_1.__metadata("design:type", Object)
59
- ], HierarchyBindingDirective.prototype, "urlField", void 0);
60
- tslib_1.__decorate([
61
- Input(),
62
- tslib_1.__metadata("design:type", Object)
63
- ], HierarchyBindingDirective.prototype, "iconField", void 0);
64
- tslib_1.__decorate([
65
- Input(),
66
- tslib_1.__metadata("design:type", Object)
67
- ], HierarchyBindingDirective.prototype, "disabledField", void 0);
68
- tslib_1.__decorate([
69
- Input(),
70
- tslib_1.__metadata("design:type", Object)
71
- ], HierarchyBindingDirective.prototype, "cssClassField", void 0);
72
- tslib_1.__decorate([
73
- Input(),
74
- tslib_1.__metadata("design:type", Object)
75
- ], HierarchyBindingDirective.prototype, "cssStyleField", void 0);
76
- tslib_1.__decorate([
77
- Input(),
78
- tslib_1.__metadata("design:type", Object)
79
- ], HierarchyBindingDirective.prototype, "separatorField", void 0);
80
- tslib_1.__decorate([
81
- Input(),
82
- tslib_1.__metadata("design:type", Object)
83
- ], HierarchyBindingDirective.prototype, "childrenField", void 0);
84
- HierarchyBindingDirective = tslib_1.__decorate([
85
- Directive({
86
- exportAs: 'kendoMenuHierarchyBinding',
87
- selector: '[kendoMenuHierarchyBinding]'
88
- }),
89
- tslib_1.__metadata("design:paramtypes", [MenuBase])
90
- ], HierarchyBindingDirective);
91
- return HierarchyBindingDirective;
92
- }(BindingDirectiveBase));
93
- export { HierarchyBindingDirective };
94
- export { ɵ0 };
@@ -1,32 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- var FIELD_REGEX = /\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g;
6
- var getterCache = {};
7
- // tslint:disable-next-line:no-string-literal
8
- getterCache['undefined'] = function (obj) { return obj; };
9
- /**
10
- * @hidden
11
- */
12
- export var getter = function (field) {
13
- if (getterCache[field]) {
14
- return getterCache[field];
15
- }
16
- var fields = [];
17
- field.replace(FIELD_REGEX, function (_match, index, indexAccessor, name) {
18
- fields.push(index !== undefined ? index : (indexAccessor || name));
19
- });
20
- getterCache[field] = function (obj) {
21
- var result = obj;
22
- for (var idx = 0; idx < fields.length && result; idx++) {
23
- result = result[fields[idx]];
24
- }
25
- return result;
26
- };
27
- return getterCache[field];
28
- };
29
- /**
30
- * @hidden
31
- */
32
- export var last = function (arr) { return arr[arr.length - 1]; };
@@ -1,107 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { NODE_INDEX } from './constants';
6
- var DEFAULT_ID = 'kendo-matches-container';
7
- var focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;
8
- var matches = function (element, selector) { return (element.matches || element.msMatchesSelector).call(element, selector); };
9
- var ɵ0 = matches;
10
- /**
11
- * @hidden
12
- */
13
- export var closest = function (node, predicate) {
14
- while (node && !predicate(node)) {
15
- node = node.parentNode;
16
- }
17
- return node;
18
- };
19
- /**
20
- * @hidden
21
- */
22
- export var closestInScope = function (node, predicate, scope) {
23
- while (node && node !== scope && !predicate(node)) {
24
- node = node.parentNode;
25
- }
26
- if (node !== scope) {
27
- return node;
28
- }
29
- };
30
- /**
31
- * @hidden
32
- */
33
- export var isFocusable = function (element) {
34
- if (element.tagName) {
35
- var tagName = element.tagName.toLowerCase();
36
- var tabIndex = element.getAttribute('tabIndex');
37
- var skipTab = tabIndex === '-1';
38
- var focusable = tabIndex !== null && !skipTab;
39
- if (focusableRegex.test(tagName)) {
40
- focusable = !element.disabled && !skipTab;
41
- }
42
- return focusable;
43
- }
44
- return false;
45
- };
46
- var toClassList = function (classNames) { return String(classNames).trim().split(' '); };
47
- var ɵ1 = toClassList;
48
- /**
49
- * @hidden
50
- */
51
- export var hasClass = function (element, name) {
52
- return toClassList(element.className).indexOf(name) >= 0;
53
- };
54
- /**
55
- * @hidden
56
- */
57
- export var matchesClasses = function (classes) {
58
- var list = toClassList(classes);
59
- return function (element) {
60
- var classList = toClassList(element.className);
61
- return Boolean(list.find(function (name) { return classList.indexOf(name) >= 0; }));
62
- };
63
- };
64
- /**
65
- * @hidden
66
- */
67
- export var nodeIndex = function (node) { return node.getAttribute(NODE_INDEX); };
68
- /**
69
- * @hidden
70
- */
71
- export var closestItem = function (node, scope) { return closestInScope(node, nodeIndex, scope); };
72
- /**
73
- * @hidden
74
- */
75
- export var closestList = function (node) {
76
- var list = closest(node, matchesClasses('k-menu-popup k-menu k-menu-group'));
77
- if (list && hasClass(list, 'k-menu-popup')) {
78
- list = list.querySelector('.k-menu-group');
79
- }
80
- return list;
81
- };
82
- /**
83
- * @hidden
84
- */
85
- export var inMenu = function (node, itemsService) {
86
- if (node === itemsService.lists[0].element.nativeElement) {
87
- return false;
88
- }
89
- var list = closestList(node);
90
- return list && itemsService.containsList(list);
91
- };
92
- /**
93
- * @hidden
94
- */
95
- export var findInContainer = function (element, selector, container) {
96
- var id = container.getAttribute('id');
97
- if (!id) {
98
- container.setAttribute('id', DEFAULT_ID);
99
- }
100
- var contextSelector = "#" + (id || DEFAULT_ID) + " " + selector;
101
- var match = closestInScope(element, function (node) { return matches(node, contextSelector); }, container);
102
- if (!id) {
103
- container.removeAttribute('id');
104
- }
105
- return match;
106
- };
107
- export { ɵ0, ɵ1 };
package/dist/es/index.js DELETED
@@ -1,21 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- /**
6
- * Generated bundle index. Do not edit.
7
- */
8
- export * from './main';
9
- export { NODE_INDEX } from './constants';
10
- export { ContextMenuItemsService } from './context-menu/context-menu-items.service';
11
- export { ContextMenuTargetContainerDirective } from './context-menu/context-menu-target-container.directive';
12
- export { ContextMenuTargetDirective } from './context-menu/context-menu-target.directive';
13
- export { ContextMenuTargetService } from './context-menu/context-menu-target.service';
14
- export { BindingDirectiveBase } from './data-binding/binding-directive-base';
15
- export { MenuBase } from './menu-base';
16
- export { PreventableEvent } from './preventable-event';
17
- export { ActionsService } from './services/actions.service';
18
- export { HoverService } from './services/hover.service';
19
- export { ItemsService } from './services/items.service';
20
- export { NavigationService } from './services/navigation.service';
21
- export { bodyFactory } from './utils';
@@ -1,79 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Input, ContentChildren, QueryList } from '@angular/core';
7
- import { MenuItemComponent } from './menu-item.component';
8
- import { ItemTemplateDirective } from './templates/item-template.directive';
9
- import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
10
- /**
11
- * @hidden
12
- */
13
- var MenuBase = /** @class */ (function () {
14
- function MenuBase() {
15
- /**
16
- * Specifies if the Menu will be vertical ([see example]({% slug vertical_menu %})).
17
- */
18
- this.vertical = false;
19
- /**
20
- * Specifies that the root items can be opened only on click
21
- * ([see example]({% slug openclose_menu %}#toc-opening-on-click)).
22
- */
23
- this.openOnClick = false;
24
- /**
25
- * Specifies the delay in milliseconds before the Menu items are opened or closed on item hover
26
- * or leave ([see example]({% slug openclose_menu %}#toc-delay-on-hover)). Used to avoid the accidental
27
- * opening or closing of the items.
28
- */
29
- this.hoverDelay = 100;
30
- /**
31
- * Sets the Menu animation.
32
- */
33
- this.animate = true;
34
- }
35
- Object.defineProperty(MenuBase.prototype, "rootItems", {
36
- /**
37
- * @hidden
38
- */
39
- get: function () {
40
- return this.items || (this.children ? this.children.toArray() : []);
41
- },
42
- enumerable: true,
43
- configurable: true
44
- });
45
- tslib_1.__decorate([
46
- Input(),
47
- tslib_1.__metadata("design:type", Array)
48
- ], MenuBase.prototype, "items", void 0);
49
- tslib_1.__decorate([
50
- Input(),
51
- tslib_1.__metadata("design:type", Boolean)
52
- ], MenuBase.prototype, "vertical", void 0);
53
- tslib_1.__decorate([
54
- Input(),
55
- tslib_1.__metadata("design:type", Object)
56
- ], MenuBase.prototype, "openOnClick", void 0);
57
- tslib_1.__decorate([
58
- Input(),
59
- tslib_1.__metadata("design:type", Number)
60
- ], MenuBase.prototype, "hoverDelay", void 0);
61
- tslib_1.__decorate([
62
- Input(),
63
- tslib_1.__metadata("design:type", Object)
64
- ], MenuBase.prototype, "animate", void 0);
65
- tslib_1.__decorate([
66
- ContentChildren(ItemTemplateDirective),
67
- tslib_1.__metadata("design:type", QueryList)
68
- ], MenuBase.prototype, "itemTemplate", void 0);
69
- tslib_1.__decorate([
70
- ContentChildren(ItemLinkTemplateDirective),
71
- tslib_1.__metadata("design:type", QueryList)
72
- ], MenuBase.prototype, "itemLinkTemplate", void 0);
73
- tslib_1.__decorate([
74
- ContentChildren(MenuItemComponent),
75
- tslib_1.__metadata("design:type", QueryList)
76
- ], MenuBase.prototype, "children", void 0);
77
- return MenuBase;
78
- }());
79
- export { MenuBase };
@@ -1,17 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { PreventableEvent } from './preventable-event';
7
- /**
8
- * Arguments for the `open` and `close` events of the Menu.
9
- */
10
- var MenuEvent = /** @class */ (function (_super) {
11
- tslib_1.__extends(MenuEvent, _super);
12
- function MenuEvent() {
13
- return _super !== null && _super.apply(this, arguments) || this;
14
- }
15
- return MenuEvent;
16
- }(PreventableEvent));
17
- export { MenuEvent };
@@ -1,165 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Component, Input, ContentChildren, QueryList } from '@angular/core';
7
- import { ItemTemplateDirective } from './templates/item-template.directive';
8
- import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
9
- import { ItemContentTemplateDirective } from './templates/item-content-template.directive';
10
- /**
11
- * A component that can be used to specify the Menu items
12
- * ([more information and examples]({% slug items_menu %})).
13
- *
14
- * @example
15
- * ```ts-preview
16
- *
17
- * _@Component({
18
- * selector: 'my-app',
19
- * template: `
20
- * <kendo-menu>
21
- * <kendo-menu-item text="item1">
22
- * <kendo-menu-item text="item1.1" url="https://example.com">
23
- * </kendo-menu-item>
24
- * <kendo-menu-item text="item1.2" [disabled]="true">
25
- * </kendo-menu-item>
26
- * </kendo-menu-item>
27
- * <kendo-menu-item text="item2">
28
- * <ng-template kendoMenuItemContentTemplate let-item="item">
29
- * <div style="padding: 10px;">
30
- * My Content Template: {{ item.text }}
31
- * </div>
32
- * </ng-template>
33
- * <ng-template kendoMenuItemTemplate let-item="item">
34
- * <div style="padding: 10px;">
35
- * My Template: {{ item.text }}
36
- * </div>
37
- * </ng-template>
38
- * </kendo-menu-item>
39
- * <kendo-menu-item text="item3">
40
- * <ng-template kendoMenuItemLinkTemplate let-item="item" let-index="index">
41
- * <span [kendoMenuItemLink]="index">
42
- * {{ item.text }}
43
- * <span *ngIf="item.items && item.items.length" [kendoMenuExpandArrow]="index"></span>
44
- * </span>
45
- * </ng-template>
46
- * </kendo-menu-item>
47
- * </kendo-menu>
48
- * `
49
- * })
50
- *
51
- * class AppComponent {
52
- * }
53
- * ```
54
- */
55
- var MenuItemComponent = /** @class */ (function () {
56
- function MenuItemComponent() {
57
- }
58
- MenuItemComponent_1 = MenuItemComponent;
59
- Object.defineProperty(MenuItemComponent.prototype, "template", {
60
- /**
61
- * @hidden
62
- */
63
- get: function () {
64
- if (this.itemTemplate && this.itemTemplate.length) {
65
- return this.itemTemplate.first.templateRef;
66
- }
67
- },
68
- enumerable: true,
69
- configurable: true
70
- });
71
- Object.defineProperty(MenuItemComponent.prototype, "linkTemplate", {
72
- /**
73
- * @hidden
74
- */
75
- get: function () {
76
- if (this.itemLinkTemplate && this.itemLinkTemplate.length) {
77
- return this.itemLinkTemplate.first.templateRef;
78
- }
79
- },
80
- enumerable: true,
81
- configurable: true
82
- });
83
- Object.defineProperty(MenuItemComponent.prototype, "contentTemplate", {
84
- /**
85
- * @hidden
86
- */
87
- get: function () {
88
- if (this.itemContentTemplate && this.itemContentTemplate.length) {
89
- return this.itemContentTemplate.first.templateRef;
90
- }
91
- },
92
- enumerable: true,
93
- configurable: true
94
- });
95
- Object.defineProperty(MenuItemComponent.prototype, "items", {
96
- /**
97
- * @hidden
98
- */
99
- get: function () {
100
- var _this = this;
101
- if (this.children.length) {
102
- return this.children.toArray().filter(function (c) { return c !== _this; });
103
- }
104
- },
105
- enumerable: true,
106
- configurable: true
107
- });
108
- var MenuItemComponent_1;
109
- tslib_1.__decorate([
110
- Input(),
111
- tslib_1.__metadata("design:type", String)
112
- ], MenuItemComponent.prototype, "text", void 0);
113
- tslib_1.__decorate([
114
- Input(),
115
- tslib_1.__metadata("design:type", String)
116
- ], MenuItemComponent.prototype, "url", void 0);
117
- tslib_1.__decorate([
118
- Input(),
119
- tslib_1.__metadata("design:type", Boolean)
120
- ], MenuItemComponent.prototype, "disabled", void 0);
121
- tslib_1.__decorate([
122
- Input(),
123
- tslib_1.__metadata("design:type", Object)
124
- ], MenuItemComponent.prototype, "cssClass", void 0);
125
- tslib_1.__decorate([
126
- Input(),
127
- tslib_1.__metadata("design:type", Object)
128
- ], MenuItemComponent.prototype, "cssStyle", void 0);
129
- tslib_1.__decorate([
130
- Input(),
131
- tslib_1.__metadata("design:type", String)
132
- ], MenuItemComponent.prototype, "icon", void 0);
133
- tslib_1.__decorate([
134
- Input(),
135
- tslib_1.__metadata("design:type", Object)
136
- ], MenuItemComponent.prototype, "data", void 0);
137
- tslib_1.__decorate([
138
- Input(),
139
- tslib_1.__metadata("design:type", Boolean)
140
- ], MenuItemComponent.prototype, "separator", void 0);
141
- tslib_1.__decorate([
142
- ContentChildren(ItemTemplateDirective),
143
- tslib_1.__metadata("design:type", QueryList)
144
- ], MenuItemComponent.prototype, "itemTemplate", void 0);
145
- tslib_1.__decorate([
146
- ContentChildren(ItemLinkTemplateDirective),
147
- tslib_1.__metadata("design:type", QueryList)
148
- ], MenuItemComponent.prototype, "itemLinkTemplate", void 0);
149
- tslib_1.__decorate([
150
- ContentChildren(ItemContentTemplateDirective),
151
- tslib_1.__metadata("design:type", QueryList)
152
- ], MenuItemComponent.prototype, "itemContentTemplate", void 0);
153
- tslib_1.__decorate([
154
- ContentChildren(MenuItemComponent_1),
155
- tslib_1.__metadata("design:type", QueryList)
156
- ], MenuItemComponent.prototype, "children", void 0);
157
- MenuItemComponent = MenuItemComponent_1 = tslib_1.__decorate([
158
- Component({
159
- selector: 'kendo-menu-item',
160
- template: ""
161
- })
162
- ], MenuItemComponent);
163
- return MenuItemComponent;
164
- }());
165
- export { MenuItemComponent };
@@ -1,17 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { MenuEvent } from './menu-event';
7
- /**
8
- * Arguments for the `select` event of the Menu.
9
- */
10
- var MenuSelectEvent = /** @class */ (function (_super) {
11
- tslib_1.__extends(MenuSelectEvent, _super);
12
- function MenuSelectEvent() {
13
- return _super !== null && _super.apply(this, arguments) || this;
14
- }
15
- return MenuSelectEvent;
16
- }(MenuEvent));
17
- export { MenuSelectEvent };