@progress/kendo-angular-menu 17.0.0-develop.3 → 17.0.0-develop.30

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 (60) hide show
  1. package/README.md +35 -16
  2. package/context-menu/context-menu-target.directive.d.ts +1 -1
  3. package/context-menu/context-menu.component.d.ts +1 -1
  4. package/data-binding/flat-binding.directive.d.ts +1 -1
  5. package/data-binding/hierachy-binding.directive.d.ts +1 -1
  6. package/{esm2020 → esm2022}/context-menu/context-menu-event.mjs +16 -0
  7. package/{esm2020 → esm2022}/context-menu/context-menu-items.service.mjs +4 -3
  8. package/{esm2020 → esm2022}/context-menu/context-menu-popup-event.mjs +12 -0
  9. package/{esm2020 → esm2022}/context-menu/context-menu-select-event.mjs +4 -0
  10. package/{esm2020 → esm2022}/context-menu/context-menu-target-container.directive.mjs +8 -3
  11. package/{esm2020 → esm2022}/context-menu/context-menu-target.directive.mjs +16 -7
  12. package/{esm2020 → esm2022}/context-menu/context-menu-target.service.mjs +4 -6
  13. package/{esm2020 → esm2022}/context-menu/context-menu-template.directive.mjs +4 -3
  14. package/{esm2020 → esm2022}/context-menu/context-menu.component.mjs +123 -60
  15. package/{esm2020 → esm2022}/context-menu/context-menu.module.mjs +4 -4
  16. package/{esm2020 → esm2022}/context-menu/context-menu.service.mjs +6 -6
  17. package/{esm2020 → esm2022}/data-binding/binding-directive-base.mjs +6 -3
  18. package/{esm2020 → esm2022}/data-binding/flat-binding.directive.mjs +47 -3
  19. package/{esm2020 → esm2022}/data-binding/hierachy-binding.directive.mjs +43 -3
  20. package/{esm2020 → esm2022}/menu-base.mjs +49 -35
  21. package/{esm2020 → esm2022}/menu-event.mjs +12 -0
  22. package/{esm2020 → esm2022}/menu-item.component.mjs +28 -3
  23. package/{esm2020 → esm2022}/menu-select-event.mjs +4 -0
  24. package/{esm2020 → esm2022}/menu.component.mjs +73 -51
  25. package/{esm2020 → esm2022}/menu.module.mjs +4 -4
  26. package/{esm2020 → esm2022}/menus.module.mjs +4 -4
  27. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  28. package/{esm2020 → esm2022}/preventable-event.mjs +7 -7
  29. package/{esm2020 → esm2022}/rendering/arrow.component.mjs +19 -5
  30. package/{esm2020 → esm2022}/rendering/link.directive.mjs +15 -9
  31. package/{esm2020 → esm2022}/rendering/list.component.mjs +73 -35
  32. package/{esm2020 → esm2022}/services/actions.service.mjs +19 -4
  33. package/{esm2020 → esm2022}/services/hover.service.mjs +13 -10
  34. package/{esm2020 → esm2022}/services/items.service.mjs +6 -8
  35. package/{esm2020 → esm2022}/services/navigation.service.mjs +16 -11
  36. package/{esm2020 → esm2022}/templates/item-content-template.directive.mjs +4 -3
  37. package/{esm2020 → esm2022}/templates/item-link-template.directive.mjs +4 -3
  38. package/{esm2020 → esm2022}/templates/item-template.directive.mjs +4 -3
  39. package/{fesm2020 → fesm2022}/progress-kendo-angular-menu.mjs +653 -298
  40. package/menu-base.d.ts +1 -1
  41. package/menu-item.component.d.ts +1 -1
  42. package/menu.component.d.ts +1 -1
  43. package/package.json +14 -20
  44. package/rendering/arrow.component.d.ts +1 -1
  45. package/rendering/link.directive.d.ts +1 -1
  46. package/rendering/list.component.d.ts +2 -2
  47. package/size.d.ts +1 -1
  48. package/fesm2015/progress-kendo-angular-menu.mjs +0 -3195
  49. /package/{esm2020 → esm2022}/constants.mjs +0 -0
  50. /package/{esm2020 → esm2022}/data-binding/utils.mjs +0 -0
  51. /package/{esm2020 → esm2022}/directives.mjs +0 -0
  52. /package/{esm2020 → esm2022}/dom-queries.mjs +0 -0
  53. /package/{esm2020 → esm2022}/index.mjs +0 -0
  54. /package/{esm2020 → esm2022}/menu-animation.interface.mjs +0 -0
  55. /package/{esm2020 → esm2022}/menu-item.interface.mjs +0 -0
  56. /package/{esm2020 → esm2022}/open-on-click-settings.mjs +0 -0
  57. /package/{esm2020 → esm2022}/progress-kendo-angular-menu.mjs +0 -0
  58. /package/{esm2020 → esm2022}/rendering/popup-settings.mjs +0 -0
  59. /package/{esm2020 → esm2022}/size.mjs +0 -0
  60. /package/{esm2020 → esm2022}/utils.mjs +0 -0
@@ -12,6 +12,50 @@ import * as i1 from "../menu-base";
12
12
  * A directive that converts the provided flat data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
13
13
  */
14
14
  export class FlatBindingDirective extends BindingDirectiveBase {
15
+ /**
16
+ * The array of data which will be used to populate the Menu.
17
+ */
18
+ data;
19
+ /**
20
+ * Defines the `text` field of the items.
21
+ */
22
+ textField;
23
+ /**
24
+ * Defines the `url` field of the items.
25
+ */
26
+ urlField;
27
+ /**
28
+ * Defines the `icon` field of the items.
29
+ */
30
+ iconField;
31
+ /**
32
+ * Defines the `svgIcon` field of the items.
33
+ */
34
+ svgIconField;
35
+ /**
36
+ * Defines the `disabled` field of the items.
37
+ */
38
+ disabledField;
39
+ /**
40
+ * Defines the `cssClass` field of the items.
41
+ */
42
+ cssClassField;
43
+ /**
44
+ * Defines the `cssStyle` field of the items.
45
+ */
46
+ cssStyleField;
47
+ /**
48
+ * Defines the `separator` field of the items.
49
+ */
50
+ separatorField;
51
+ /**
52
+ * Defines the `id` field of the items.
53
+ */
54
+ idField;
55
+ /**
56
+ * Defines the parent `id` field of the items.
57
+ */
58
+ parentIdField;
15
59
  constructor(menu) {
16
60
  super(menu);
17
61
  }
@@ -50,10 +94,10 @@ export class FlatBindingDirective extends BindingDirectiveBase {
50
94
  }
51
95
  return result;
52
96
  }
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FlatBindingDirective, deps: [{ token: i1.MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
98
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FlatBindingDirective, isStandalone: true, selector: "[kendoMenuFlatBinding]", inputs: { data: ["kendoMenuFlatBinding", "data"], textField: "textField", urlField: "urlField", iconField: "iconField", svgIconField: "svgIconField", disabledField: "disabledField", cssClassField: "cssClassField", cssStyleField: "cssStyleField", separatorField: "separatorField", idField: "idField", parentIdField: "parentIdField" }, exportAs: ["kendoMenuFlatBinding"], usesInheritance: true, ngImport: i0 });
53
99
  }
54
- FlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FlatBindingDirective, deps: [{ token: i1.MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
55
- FlatBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FlatBindingDirective, isStandalone: true, selector: "[kendoMenuFlatBinding]", inputs: { data: ["kendoMenuFlatBinding", "data"], textField: "textField", urlField: "urlField", iconField: "iconField", svgIconField: "svgIconField", disabledField: "disabledField", cssClassField: "cssClassField", cssStyleField: "cssStyleField", separatorField: "separatorField", idField: "idField", parentIdField: "parentIdField" }, exportAs: ["kendoMenuFlatBinding"], usesInheritance: true, ngImport: i0 });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FlatBindingDirective, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FlatBindingDirective, decorators: [{
57
101
  type: Directive,
58
102
  args: [{
59
103
  exportAs: 'kendoMenuFlatBinding',
@@ -13,6 +13,46 @@ const getField = (field, level) => Array.isArray(field) ? field[level] || last(f
13
13
  * A directive that converts the provided hierarchical data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
14
14
  */
15
15
  export class HierarchyBindingDirective extends BindingDirectiveBase {
16
+ /**
17
+ * The array of data which will be used to populate the Menu.
18
+ */
19
+ data;
20
+ /**
21
+ * Defines the `text` field (or fields) of an item.
22
+ */
23
+ textField;
24
+ /**
25
+ * Defines the `url` field (or fields) of an item.
26
+ */
27
+ urlField;
28
+ /**
29
+ * Defines the `icon` field (or fields) of an item.
30
+ */
31
+ iconField;
32
+ /**
33
+ * Defines the `svgIcon` field of the items.
34
+ */
35
+ svgIconField;
36
+ /**
37
+ * Defines the `disabled` field (or fields) of an item.
38
+ */
39
+ disabledField;
40
+ /**
41
+ * Defines the `cssClass` field (or fields) of an item.
42
+ */
43
+ cssClassField;
44
+ /**
45
+ * Defines the `cssStyle` field (or fields) of an item.
46
+ */
47
+ cssStyleField;
48
+ /**
49
+ * Defines the `separator` field (or fields) of the items.
50
+ */
51
+ separatorField;
52
+ /**
53
+ * Defines the `children` field (or fields) of the items.
54
+ */
55
+ childrenField;
16
56
  constructor(menu) {
17
57
  super(menu);
18
58
  }
@@ -41,10 +81,10 @@ export class HierarchyBindingDirective extends BindingDirectiveBase {
41
81
  return item[field];
42
82
  }
43
83
  }
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: i1.MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
85
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: HierarchyBindingDirective, isStandalone: true, selector: "[kendoMenuHierarchyBinding]", inputs: { data: ["kendoMenuHierarchyBinding", "data"], textField: "textField", urlField: "urlField", iconField: "iconField", svgIconField: "svgIconField", disabledField: "disabledField", cssClassField: "cssClassField", cssStyleField: "cssStyleField", separatorField: "separatorField", childrenField: "childrenField" }, exportAs: ["kendoMenuHierarchyBinding"], usesInheritance: true, ngImport: i0 });
44
86
  }
45
- HierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: i1.MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
46
- HierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: HierarchyBindingDirective, isStandalone: true, selector: "[kendoMenuHierarchyBinding]", inputs: { data: ["kendoMenuHierarchyBinding", "data"], textField: "textField", urlField: "urlField", iconField: "iconField", svgIconField: "svgIconField", disabledField: "disabledField", cssClassField: "cssClassField", cssStyleField: "cssStyleField", separatorField: "separatorField", childrenField: "childrenField" }, exportAs: ["kendoMenuHierarchyBinding"], usesInheritance: true, ngImport: i0 });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyBindingDirective, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HierarchyBindingDirective, decorators: [{
48
88
  type: Directive,
49
89
  args: [{
50
90
  exportAs: 'kendoMenuHierarchyBinding',
@@ -11,48 +11,62 @@ import * as i0 from "@angular/core";
11
11
  * @hidden
12
12
  */
13
13
  export class MenuBase {
14
- constructor() {
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
- * Sets the Menu size.
36
- *
37
- * The possible values are:
38
- * * `small`
39
- * * `medium` (default)
40
- * * `large`
41
- * * `none`
42
- *
43
- */
44
- this.size = 'medium';
45
- }
14
+ /**
15
+ * Specifies the Menu items.
16
+ */
17
+ items;
18
+ /**
19
+ * Specifies if the Menu will be vertical ([see example]({% slug vertical_menu %})).
20
+ */
21
+ vertical = false;
22
+ /**
23
+ * Specifies that the root items can be opened only on click
24
+ * ([see example]({% slug openclose_menu %}#toc-opening-on-click)).
25
+ */
26
+ openOnClick = false;
27
+ /**
28
+ * Specifies the delay in milliseconds before the Menu items are opened or closed on item hover
29
+ * or leave ([see example]({% slug openclose_menu %}#toc-delay-on-hover)). Used to avoid the accidental
30
+ * opening or closing of the items.
31
+ */
32
+ hoverDelay = 100;
33
+ /**
34
+ * Sets the Menu animation.
35
+ */
36
+ animate = true;
37
+ /**
38
+ * Sets the Menu size.
39
+ *
40
+ * The possible values are:
41
+ * * `small`
42
+ * * `medium` (default)
43
+ * * `large`
44
+ * * `none`
45
+ *
46
+ */
47
+ size = 'medium';
48
+ /**
49
+ * @hidden
50
+ */
51
+ itemTemplate;
52
+ /**
53
+ * @hidden
54
+ */
55
+ itemLinkTemplate;
56
+ /**
57
+ * @hidden
58
+ */
59
+ children;
46
60
  /**
47
61
  * @hidden
48
62
  */
49
63
  get rootItems() {
50
64
  return this.items || (this.children ? this.children.toArray() : []);
51
65
  }
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MenuBase, selector: "kendo-menu-base", inputs: { items: "items", vertical: "vertical", openOnClick: "openOnClick", hoverDelay: "hoverDelay", animate: "animate", size: "size" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
52
68
  }
53
- MenuBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
- MenuBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MenuBase, selector: "kendo-menu-base", inputs: { items: "items", vertical: "vertical", openOnClick: "openOnClick", hoverDelay: "hoverDelay", animate: "animate", size: "size" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuBase, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuBase, decorators: [{
56
70
  type: Component,
57
71
  args: [{
58
72
  selector: 'kendo-menu-base',
@@ -7,4 +7,16 @@ import { PreventableEvent } from './preventable-event';
7
7
  * Arguments for the `open` and `close` events of the Menu.
8
8
  */
9
9
  export class MenuEvent extends PreventableEvent {
10
+ /**
11
+ * The MenuComponent that triggered the event.
12
+ */
13
+ sender;
14
+ /**
15
+ * The item data of the event.
16
+ */
17
+ item;
18
+ /**
19
+ * The item index of the event.
20
+ */
21
+ index;
10
22
  }
@@ -53,6 +53,31 @@ import * as i0 from "@angular/core";
53
53
  * ```
54
54
  */
55
55
  export class MenuItemComponent {
56
+ text;
57
+ url;
58
+ disabled;
59
+ cssClass;
60
+ cssStyle;
61
+ icon;
62
+ svgIcon;
63
+ data;
64
+ separator;
65
+ /**
66
+ * @hidden
67
+ */
68
+ itemTemplate;
69
+ /**
70
+ * @hidden
71
+ */
72
+ itemLinkTemplate;
73
+ /**
74
+ * @hidden
75
+ */
76
+ itemContentTemplate;
77
+ /**
78
+ * @hidden
79
+ */
80
+ children;
56
81
  /**
57
82
  * @hidden
58
83
  */
@@ -85,10 +110,10 @@ export class MenuItemComponent {
85
110
  return this.children.toArray().filter(c => c !== this);
86
111
  }
87
112
  }
113
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
114
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MenuItemComponent, isStandalone: true, selector: "kendo-menu-item", inputs: { text: "text", url: "url", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", icon: "icon", svgIcon: "svgIcon", data: "data", separator: "separator" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "itemContentTemplate", predicate: ItemContentTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
88
115
  }
89
- MenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
- MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MenuItemComponent, isStandalone: true, selector: "kendo-menu-item", inputs: { text: "text", url: "url", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", icon: "icon", svgIcon: "svgIcon", data: "data", separator: "separator" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "itemContentTemplate", predicate: ItemContentTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuItemComponent, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuItemComponent, decorators: [{
92
117
  type: Component,
93
118
  args: [{
94
119
  selector: 'kendo-menu-item',
@@ -7,4 +7,8 @@ import { MenuEvent } from './menu-event';
7
7
  * Arguments for the `select` event of the Menu.
8
8
  */
9
9
  export class MenuSelectEvent extends MenuEvent {
10
+ /**
11
+ * The DOM event that triggered the selection.
12
+ */
13
+ originalEvent;
10
14
  }
@@ -43,39 +43,42 @@ import * as i6 from "./context-menu/context-menu.service";
43
43
  * ```
44
44
  */
45
45
  export class MenuComponent extends MenuBase {
46
- constructor(itemsService, hover, actions, navigation, localization, ngZone, renderer, contextService) {
47
- super();
48
- this.itemsService = itemsService;
49
- this.hover = hover;
50
- this.actions = actions;
51
- this.navigation = navigation;
52
- this.localization = localization;
53
- this.ngZone = ngZone;
54
- this.renderer = renderer;
55
- this.contextService = contextService;
56
- /**
57
- * @hidden
58
- */
59
- this.ariaRole = 'menubar';
60
- /**
61
- * Fires when a Menu item is selected ([see example](slug:events_menu)).
62
- */
63
- this.select = new EventEmitter();
64
- /**
65
- * Fires when a Menu item is opened ([see example](slug:events_menu)).
66
- */
67
- this.open = new EventEmitter();
68
- /**
69
- * Fires when a Menu item is closed ([see example](slug:events_menu)).
70
- */
71
- this.close = new EventEmitter();
72
- validatePackage(packageMetadata);
73
- this.actions.owner = this;
74
- if (contextService) {
75
- contextService.items = this.itemsService;
76
- this.contextKeyDownSubscription = contextService.keydown.subscribe(this.contextKeyDown.bind(this));
77
- }
78
- }
46
+ itemsService;
47
+ hover;
48
+ actions;
49
+ navigation;
50
+ localization;
51
+ ngZone;
52
+ renderer;
53
+ contextService;
54
+ /**
55
+ * Defines the container to which the popups will be appended.
56
+ */
57
+ appendTo;
58
+ /**
59
+ * @hidden
60
+ */
61
+ menuItemTemplate;
62
+ /**
63
+ * @hidden
64
+ */
65
+ ariaRole = 'menubar';
66
+ /**
67
+ * @hidden
68
+ */
69
+ menuItemLinkTemplate;
70
+ /**
71
+ * Fires when a Menu item is selected ([see example](slug:events_menu)).
72
+ */
73
+ select = new EventEmitter();
74
+ /**
75
+ * Fires when a Menu item is opened ([see example](slug:events_menu)).
76
+ */
77
+ open = new EventEmitter();
78
+ /**
79
+ * Fires when a Menu item is closed ([see example](slug:events_menu)).
80
+ */
81
+ close = new EventEmitter();
79
82
  /**
80
83
  * @hidden
81
84
  */
@@ -107,6 +110,25 @@ export class MenuComponent extends MenuBase {
107
110
  }
108
111
  return `${staticClasses} k-menu-${this.vertical ? 'vertical' : 'horizontal'}`;
109
112
  }
113
+ closeClickSubscription;
114
+ contextKeyDownSubscription;
115
+ constructor(itemsService, hover, actions, navigation, localization, ngZone, renderer, contextService) {
116
+ super();
117
+ this.itemsService = itemsService;
118
+ this.hover = hover;
119
+ this.actions = actions;
120
+ this.navigation = navigation;
121
+ this.localization = localization;
122
+ this.ngZone = ngZone;
123
+ this.renderer = renderer;
124
+ this.contextService = contextService;
125
+ validatePackage(packageMetadata);
126
+ this.actions.owner = this;
127
+ if (contextService) {
128
+ contextService.items = this.itemsService;
129
+ this.contextKeyDownSubscription = contextService.keydown.subscribe(this.contextKeyDown.bind(this));
130
+ }
131
+ }
110
132
  /**
111
133
  * Opens or closes the specified Menu items.
112
134
  *
@@ -194,23 +216,22 @@ export class MenuComponent extends MenuBase {
194
216
  this.focus(index);
195
217
  }
196
218
  }
197
- }
198
- MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuComponent, deps: [{ token: i1.ItemsService }, { token: i2.HoverService }, { token: i3.ActionsService }, { token: i4.NavigationService }, { token: i5.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i6.ContextMenuService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
199
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MenuComponent, isStandalone: true, selector: "kendo-menu", inputs: { appendTo: "appendTo", menuItemTemplate: "menuItemTemplate", ariaRole: "ariaRole", menuItemLinkTemplate: "menuItemLinkTemplate" }, outputs: { select: "select", open: "open", close: "close" }, host: { properties: { "class.k-rtl": "this.direction" } }, providers: [
200
- ItemsService,
201
- ActionsService,
202
- NavigationService,
203
- HoverService,
204
- LocalizationService,
205
- {
206
- provide: L10N_PREFIX,
207
- useValue: 'kendo.menu'
208
- },
209
- {
210
- provide: MenuBase,
211
- useExisting: forwardRef(() => MenuComponent)
212
- }
213
- ], exportAs: ["kendoMenu"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
219
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuComponent, deps: [{ token: i1.ItemsService }, { token: i2.HoverService }, { token: i3.ActionsService }, { token: i4.NavigationService }, { token: i5.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i6.ContextMenuService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
220
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MenuComponent, isStandalone: true, selector: "kendo-menu", inputs: { appendTo: "appendTo", menuItemTemplate: "menuItemTemplate", ariaRole: "ariaRole", menuItemLinkTemplate: "menuItemLinkTemplate" }, outputs: { select: "select", open: "open", close: "close" }, host: { properties: { "class.k-rtl": "this.direction" } }, providers: [
221
+ ItemsService,
222
+ ActionsService,
223
+ NavigationService,
224
+ HoverService,
225
+ LocalizationService,
226
+ {
227
+ provide: L10N_PREFIX,
228
+ useValue: 'kendo.menu'
229
+ },
230
+ {
231
+ provide: MenuBase,
232
+ useExisting: forwardRef(() => MenuComponent)
233
+ }
234
+ ], exportAs: ["kendoMenu"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
214
235
  <ul
215
236
  [attr.role]="ariaRole"
216
237
  [attr.aria-orientation]="ariaOrientation"
@@ -221,7 +242,8 @@ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
221
242
  [ngClass]="menuClasses">
222
243
  </ul>
223
244
  `, isInline: true, dependencies: [{ kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuComponent, decorators: [{
245
+ }
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuComponent, decorators: [{
225
247
  type: Component,
226
248
  args: [{
227
249
  exportAs: 'kendoMenu',
@@ -51,11 +51,11 @@ import * as i9 from "./rendering/arrow.component";
51
51
  * ```
52
52
  */
53
53
  export class MenuModule {
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
55
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MenuModule, imports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent], exports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent] });
56
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [i1.MenuComponent, i9.ExpandArrowComponent] });
54
57
  }
55
- MenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
56
- MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MenuModule, imports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent], exports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent] });
57
- MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [i1.MenuComponent, i2.MenuItemComponent, i9.ExpandArrowComponent] });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuModule, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuModule, decorators: [{
59
59
  type: NgModule,
60
60
  args: [{
61
61
  exports: [...KENDO_MENU],
@@ -45,11 +45,11 @@ import * as i13 from "./context-menu/context-menu-target-container.directive";
45
45
  * ```
46
46
  */
47
47
  export class MenusModule {
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenusModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MenusModule, imports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent, i10.ContextMenuComponent, i11.ContextMenuTemplateDirective, i12.ContextMenuTargetDirective, i13.ContextMenuTargetContainerDirective, i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent], exports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent, i10.ContextMenuComponent, i11.ContextMenuTemplateDirective, i12.ContextMenuTargetDirective, i13.ContextMenuTargetContainerDirective, i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent] });
50
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenusModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [i1.MenuComponent, i9.ExpandArrowComponent, i10.ContextMenuComponent, i1.MenuComponent, i9.ExpandArrowComponent] });
48
51
  }
49
- MenusModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenusModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
50
- MenusModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MenusModule, imports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent, i10.ContextMenuComponent, i11.ContextMenuTemplateDirective, i12.ContextMenuTargetDirective, i13.ContextMenuTargetContainerDirective, i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent], exports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent, i10.ContextMenuComponent, i11.ContextMenuTemplateDirective, i12.ContextMenuTargetDirective, i13.ContextMenuTargetContainerDirective, i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent] });
51
- MenusModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenusModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [i1.MenuComponent, i2.MenuItemComponent, i9.ExpandArrowComponent, i10.ContextMenuComponent, i1.MenuComponent, i2.MenuItemComponent, i9.ExpandArrowComponent] });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenusModule, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenusModule, decorators: [{
53
53
  type: NgModule,
54
54
  args: [{
55
55
  exports: [...KENDO_MENUS],
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-menu',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1728917265,
13
- version: '17.0.0-develop.3',
12
+ publishDate: 1730388948,
13
+ version: '17.0.0-develop.30',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -6,13 +6,7 @@
6
6
  * @hidden
7
7
  */
8
8
  export class PreventableEvent {
9
- /**
10
- * @hidden
11
- */
12
- constructor(args) {
13
- this.prevented = false;
14
- Object.assign(this, args);
15
- }
9
+ prevented = false;
16
10
  /**
17
11
  * Prevents the default action for a specified event.
18
12
  * In this way, the source component suppresses
@@ -31,4 +25,10 @@ export class PreventableEvent {
31
25
  isDefaultPrevented() {
32
26
  return this.prevented;
33
27
  }
28
+ /**
29
+ * @hidden
30
+ */
31
+ constructor(args) {
32
+ Object.assign(this, args);
33
+ }
34
34
  }
@@ -13,10 +13,24 @@ import * as i1 from "../services/items.service";
13
13
  * of the items to render the default expand arrow.
14
14
  */
15
15
  export class ExpandArrowComponent {
16
+ itemsService;
17
+ /**
18
+ * The index of the Menu item. The input is mandatory.
19
+ */
20
+ index;
21
+ hostClasses = true;
22
+ ariaHidden = 'true';
23
+ item;
24
+ /**
25
+ * @hidden
26
+ */
27
+ fontIcon;
28
+ /**
29
+ * @hidden
30
+ */
31
+ SVGIcon;
16
32
  constructor(itemsService) {
17
33
  this.itemsService = itemsService;
18
- this.hostClasses = true;
19
- this.ariaHidden = 'true';
20
34
  }
21
35
  ngOnInit() {
22
36
  if (isDevMode() && !this.index) {
@@ -26,10 +40,10 @@ export class ExpandArrowComponent {
26
40
  this.fontIcon = getFontIcon(this.item.horizontal, this.item.rtl);
27
41
  this.SVGIcon = getSVGIcon(this.item.horizontal, this.item.rtl);
28
42
  }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandArrowComponent, deps: [{ token: i1.ItemsService }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ExpandArrowComponent, isStandalone: true, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden" } }, ngImport: i0, template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
29
45
  }
30
- ExpandArrowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExpandArrowComponent, deps: [{ token: i1.ItemsService }], target: i0.ɵɵFactoryTarget.Component });
31
- ExpandArrowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ExpandArrowComponent, isStandalone: true, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden" } }, ngImport: i0, template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExpandArrowComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandArrowComponent, decorators: [{
33
47
  type: Component,
34
48
  args: [{
35
49
  selector: '[kendoMenuExpandArrow]',
@@ -11,25 +11,31 @@ import * as i1 from "../services/items.service";
11
11
  * of the items to apply the default styling and behavior.
12
12
  */
13
13
  export class LinkDirective {
14
- constructor(itemsService) {
15
- this.itemsService = itemsService;
16
- this.hostClasses = true;
17
- this.role = 'presentation';
18
- this.tabindex = '-1';
19
- }
14
+ itemsService;
15
+ /**
16
+ * The index of the Menu item. The input is mandatory.
17
+ */
18
+ index;
19
+ hostClasses = true;
20
+ role = 'presentation';
21
+ tabindex = '-1';
20
22
  get activeClass() {
21
23
  return this.item.opened;
22
24
  }
25
+ item;
26
+ constructor(itemsService) {
27
+ this.itemsService = itemsService;
28
+ }
23
29
  ngOnInit() {
24
30
  if (isDevMode() && !this.index) {
25
31
  throw new Error('The kendoMenuItemLink directive requires the item index to be set.');
26
32
  }
27
33
  this.item = this.itemsService.get(this.index) || {};
28
34
  }
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LinkDirective, deps: [{ token: i1.ItemsService }], target: i0.ɵɵFactoryTarget.Directive });
36
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LinkDirective, isStandalone: true, selector: "[kendoMenuItemLink]", inputs: { index: ["kendoMenuItemLink", "index"] }, host: { properties: { "class.k-link": "this.hostClasses", "class.k-menu-link": "this.hostClasses", "attr.role": "this.role", "attr.tabindex": "this.tabindex", "class.k-active": "this.activeClass" } }, ngImport: i0 });
29
37
  }
30
- LinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LinkDirective, deps: [{ token: i1.ItemsService }], target: i0.ɵɵFactoryTarget.Directive });
31
- LinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LinkDirective, isStandalone: true, selector: "[kendoMenuItemLink]", inputs: { index: ["kendoMenuItemLink", "index"] }, host: { properties: { "class.k-link": "this.hostClasses", "class.k-menu-link": "this.hostClasses", "attr.role": "this.role", "attr.tabindex": "this.tabindex", "class.k-active": "this.activeClass" } }, ngImport: i0 });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LinkDirective, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LinkDirective, decorators: [{
33
39
  type: Directive,
34
40
  args: [{
35
41
  selector: '[kendoMenuItemLink]',