@progress/kendo-angular-menu 21.4.1-develop.1 → 22.0.0-develop.1

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 (49) hide show
  1. package/data-binding/binding-directive-base.d.ts +1 -1
  2. package/fesm2022/progress-kendo-angular-menu.mjs +87 -87
  3. package/menu-base.d.ts +1 -1
  4. package/package.json +11 -19
  5. package/esm2022/constants.mjs +0 -8
  6. package/esm2022/context-menu/context-menu-event.mjs +0 -25
  7. package/esm2022/context-menu/context-menu-items.service.mjs +0 -27
  8. package/esm2022/context-menu/context-menu-popup-event.mjs +0 -29
  9. package/esm2022/context-menu/context-menu-select-event.mjs +0 -14
  10. package/esm2022/context-menu/context-menu-target-container.directive.mjs +0 -49
  11. package/esm2022/context-menu/context-menu-target.directive.mjs +0 -62
  12. package/esm2022/context-menu/context-menu-target.service.mjs +0 -27
  13. package/esm2022/context-menu/context-menu-template.directive.mjs +0 -39
  14. package/esm2022/context-menu/context-menu.component.mjs +0 -527
  15. package/esm2022/context-menu/context-menu.module.mjs +0 -69
  16. package/esm2022/context-menu/context-menu.service.mjs +0 -30
  17. package/esm2022/data-binding/binding-directive-base.mjs +0 -46
  18. package/esm2022/data-binding/flat-binding.directive.mjs +0 -139
  19. package/esm2022/data-binding/hierachy-binding.directive.mjs +0 -124
  20. package/esm2022/data-binding/utils.mjs +0 -31
  21. package/esm2022/directives.mjs +0 -48
  22. package/esm2022/dom-queries.mjs +0 -104
  23. package/esm2022/index.mjs +0 -29
  24. package/esm2022/menu-animation.interface.mjs +0 -5
  25. package/esm2022/menu-base.mjs +0 -103
  26. package/esm2022/menu-event.mjs +0 -22
  27. package/esm2022/menu-item.component.mjs +0 -149
  28. package/esm2022/menu-item.interface.mjs +0 -5
  29. package/esm2022/menu-select-event.mjs +0 -14
  30. package/esm2022/menu.component.mjs +0 -304
  31. package/esm2022/menu.module.mjs +0 -65
  32. package/esm2022/menus.module.mjs +0 -59
  33. package/esm2022/open-on-click-settings.mjs +0 -10
  34. package/esm2022/package-metadata.mjs +0 -16
  35. package/esm2022/preventable-event.mjs +0 -34
  36. package/esm2022/progress-kendo-angular-menu.mjs +0 -8
  37. package/esm2022/rendering/arrow.component.mjs +0 -70
  38. package/esm2022/rendering/link.directive.mjs +0 -69
  39. package/esm2022/rendering/list.component.mjs +0 -679
  40. package/esm2022/rendering/popup-settings.mjs +0 -74
  41. package/esm2022/services/actions.service.mjs +0 -192
  42. package/esm2022/services/hover.service.mjs +0 -127
  43. package/esm2022/services/items.service.mjs +0 -128
  44. package/esm2022/services/navigation.service.mjs +0 -268
  45. package/esm2022/size.mjs +0 -5
  46. package/esm2022/templates/item-content-template.directive.mjs +0 -53
  47. package/esm2022/templates/item-link-template.directive.mjs +0 -57
  48. package/esm2022/templates/item-template.directive.mjs +0 -54
  49. package/esm2022/utils.mjs +0 -52
@@ -1,139 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, Input } from '@angular/core';
6
- import { MenuBase } from '../menu-base';
7
- import { BindingDirectiveBase } from './binding-directive-base';
8
- import { getter } from './utils';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../menu-base";
11
- /**
12
- * Represents a directive that converts the provided flat data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
13
- *
14
- * @example
15
- * ```html
16
- * <kendo-menu [kendoMenuFlatBinding]="flatData" [textField]="'text'" [idField]="'id'" [parentIdField]="'parentId'">
17
- * </kendo-menu>
18
- * ```
19
- *
20
- * @remarks
21
- * Applied to: {@link MenuComponent}.
22
- */
23
- export class FlatBindingDirective extends BindingDirectiveBase {
24
- /**
25
- * Specifies the array of data which will be used to populate the Menu.
26
- */
27
- data;
28
- /**
29
- * Defines the `text` field of the items.
30
- */
31
- textField;
32
- /**
33
- * Defines the `url` field of the items.
34
- */
35
- urlField;
36
- /**
37
- * Defines the `icon` field of the items.
38
- */
39
- iconField;
40
- /**
41
- * Defines the `svgIcon` field of the items.
42
- */
43
- svgIconField;
44
- /**
45
- * Defines the `disabled` field of the items.
46
- */
47
- disabledField;
48
- /**
49
- * Defines the `cssClass` field of the items.
50
- */
51
- cssClassField;
52
- /**
53
- * Defines the `cssStyle` field of the items.
54
- */
55
- cssStyleField;
56
- /**
57
- * Defines the `separator` field of the items.
58
- */
59
- separatorField;
60
- /**
61
- * Defines the `id` field of the items.
62
- */
63
- idField;
64
- /**
65
- * Defines the parent `id` field of the items.
66
- */
67
- parentIdField;
68
- constructor(menu) {
69
- super(menu);
70
- }
71
- mapItems(items) {
72
- if (!this.idField || !this.parentIdField) {
73
- return items.map(item => this.createItem(item));
74
- }
75
- const result = [];
76
- const map = {};
77
- for (let idx = 0; idx < items.length; idx++) {
78
- const item = items[idx];
79
- const menuItem = this.createItem(item);
80
- const id = getter(this.idField)(item);
81
- const parentId = getter(this.parentIdField)(item);
82
- if (parentId === null || parentId === undefined) {
83
- result.push(menuItem);
84
- }
85
- else {
86
- const parent = map[parentId] = map[parentId] || {};
87
- parent.items = parent.items || [];
88
- parent.items.push(menuItem);
89
- }
90
- if (map[id]) {
91
- menuItem.items = map[id].items;
92
- }
93
- map[id] = menuItem;
94
- }
95
- return result;
96
- }
97
- createItem(dataItem) {
98
- const result = { data: dataItem };
99
- const fields = this.fields;
100
- for (let idx = 0; idx < fields.length; idx++) {
101
- const { source, target } = fields[idx];
102
- result[target] = getter(source)(dataItem);
103
- }
104
- return result;
105
- }
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FlatBindingDirective, deps: [{ token: i1.MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
107
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", 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 });
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FlatBindingDirective, decorators: [{
110
- type: Directive,
111
- args: [{
112
- exportAs: 'kendoMenuFlatBinding',
113
- selector: '[kendoMenuFlatBinding]',
114
- standalone: true
115
- }]
116
- }], ctorParameters: () => [{ type: i1.MenuBase }], propDecorators: { data: [{
117
- type: Input,
118
- args: ["kendoMenuFlatBinding"]
119
- }], textField: [{
120
- type: Input
121
- }], urlField: [{
122
- type: Input
123
- }], iconField: [{
124
- type: Input
125
- }], svgIconField: [{
126
- type: Input
127
- }], disabledField: [{
128
- type: Input
129
- }], cssClassField: [{
130
- type: Input
131
- }], cssStyleField: [{
132
- type: Input
133
- }], separatorField: [{
134
- type: Input
135
- }], idField: [{
136
- type: Input
137
- }], parentIdField: [{
138
- type: Input
139
- }] } });
@@ -1,124 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, Input } from '@angular/core';
6
- import { MenuBase } from '../menu-base';
7
- import { BindingDirectiveBase } from './binding-directive-base';
8
- import { getter, last } from './utils';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../menu-base";
11
- const getField = (field, level) => Array.isArray(field) ? field[level] || last(field) : field;
12
- /**
13
- * Represents a directive that converts the provided hierarchical data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
14
- *
15
- * @example
16
- * ```html
17
- * <kendo-menu [kendoMenuHierarchyBinding]="hierarchicalData" [textField]="'text'" [childrenField]="'items'">
18
- * </kendo-menu>
19
- * ```
20
- *
21
- * @remarks
22
- * Applied to: {@link MenuComponent}.
23
- */
24
- export class HierarchyBindingDirective extends BindingDirectiveBase {
25
- /**
26
- * Specifies the array of data which will be used to populate the Menu.
27
- */
28
- data;
29
- /**
30
- * Defines the `text` field (or fields) of an item.
31
- */
32
- textField;
33
- /**
34
- * Defines the `url` field (or fields) of an item.
35
- */
36
- urlField;
37
- /**
38
- * Defines the `icon` field (or fields) of an item.
39
- */
40
- iconField;
41
- /**
42
- * Defines the `svgIcon` field of the items.
43
- */
44
- svgIconField;
45
- /**
46
- * Defines the `disabled` field (or fields) of an item.
47
- */
48
- disabledField;
49
- /**
50
- * Defines the `cssClass` field (or fields) of an item.
51
- */
52
- cssClassField;
53
- /**
54
- * Defines the `cssStyle` field (or fields) of an item.
55
- */
56
- cssStyleField;
57
- /**
58
- * Defines the `separator` field (or fields) of the items.
59
- */
60
- separatorField;
61
- /**
62
- * Defines the `children` field (or fields) of the items.
63
- */
64
- childrenField;
65
- constructor(menu) {
66
- super(menu);
67
- }
68
- mapItems(items, level = 0) {
69
- return items.map((item) => {
70
- const menuItem = this.createItem(item, level);
71
- const children = this.getChildren(item, level);
72
- if (children) {
73
- menuItem.items = this.mapItems(children, level + 1);
74
- }
75
- return menuItem;
76
- });
77
- }
78
- createItem(item, level) {
79
- const result = { data: item };
80
- const fields = this.fields;
81
- for (let idx = 0; idx < fields.length; idx++) {
82
- const { target, source } = fields[idx];
83
- result[target] = getter(getField(source, level))(item);
84
- }
85
- return result;
86
- }
87
- getChildren(item, level) {
88
- if (this.childrenField) {
89
- const field = getField(this.childrenField, level);
90
- return item[field];
91
- }
92
- }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: i1.MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
94
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", 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 });
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HierarchyBindingDirective, decorators: [{
97
- type: Directive,
98
- args: [{
99
- exportAs: 'kendoMenuHierarchyBinding',
100
- selector: '[kendoMenuHierarchyBinding]',
101
- standalone: true
102
- }]
103
- }], ctorParameters: () => [{ type: i1.MenuBase }], propDecorators: { data: [{
104
- type: Input,
105
- args: ["kendoMenuHierarchyBinding"]
106
- }], textField: [{
107
- type: Input
108
- }], urlField: [{
109
- type: Input
110
- }], iconField: [{
111
- type: Input
112
- }], svgIconField: [{
113
- type: Input
114
- }], disabledField: [{
115
- type: Input
116
- }], cssClassField: [{
117
- type: Input
118
- }], cssStyleField: [{
119
- type: Input
120
- }], separatorField: [{
121
- type: Input
122
- }], childrenField: [{
123
- type: Input
124
- }] } });
@@ -1,31 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- const FIELD_REGEX = /\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g;
6
- const getterCache = {};
7
- getterCache['undefined'] = (obj) => obj;
8
- /**
9
- * @hidden
10
- */
11
- export const getter = (field) => {
12
- if (getterCache[field]) {
13
- return getterCache[field];
14
- }
15
- const fields = [];
16
- field.replace(FIELD_REGEX, (_match, index, indexAccessor, name) => {
17
- fields.push(index !== undefined ? index : (indexAccessor || name));
18
- });
19
- getterCache[field] = (obj) => {
20
- let result = obj;
21
- for (let idx = 0; idx < fields.length && result; idx++) {
22
- result = result[fields[idx]];
23
- }
24
- return result;
25
- };
26
- return getterCache[field];
27
- };
28
- /**
29
- * @hidden
30
- */
31
- export const last = (arr) => arr[arr.length - 1];
@@ -1,48 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { MenuComponent } from './menu.component';
6
- import { MenuItemComponent } from './menu-item.component';
7
- import { LinkDirective } from './rendering/link.directive';
8
- import { ExpandArrowComponent } from './rendering/arrow.component';
9
- import { ItemTemplateDirective } from './templates/item-template.directive';
10
- import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
11
- import { ItemContentTemplateDirective } from './templates/item-content-template.directive';
12
- import { HierarchyBindingDirective } from './data-binding/hierachy-binding.directive';
13
- import { FlatBindingDirective } from './data-binding/flat-binding.directive';
14
- import { ContextMenuComponent } from './context-menu/context-menu.component';
15
- import { ContextMenuTemplateDirective } from './context-menu/context-menu-template.directive';
16
- import { ContextMenuTargetDirective } from './context-menu/context-menu-target.directive';
17
- import { ContextMenuTargetContainerDirective } from './context-menu/context-menu-target-container.directive';
18
- /**
19
- * Represents a utility array that contains all `Menu` related components and directives.
20
- */
21
- export const KENDO_MENU = [
22
- MenuComponent,
23
- MenuItemComponent,
24
- ItemTemplateDirective,
25
- ItemLinkTemplateDirective,
26
- ItemContentTemplateDirective,
27
- HierarchyBindingDirective,
28
- FlatBindingDirective,
29
- LinkDirective,
30
- ExpandArrowComponent
31
- ];
32
- /**
33
- * Represents a utility array that contains all `ContextMenu` related components and directives.
34
- */
35
- export const KENDO_CONTEXTMENU = [
36
- ContextMenuComponent,
37
- ContextMenuTemplateDirective,
38
- ContextMenuTargetDirective,
39
- ContextMenuTargetContainerDirective,
40
- ...KENDO_MENU
41
- ];
42
- /**
43
- * Represents a utility array that contains all `@progress/kendo-angular-menu` related components and directives.
44
- */
45
- export const KENDO_MENUS = [
46
- ...KENDO_MENU,
47
- ...KENDO_CONTEXTMENU
48
- ];
@@ -1,104 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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
- const DEFAULT_ID = 'kendo-matches-container';
7
- const focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;
8
- const matches = (element, selector) => (element.matches || element.msMatchesSelector).call(element, selector);
9
- /**
10
- * @hidden
11
- */
12
- export const closest = (node, predicate) => {
13
- while (node && !predicate(node)) {
14
- node = node.parentNode;
15
- }
16
- return node;
17
- };
18
- /**
19
- * @hidden
20
- */
21
- export const closestInScope = (node, predicate, scope) => {
22
- while (node && node !== scope && !predicate(node)) {
23
- node = node.parentNode;
24
- }
25
- if (node !== scope) {
26
- return node;
27
- }
28
- };
29
- /**
30
- * @hidden
31
- */
32
- export const isFocusable = (element) => {
33
- if (element.tagName) {
34
- const tagName = element.tagName.toLowerCase();
35
- const tabIndex = element.getAttribute('tabIndex');
36
- const skipTab = tabIndex === '-1';
37
- let focusable = tabIndex !== null && !skipTab;
38
- if (focusableRegex.test(tagName)) {
39
- focusable = !element.disabled && !skipTab;
40
- }
41
- return focusable;
42
- }
43
- return false;
44
- };
45
- const toClassList = (classNames) => String(classNames).trim().split(' ');
46
- /**
47
- * @hidden
48
- */
49
- export const hasClass = (element, name) => {
50
- return toClassList(element.className).indexOf(name) >= 0;
51
- };
52
- /**
53
- * @hidden
54
- */
55
- export const matchesClasses = (classes) => {
56
- const list = toClassList(classes);
57
- return (element) => {
58
- const classList = toClassList(element.className);
59
- return Boolean(list.find(name => classList.indexOf(name) >= 0));
60
- };
61
- };
62
- /**
63
- * @hidden
64
- */
65
- export const nodeIndex = (node) => node.getAttribute(NODE_INDEX);
66
- /**
67
- * @hidden
68
- */
69
- export const closestItem = (node, scope) => closestInScope(node, nodeIndex, scope);
70
- /**
71
- * @hidden
72
- */
73
- export const closestList = (node) => {
74
- let list = closest(node, matchesClasses('k-menu-popup k-menu k-menu-group'));
75
- if (list && hasClass(list, 'k-menu-popup')) {
76
- list = list.querySelector('.k-menu-group');
77
- }
78
- return list;
79
- };
80
- /**
81
- * @hidden
82
- */
83
- export const inMenu = (node, itemsService) => {
84
- if (node === itemsService.lists[0].element.nativeElement) {
85
- return false;
86
- }
87
- const list = closestList(node);
88
- return list && itemsService.containsList(list);
89
- };
90
- /**
91
- * @hidden
92
- */
93
- export const findInContainer = (element, selector, container) => {
94
- const id = container.getAttribute('id');
95
- if (!id) {
96
- container.setAttribute('id', DEFAULT_ID);
97
- }
98
- const contextSelector = `#${id || DEFAULT_ID} ${selector}`;
99
- const match = closestInScope(element, node => matches(node, contextSelector), container);
100
- if (!id) {
101
- container.removeAttribute('id');
102
- }
103
- return match;
104
- };
package/esm2022/index.mjs DELETED
@@ -1,29 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- export { MenuComponent } from './menu.component';
6
- export { ListComponent, ItemComponent } from './rendering/list.component';
7
- export { LinkDirective } from './rendering/link.directive';
8
- export { ExpandArrowComponent } from './rendering/arrow.component';
9
- export { MenuItemComponent } from './menu-item.component';
10
- export { MenuEvent } from './menu-event';
11
- export { MenuSelectEvent } from './menu-select-event';
12
- export { ItemContentTemplateDirective } from './templates/item-content-template.directive';
13
- export { ItemTemplateDirective } from './templates/item-template.directive';
14
- export { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
15
- export { HierarchyBindingDirective } from './data-binding/hierachy-binding.directive';
16
- export { FlatBindingDirective } from './data-binding/flat-binding.directive';
17
- export { MenuModule } from './menu.module';
18
- export { ContextMenuEvent } from './context-menu/context-menu-event';
19
- export { ContextMenuSelectEvent } from './context-menu/context-menu-select-event';
20
- export { ContextMenuPopupEvent } from './context-menu/context-menu-popup-event';
21
- export { ContextMenuTemplateDirective } from './context-menu/context-menu-template.directive';
22
- export { ContextMenuComponent } from './context-menu/context-menu.component';
23
- export { ContextMenuModule } from './context-menu/context-menu.module';
24
- export { ContextMenuService } from './context-menu/context-menu.service';
25
- export { ItemsService } from './services/items.service';
26
- export { ContextMenuTargetContainerDirective } from './context-menu/context-menu-target-container.directive';
27
- export { ContextMenuTargetDirective } from './context-menu/context-menu-target.directive';
28
- export { MenusModule } from './menus.module';
29
- export * from './directives';
@@ -1,5 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- export {};
@@ -1,103 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Input, ContentChildren, QueryList, Component } from '@angular/core';
6
- import { MenuItemComponent } from './menu-item.component';
7
- import { ItemTemplateDirective } from './templates/item-template.directive';
8
- import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * @hidden
12
- */
13
- export class MenuBase {
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
- * Configures the popup settings for the Menu items.
50
- * Allows customization of the popup class and margin.
51
- */
52
- popupSettings;
53
- /**
54
- * @hidden
55
- */
56
- itemTemplate;
57
- /**
58
- * @hidden
59
- */
60
- itemLinkTemplate;
61
- /**
62
- * @hidden
63
- */
64
- children;
65
- /**
66
- * @hidden
67
- */
68
- get rootItems() {
69
- return this.items || (this.children ? this.children.toArray() : []);
70
- }
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MenuBase, selector: "kendo-menu-base", inputs: { items: "items", vertical: "vertical", openOnClick: "openOnClick", hoverDelay: "hoverDelay", animate: "animate", size: "size", popupSettings: "popupSettings" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuBase, decorators: [{
75
- type: Component,
76
- args: [{
77
- selector: 'kendo-menu-base',
78
- template: ``
79
- }]
80
- }], propDecorators: { items: [{
81
- type: Input
82
- }], vertical: [{
83
- type: Input
84
- }], openOnClick: [{
85
- type: Input
86
- }], hoverDelay: [{
87
- type: Input
88
- }], animate: [{
89
- type: Input
90
- }], size: [{
91
- type: Input
92
- }], popupSettings: [{
93
- type: Input
94
- }], itemTemplate: [{
95
- type: ContentChildren,
96
- args: [ItemTemplateDirective]
97
- }], itemLinkTemplate: [{
98
- type: ContentChildren,
99
- args: [ItemLinkTemplateDirective]
100
- }], children: [{
101
- type: ContentChildren,
102
- args: [MenuItemComponent]
103
- }] } });
@@ -1,22 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { PreventableEvent } from './preventable-event';
6
- /**
7
- * Represents the arguments for the `open` and `close` events of the Menu.
8
- */
9
- export class MenuEvent extends PreventableEvent {
10
- /**
11
- * Specifies the MenuComponent that triggered the event.
12
- */
13
- sender;
14
- /**
15
- * Specifies the item data of the event.
16
- */
17
- item;
18
- /**
19
- * Specifies the item index of the event.
20
- */
21
- index;
22
- }