@progress/kendo-angular-menu 24.2.2 → 25.0.0-develop.2

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 (47) hide show
  1. package/fesm2022/progress-kendo-angular-menu.mjs +748 -235
  2. package/index.d.ts +1588 -30
  3. package/package-metadata.mjs +2 -2
  4. package/package.json +11 -11
  5. package/constants.d.ts +0 -8
  6. package/context-menu/context-menu-event.d.ts +0 -26
  7. package/context-menu/context-menu-items.service.d.ts +0 -16
  8. package/context-menu/context-menu-popup-event.d.ts +0 -27
  9. package/context-menu/context-menu-select-event.d.ts +0 -14
  10. package/context-menu/context-menu-target-container.directive.d.ts +0 -34
  11. package/context-menu/context-menu-target.directive.d.ts +0 -39
  12. package/context-menu/context-menu-target.service.d.ts +0 -16
  13. package/context-menu/context-menu-template.directive.d.ts +0 -28
  14. package/context-menu/context-menu.component.d.ts +0 -171
  15. package/context-menu/context-menu.module.d.ts +0 -55
  16. package/context-menu/context-menu.service.d.ts +0 -19
  17. package/data-binding/binding-directive-base.d.ts +0 -24
  18. package/data-binding/flat-binding.directive.d.ts +0 -70
  19. package/data-binding/hierachy-binding.directive.d.ts +0 -67
  20. package/data-binding/utils.d.ts +0 -12
  21. package/directives.d.ts +0 -29
  22. package/dom-queries.d.ts +0 -44
  23. package/menu-animation.interface.d.ts +0 -21
  24. package/menu-base.d.ts +0 -79
  25. package/menu-event.d.ts +0 -23
  26. package/menu-item.component.d.ts +0 -97
  27. package/menu-item.interface.d.ts +0 -65
  28. package/menu-select-event.d.ts +0 -14
  29. package/menu.component.d.ts +0 -109
  30. package/menu.module.d.ts +0 -51
  31. package/menus.module.d.ts +0 -45
  32. package/open-on-click-settings.d.ts +0 -24
  33. package/package-metadata.d.ts +0 -9
  34. package/preventable-event.d.ts +0 -28
  35. package/rendering/arrow.component.d.ts +0 -41
  36. package/rendering/link.directive.d.ts +0 -34
  37. package/rendering/list.component.d.ts +0 -127
  38. package/rendering/popup-settings.d.ts +0 -84
  39. package/services/actions.service.d.ts +0 -54
  40. package/services/hover.service.d.ts +0 -33
  41. package/services/items.service.d.ts +0 -37
  42. package/services/navigation.service.d.ts +0 -47
  43. package/size.d.ts +0 -8
  44. package/templates/item-content-template.directive.d.ts +0 -42
  45. package/templates/item-link-template.directive.d.ts +0 -46
  46. package/templates/item-template.directive.d.ts +0 -43
  47. package/utils.d.ts +0 -31
package/index.d.ts CHANGED
@@ -2,33 +2,1591 @@
2
2
  * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
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 { MenuAnimation } from './menu-animation.interface';
11
- export { MenuItem } from './menu-item.interface';
12
- export { MenuEvent } from './menu-event';
13
- export { MenuSelectEvent } from './menu-select-event';
14
- export { OpenOnClickSettings } from './open-on-click-settings';
15
- export { PopupSettings } from './rendering/popup-settings';
16
- export { ItemContentTemplateDirective } from './templates/item-content-template.directive';
17
- export { ItemTemplateDirective } from './templates/item-template.directive';
18
- export { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
19
- export { HierarchyBindingDirective } from './data-binding/hierachy-binding.directive';
20
- export { FlatBindingDirective } from './data-binding/flat-binding.directive';
21
- export { MenuModule } from './menu.module';
22
- export { ContextMenuEvent } from './context-menu/context-menu-event';
23
- export { ContextMenuSelectEvent } from './context-menu/context-menu-select-event';
24
- export { ContextMenuPopupEvent } from './context-menu/context-menu-popup-event';
25
- export { ContextMenuTemplateDirective } from './context-menu/context-menu-template.directive';
26
- export { ContextMenuComponent } from './context-menu/context-menu.component';
27
- export { ContextMenuModule } from './context-menu/context-menu.module';
28
- export { ContextMenuService } from './context-menu/context-menu.service';
29
- export { ItemsService } from './services/items.service';
30
- export { ContextMenuTargetContainerDirective } from './context-menu/context-menu-target-container.directive';
31
- export { ContextMenuTargetDirective } from './context-menu/context-menu-target.directive';
32
- export { MenuSize } from './size';
33
- export { MenusModule } from './menus.module';
34
- export * from './directives';
5
+ import * as i0 from '@angular/core';
6
+ import { NgZone, EventEmitter, TemplateRef, QueryList, AfterContentInit, TrackByFunction, OnChanges, AfterViewChecked, OnDestroy, ViewContainerRef, Renderer2, OnInit, AfterViewInit, ElementRef } from '@angular/core';
7
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
8
+ import * as _progress_kendo_angular_icons from '@progress/kendo-angular-icons';
9
+ import { SVGIcon } from '@progress/kendo-angular-icons';
10
+ import { SVGIcon as SVGIcon$1 } from '@progress/kendo-svg-icons';
11
+ import { Margin, PopupService, PopupAnimation, Align, Collision, Offset } from '@progress/kendo-angular-popup';
12
+
13
+ /**
14
+ * @hidden
15
+ */
16
+ declare class ItemsService {
17
+ items: any;
18
+ lists: any[];
19
+ private idPrefix;
20
+ get hasItems(): boolean;
21
+ childId(index: string): string;
22
+ itemIndex(parentIndex: string, index: any): string;
23
+ get(index: string): any;
24
+ add(item: any): any;
25
+ remove(item: any): any;
26
+ addList(list: any): any;
27
+ removeList(list: any): any;
28
+ containsList(element: any): boolean;
29
+ siblings(item: any): any[];
30
+ otherSiblings(item: any): any[];
31
+ children(item: any): any[];
32
+ parent(item: any): any;
33
+ root(item: any): any;
34
+ indices(index: string): string[];
35
+ filter(predicate: any): any[];
36
+ previous(item: any): any;
37
+ next(item: any): any;
38
+ hasParent(item: any, parent: any): boolean;
39
+ areSiblings(item1: any, item2: any): boolean;
40
+ forEach(callback: any): void;
41
+ private parentIndex;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<ItemsService, never>;
43
+ static ɵprov: i0.ɵɵInjectableDeclaration<ItemsService>;
44
+ }
45
+
46
+ /**
47
+ * @hidden
48
+ */
49
+ declare class ActionsService {
50
+ private ngZone;
51
+ private items;
52
+ owner: any;
53
+ actions: any[];
54
+ constructor(ngZone: NgZone, items: ItemsService);
55
+ open(item: any, finished?: any): void;
56
+ close(item: any): void;
57
+ closeItem(item: any): void;
58
+ closeToRoot(item: any): void;
59
+ closeOthers(item: any): void;
60
+ closeAll(): void;
61
+ select(item: any, domEvent: any, prevented?: any, finished?: any): void;
62
+ emit(name: string, item: any, domEvent?: any): boolean;
63
+ get hasPending(): boolean;
64
+ execute(toExecute?: any[]): void;
65
+ clear(): any[];
66
+ private executeActions;
67
+ private requiresZone;
68
+ private closeChildren;
69
+ private closeItems;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionsService, never>;
71
+ static ɵprov: i0.ɵɵInjectableDeclaration<ActionsService>;
72
+ }
73
+
74
+ /**
75
+ * @hidden
76
+ */
77
+ declare class NavigationService {
78
+ private items;
79
+ private actions;
80
+ private localization;
81
+ private ngZone;
82
+ vertical: boolean;
83
+ activeIndex: string;
84
+ focusedIdx: string;
85
+ get focusedItem(): any;
86
+ private get activeItem();
87
+ private get handlers();
88
+ constructor(items: ItemsService, actions: ActionsService, localization: LocalizationService, ngZone: NgZone);
89
+ focus(item: any): void;
90
+ setFocus(item: any): void;
91
+ focusLeave(): void;
92
+ updateActive(): void;
93
+ keydown(e: KeyboardEvent): void;
94
+ focusIndex(index?: string): void;
95
+ focusFirst(): void;
96
+ focusLast(): void;
97
+ search(current: any, key: string): void;
98
+ down(current: any): void;
99
+ up(current: any): void;
100
+ left(current: any): void;
101
+ right(current: any): void;
102
+ home(current: any): void;
103
+ end(current: any): void;
104
+ enter(current: any, domEvent: any): void;
105
+ esc(current: any): void;
106
+ tab(current: any): void;
107
+ private focusChild;
108
+ private setActive;
109
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, never>;
110
+ static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
111
+ }
112
+
113
+ /**
114
+ * @hidden
115
+ */
116
+ declare class HoverService {
117
+ private actions;
118
+ private items;
119
+ delay: number;
120
+ get openOnOver(): boolean;
121
+ set openOnOver(value: boolean);
122
+ private _openOnOver;
123
+ private hoveredIdx;
124
+ private get hovered();
125
+ private set hovered(value);
126
+ private scheduled;
127
+ constructor(actions: ActionsService, items: ItemsService);
128
+ ngOnDestroy(): void;
129
+ over(item: any): void;
130
+ leave(disableOpenOnOver?: boolean): void;
131
+ closeCurrent(): void;
132
+ private scheduleActions;
133
+ private scheduleDisableOpenOnOver;
134
+ private removeScheduled;
135
+ private cancelActions;
136
+ static ɵfac: i0.ɵɵFactoryDeclaration<HoverService, never>;
137
+ static ɵprov: i0.ɵɵInjectableDeclaration<HoverService>;
138
+ }
139
+
140
+ /**
141
+ * @hidden
142
+ */
143
+ declare class PreventableEvent {
144
+ private prevented;
145
+ /**
146
+ * Prevents the default action for a specified event.
147
+ * In this way, the source component suppresses
148
+ * the built-in behavior that follows the event.
149
+ */
150
+ preventDefault(): void;
151
+ /**
152
+ * Returns `true` if the event was prevented
153
+ * by any of its subscribers.
154
+ *
155
+ * @returns `true` if the default action was prevented.
156
+ * Otherwise, returns `false`.
157
+ */
158
+ isDefaultPrevented(): boolean;
159
+ /**
160
+ * @hidden
161
+ */
162
+ constructor(args?: any);
163
+ }
164
+
165
+ /**
166
+ * Represents the arguments for the `open` and `close` events of the Menu.
167
+ */
168
+ declare class MenuEvent extends PreventableEvent {
169
+ /**
170
+ * Specifies the MenuComponent that triggered the event.
171
+ */
172
+ sender: MenuComponent;
173
+ /**
174
+ * Specifies the item data of the event.
175
+ */
176
+ item: any;
177
+ /**
178
+ * Specifies the item index of the event.
179
+ */
180
+ index: string;
181
+ }
182
+
183
+ /**
184
+ * Arguments for the `select` event of the Menu.
185
+ */
186
+ declare class MenuSelectEvent extends MenuEvent {
187
+ /**
188
+ * The DOM event that triggered the selection.
189
+ */
190
+ originalEvent: any;
191
+ }
192
+
193
+ /**
194
+ * @hidden
195
+ */
196
+ declare class ContextMenuService {
197
+ keydown: EventEmitter<any>;
198
+ owner: any;
199
+ items: any;
200
+ emit(name: string, args: any): void;
201
+ hasObservers(name: string): boolean;
202
+ leaveMenu(e: any): boolean;
203
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuService, never>;
204
+ static ɵprov: i0.ɵɵInjectableDeclaration<ContextMenuService>;
205
+ }
206
+
207
+ /**
208
+ * Represents a template for the Menu items ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/templates)). To define a template
209
+ * for an item, nest an `<ng-template>` tag with the `kendoMenuItemTemplate` directive inside a `<kendo-menu-item>`
210
+ * component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
211
+ *
212
+ * The available fields in the template context are:
213
+ * - `item`&mdash;The item data.
214
+ * - `index`&mdash;The item index.
215
+ *
216
+ * @example
217
+ * ```ts-preview
218
+ *
219
+ * _@Component({
220
+ * selector: 'my-app',
221
+ * template: `
222
+ * <kendo-menu>
223
+ * <kendo-menu-item text="item2">
224
+ * <ng-template kendoMenuItemTemplate let-item="item" let-index="index">
225
+ * <div style="padding: 10px;">
226
+ * My Template for: {{ item.text }} at index: {{ index }}
227
+ * </div>
228
+ * </ng-template>
229
+ * </kendo-menu-item>
230
+ * </kendo-menu>
231
+ * `
232
+ * })
233
+ *
234
+ * class AppComponent {
235
+ * }
236
+ * ```
237
+ */
238
+ declare class ItemTemplateDirective {
239
+ templateRef: TemplateRef<any>;
240
+ constructor(templateRef: TemplateRef<any>);
241
+ static ɵfac: i0.ɵɵFactoryDeclaration<ItemTemplateDirective, [{ optional: true; }]>;
242
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ItemTemplateDirective, "[kendoMenuItemTemplate]", never, {}, {}, never, never, true, never>;
243
+ }
244
+
245
+ /**
246
+ * Represents a template for the links of the Menu items ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/templates)). To define a template
247
+ * for an item, nest an `<ng-template>` tag with the `kendoMenuItemLinkTemplate` directive inside a `<kendo-menu-item>`
248
+ * component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
249
+ *
250
+ * The available fields in the template context are:
251
+ * - `item`&mdash;The item data.
252
+ * - `index`&mdash;The item index.
253
+ *
254
+ * @example
255
+ * ```ts-preview
256
+ *
257
+ * _@Component({
258
+ * selector: 'my-app',
259
+ * template: `
260
+ * <kendo-menu>
261
+ * <kendo-menu-item text="item2">
262
+ * <ng-template kendoMenuItemLinkTemplate let-item="item" let-index="index">
263
+ * <span [kendoMenuItemLink]="index">
264
+ * {{ item.text }}
265
+ * @if (item.items && item.items.length) {
266
+ * <span [kendoMenuExpandArrow]="index"></span>
267
+ * }
268
+ * </span>
269
+ * </ng-template>
270
+ * </kendo-menu-item>
271
+ * </kendo-menu>
272
+ * `
273
+ * })
274
+ *
275
+ * class AppComponent {
276
+ * }
277
+ * ```
278
+ */
279
+ declare class ItemLinkTemplateDirective {
280
+ templateRef: TemplateRef<any>;
281
+ constructor(templateRef: TemplateRef<any>);
282
+ static ɵfac: i0.ɵɵFactoryDeclaration<ItemLinkTemplateDirective, [{ optional: true; }]>;
283
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ItemLinkTemplateDirective, "[kendoMenuItemLinkTemplate]", never, {}, {}, never, never, true, never>;
284
+ }
285
+
286
+ /**
287
+ * Represents a template for the content of the Menu items ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/templates)). To define the template,
288
+ * nest an `<ng-template>` tag with the `kendoMenuItemContentTemplate` directive inside a `<kendo-menu-item>` component.
289
+ *
290
+ * The available fields in the template context are:
291
+ * - `item`&mdash;The item data.
292
+ * - `index`&mdash;The item index.
293
+ *
294
+ * @example
295
+ * ```ts-preview
296
+ *
297
+ * _@Component({
298
+ * selector: 'my-app',
299
+ * template: `
300
+ * <kendo-menu>
301
+ * <kendo-menu-item text="item2">
302
+ * <ng-template kendoMenuItemContentTemplate let-item="item" let-index="index">
303
+ * <div style="padding: 10px;">
304
+ * My Content Template for: {{ item.text }} at index: {{ index }}
305
+ * </div>
306
+ * </ng-template>
307
+ * </kendo-menu-item>
308
+ * </kendo-menu>
309
+ * `
310
+ * })
311
+ *
312
+ * class AppComponent {
313
+ * }
314
+ * ```
315
+ */
316
+ declare class ItemContentTemplateDirective {
317
+ templateRef: TemplateRef<any>;
318
+ constructor(templateRef: TemplateRef<any>);
319
+ static ɵfac: i0.ɵɵFactoryDeclaration<ItemContentTemplateDirective, [{ optional: true; }]>;
320
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ItemContentTemplateDirective, "[kendoMenuItemContentTemplate]", never, {}, {}, never, never, true, never>;
321
+ }
322
+
323
+ /**
324
+ * Represents an interface for the Menu items.
325
+ */
326
+ interface MenuItem {
327
+ /**
328
+ * Specifies the item text ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#showing-text)).
329
+ */
330
+ text?: string;
331
+ /**
332
+ * Specifies a URL which is rendered as a `href` attribute on the item link
333
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#rendering-urls)).
334
+ */
335
+ url?: string;
336
+ /**
337
+ * Specifies the name of the [font icon](https://www.telerik.com/kendo-angular-ui/components/styling/icons#icons-list) that will
338
+ * be rendered for the item ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#displaying-font-icons)).
339
+ */
340
+ icon?: string;
341
+ /**
342
+ * Defines an [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) that will be
343
+ * rendered for the item using a [`KendoSVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgiconcomponent) component ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#displaying-svg-icons)).
344
+ */
345
+ svgIcon?: SVGIcon;
346
+ /**
347
+ * Specifies if the item is disabled ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#disabling-items)).
348
+ */
349
+ disabled?: boolean;
350
+ /**
351
+ * Specifies the CSS classes that will be rendered on the item element ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#adding-styles-and-classes)).
352
+ * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
353
+ */
354
+ cssClass?: any;
355
+ /**
356
+ * Specifies the CSS styles that will be rendered on the item element ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#adding-styles-and-classes)).
357
+ * Supports the type of values that are supported by [`ngStyle`](link:site.data.urls.angular['ngstyleapi']).
358
+ */
359
+ cssStyle?: any;
360
+ /**
361
+ * Specifies a template for the item.
362
+ */
363
+ template?: TemplateRef<any>;
364
+ /**
365
+ * Specifies a template for the item content.
366
+ */
367
+ contentTemplate?: TemplateRef<any>;
368
+ /**
369
+ * Specifies the children of the item ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/data-binding)).
370
+ */
371
+ items?: any[];
372
+ /**
373
+ * Represents the additional data that is associated with the Menu item.
374
+ */
375
+ data?: any;
376
+ /**
377
+ * Specifies if this is a separator item.
378
+ * If set to true only the `cssClass` and `cssStyle` fields are rendered.
379
+ */
380
+ separator?: boolean;
381
+ }
382
+
383
+ /**
384
+ * Represents a component that can be used to specify the Menu items
385
+ * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items)).
386
+ *
387
+ * @example
388
+ * ```html
389
+ * <kendo-menu>
390
+ * <kendo-menu-item text="item1">
391
+ * <kendo-menu-item text="item1.1" url="https://example.com">
392
+ * </kendo-menu-item>
393
+ * <kendo-menu-item text="item1.2" [disabled]="true">
394
+ * </kendo-menu-item>
395
+ * </kendo-menu-item>
396
+ * <kendo-menu-item text="item2">
397
+ * <ng-template kendoMenuItemContentTemplate let-item="item">
398
+ * <div style="padding: 10px;">
399
+ * My Content Template: {{ item.text }}
400
+ * </div>
401
+ * </ng-template>
402
+ * <ng-template kendoMenuItemTemplate let-item="item">
403
+ * <div style="padding: 10px;">
404
+ * My Template: {{ item.text }}
405
+ * </div>
406
+ * </ng-template>
407
+ * </kendo-menu-item>
408
+ * <kendo-menu-item text="item3">
409
+ * <ng-template kendoMenuItemLinkTemplate let-item="item" let-index="index">
410
+ * <span [kendoMenuItemLink]="index">
411
+ * {{ item.text }}
412
+ * @if (item.items && item.items.length) {
413
+ * <span [kendoMenuExpandArrow]="index"></span>
414
+ * }
415
+ * </span>
416
+ * </ng-template>
417
+ * </kendo-menu-item>
418
+ * </kendo-menu>
419
+ * ```
420
+ *
421
+ * @remarks
422
+ * Supported children components are: {@link MenuItemComponent}.
423
+ */
424
+ declare class MenuItemComponent implements MenuItem {
425
+ set text(value: string);
426
+ get text(): string;
427
+ set url(value: string);
428
+ get url(): string;
429
+ set disabled(value: boolean);
430
+ get disabled(): boolean;
431
+ set cssClass(value: any);
432
+ get cssClass(): any;
433
+ set cssStyle(value: any);
434
+ get cssStyle(): any;
435
+ set icon(value: string);
436
+ get icon(): string;
437
+ set svgIcon(value: SVGIcon$1);
438
+ get svgIcon(): SVGIcon$1;
439
+ set data(value: any);
440
+ get data(): any;
441
+ set separator(value: boolean);
442
+ get separator(): boolean;
443
+ /**
444
+ * @hidden
445
+ */
446
+ itemTemplate: QueryList<ItemTemplateDirective>;
447
+ /**
448
+ * @hidden
449
+ */
450
+ itemLinkTemplate: QueryList<ItemLinkTemplateDirective>;
451
+ /**
452
+ * @hidden
453
+ */
454
+ itemContentTemplate: QueryList<ItemContentTemplateDirective>;
455
+ /**
456
+ * @hidden
457
+ */
458
+ children: QueryList<MenuItemComponent>;
459
+ /**
460
+ * @hidden
461
+ */
462
+ get template(): TemplateRef<any>;
463
+ /**
464
+ * @hidden
465
+ */
466
+ get linkTemplate(): TemplateRef<any>;
467
+ /**
468
+ * @hidden
469
+ */
470
+ get contentTemplate(): TemplateRef<any>;
471
+ /**
472
+ * @hidden
473
+ */
474
+ get items(): any[];
475
+ private _text;
476
+ private _url;
477
+ private _disabled;
478
+ private _cssClass;
479
+ private _cssStyle;
480
+ private _icon;
481
+ private _svgIcon;
482
+ private _data;
483
+ private _separator;
484
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemComponent, never>;
485
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemComponent, "kendo-menu-item", never, { "text": { "alias": "text"; "required": false; }; "url": { "alias": "url"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "cssStyle": { "alias": "cssStyle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "data": { "alias": "data"; "required": false; }; "separator": { "alias": "separator"; "required": false; }; }, {}, ["itemTemplate", "itemLinkTemplate", "itemContentTemplate", "children"], never, true, never>;
486
+ }
487
+
488
+ /**
489
+ * Represents the animation settings for the Popup component.
490
+ */
491
+ interface MenuAnimation {
492
+ /**
493
+ * Specifies the type of the animation.
494
+ *
495
+ * @default 'slide'
496
+ */
497
+ type?: 'slide' | 'expand' | 'zoom' | 'fade';
498
+ /**
499
+ * Specifies the animation duration in milliseconds.
500
+ *
501
+ * @default 100
502
+ */
503
+ duration: number;
504
+ }
505
+
506
+ /**
507
+ * The settings for the `openOnClick` option.
508
+ */
509
+ interface OpenOnClickSettings {
510
+ /**
511
+ * Specifies the way in which you can toggle the open-on-click behavior.
512
+ *
513
+ * The supported values are:
514
+ * - `"select"`&mdash;The user opens an item with a click and the Menu items open on hover until one of them is selected.
515
+ * - `"leave"`&mdash;The user opens an item with a click and the Menu items open on hover until either one of them is selected, or the mouse pointer leaves the Menu and the predefined delay passes.
516
+ * - `"click"`&mdash;The user opens an item with a click and the Menu items open on hover but do not close when the mouse pointer leaves the Menu. To close the items, the user has to either select an item, or click a random place on the page.
517
+ *
518
+ * @default 'select'
519
+ */
520
+ toggle: 'select' | 'leave' | 'click';
521
+ }
522
+
523
+ /**
524
+ * Represents the possible size options of the menu.
525
+ */
526
+ type MenuSize = 'small' | 'medium' | 'large';
527
+
528
+ /**
529
+ * Settings for the Menu and ContextMenu popups.
530
+ */
531
+ interface PopupSettings {
532
+ /**
533
+ * The CSS class that will be applied to the popup container.
534
+ */
535
+ popupClass?: string | string[] | object | Set<string>;
536
+ /**
537
+ * The margin of the popup container.
538
+ */
539
+ margin?: Margin;
540
+ }
541
+
542
+ /**
543
+ * @hidden
544
+ */
545
+ declare class MenuBase implements AfterContentInit {
546
+ /**
547
+ * Specifies the Menu items.
548
+ */
549
+ set items(value: any[]);
550
+ get items(): any[];
551
+ /**
552
+ * Specifies if the Menu will be vertical ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/vertical)).
553
+ */
554
+ set vertical(value: boolean);
555
+ get vertical(): boolean;
556
+ /**
557
+ * Specifies that the root items can be opened only on click
558
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/open-close#opening-on-click)).
559
+ */
560
+ set openOnClick(value: boolean | OpenOnClickSettings);
561
+ get openOnClick(): boolean | OpenOnClickSettings;
562
+ /**
563
+ * Specifies the delay in milliseconds before the Menu items are opened or closed on item hover
564
+ * or leave ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/open-close#delay-on-hover)). Used to avoid the accidental
565
+ * opening or closing of the items.
566
+ */
567
+ set hoverDelay(value: number);
568
+ get hoverDelay(): number;
569
+ /**
570
+ * Sets the Menu animation.
571
+ */
572
+ set animate(value: boolean | MenuAnimation);
573
+ get animate(): boolean | MenuAnimation;
574
+ /**
575
+ * Sets the Menu size.
576
+ *
577
+ * The possible values are:
578
+ * * `small`
579
+ * * `medium`
580
+ * * `large`
581
+ *
582
+ */
583
+ set size(value: MenuSize);
584
+ get size(): MenuSize;
585
+ /**
586
+ * Configures the popup settings for the Menu items.
587
+ * Allows customization of the popup class and margin.
588
+ */
589
+ set popupSettings(value: PopupSettings);
590
+ get popupSettings(): PopupSettings;
591
+ /**
592
+ * Defines a function that determines how to track for the menu items.
593
+ * By default, the component tracks changes by index.
594
+ */
595
+ set trackBy(value: TrackByFunction<any>);
596
+ get trackBy(): TrackByFunction<any>;
597
+ /**
598
+ * @hidden
599
+ */
600
+ itemTemplate: QueryList<ItemTemplateDirective>;
601
+ /**
602
+ * @hidden
603
+ */
604
+ itemLinkTemplate: QueryList<ItemLinkTemplateDirective>;
605
+ /**
606
+ * @hidden
607
+ */
608
+ children: QueryList<MenuItemComponent>;
609
+ protected _items: i0.WritableSignal<any[]>;
610
+ protected _vertical: i0.WritableSignal<boolean>;
611
+ protected _openOnClick: i0.WritableSignal<boolean | OpenOnClickSettings>;
612
+ protected _hoverDelay: i0.WritableSignal<number>;
613
+ protected _animate: i0.WritableSignal<boolean | MenuAnimation>;
614
+ protected _size: i0.WritableSignal<MenuSize>;
615
+ protected _popupSettings: i0.WritableSignal<PopupSettings>;
616
+ protected _trackBy: i0.WritableSignal<TrackByFunction<any>>;
617
+ protected _children: i0.WritableSignal<MenuItemComponent[]>;
618
+ private destroyRef;
619
+ ngAfterContentInit(): void;
620
+ /**
621
+ * @hidden
622
+ */
623
+ get rootItems(): any[];
624
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuBase, never>;
625
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuBase, "kendo-menu-base", never, { "items": { "alias": "items"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; "hoverDelay": { "alias": "hoverDelay"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; }, {}, ["itemTemplate", "itemLinkTemplate", "children"], never, true, never>;
626
+ }
627
+
628
+ /**
629
+ * Represents the [Kendo UI Menu component for Angular](https://www.telerik.com/kendo-angular-ui/components/menus/menu).
630
+ *
631
+ * @example
632
+ * ```ts
633
+ * _@Component({
634
+ * selector: 'my-app',
635
+ * template: `
636
+ * <kendo-menu [items]="items">
637
+ * </kendo-menu>
638
+ * `
639
+ * })
640
+ * class AppComponent {
641
+ * public items: any[] = [{ text: 'item1', items: [{ text: 'item1.1' }] }, { text: 'item2', disabled: true }];
642
+ * }
643
+ * ```
644
+ *
645
+ * @remarks
646
+ * Supported children components are: {@link MenuItemComponent}.
647
+ */
648
+ declare class MenuComponent extends MenuBase implements OnChanges, AfterViewChecked, OnDestroy {
649
+ private itemsService;
650
+ private hover;
651
+ private actions;
652
+ private navigation;
653
+ private localization;
654
+ private ngZone;
655
+ private renderer;
656
+ private contextService?;
657
+ /**
658
+ * Defines the container to which the popups will be appended.
659
+ */
660
+ set appendTo(value: ViewContainerRef);
661
+ get appendTo(): ViewContainerRef;
662
+ /**
663
+ * @hidden
664
+ */
665
+ set menuItemTemplate(value: TemplateRef<any>);
666
+ get menuItemTemplate(): TemplateRef<any>;
667
+ /**
668
+ * @hidden
669
+ */
670
+ set ariaRole(value: string);
671
+ get ariaRole(): string;
672
+ /**
673
+ * @hidden
674
+ */
675
+ set menuItemLinkTemplate(value: TemplateRef<any>);
676
+ get menuItemLinkTemplate(): TemplateRef<any>;
677
+ /**
678
+ * Fires when a Menu item is selected ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/events)).
679
+ */
680
+ select: EventEmitter<MenuSelectEvent>;
681
+ /**
682
+ * Fires when a Menu item is opened ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/events)).
683
+ */
684
+ open: EventEmitter<MenuEvent>;
685
+ /**
686
+ * Fires when a Menu item is closed ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/events)).
687
+ */
688
+ close: EventEmitter<MenuEvent>;
689
+ /**
690
+ * @hidden
691
+ */
692
+ get ariaOrientation(): string | null;
693
+ /**
694
+ * @hidden
695
+ */
696
+ get isContextMenu(): boolean;
697
+ get direction(): boolean;
698
+ get rtl(): boolean;
699
+ /**
700
+ * @hidden
701
+ */
702
+ get menuClasses(): string;
703
+ private closeClickSubscription;
704
+ private contextKeyDownSubscription;
705
+ private localizationSubscription;
706
+ private _appendTo;
707
+ private _menuItemTemplate;
708
+ private _ariaRole;
709
+ private _menuItemLinkTemplate;
710
+ private _rtl;
711
+ constructor(itemsService: ItemsService, hover: HoverService, actions: ActionsService, navigation: NavigationService, localization: LocalizationService, ngZone: NgZone, renderer: Renderer2, contextService?: ContextMenuService);
712
+ ngOnChanges(changes: any): void;
713
+ /**
714
+ * Opens or closes the specified Menu items.
715
+ *
716
+ * @param open - A Boolean value which indicates if the items will be opened or closed.
717
+ * @param indices - One or more values which represent the hierarchical indices of the items that will be opened or closed.
718
+ */
719
+ toggle(open: boolean, ...indices: string[]): void;
720
+ /**
721
+ * @hidden
722
+ */
723
+ focus(index?: string): void;
724
+ ngAfterViewChecked(): void;
725
+ ngOnDestroy(): void;
726
+ private attachCloseClick;
727
+ private unsubscribeClick;
728
+ private contextKeyDown;
729
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, [null, null, null, null, null, null, null, { optional: true; }]>;
730
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "kendo-menu", ["kendoMenu"], { "appendTo": { "alias": "appendTo"; "required": false; }; "menuItemTemplate": { "alias": "menuItemTemplate"; "required": false; }; "ariaRole": { "alias": "ariaRole"; "required": false; }; "menuItemLinkTemplate": { "alias": "menuItemLinkTemplate"; "required": false; }; }, { "select": "select"; "open": "open"; "close": "close"; }, never, never, true, never>;
731
+ }
732
+
733
+ /**
734
+ * @hidden
735
+ */
736
+ declare class ListComponent implements OnInit, OnDestroy {
737
+ private itemsService;
738
+ private hover;
739
+ private actions;
740
+ private navigation;
741
+ private renderer;
742
+ private ngZone;
743
+ element: ElementRef;
744
+ set appendTo(value: ViewContainerRef);
745
+ get appendTo(): ViewContainerRef;
746
+ set items(value: any[]);
747
+ get items(): any[];
748
+ set level(value: number);
749
+ get level(): number;
750
+ set index(value: string);
751
+ get index(): string;
752
+ set animate(value: boolean | MenuAnimation);
753
+ get animate(): boolean | MenuAnimation;
754
+ set size(value: MenuSize);
755
+ get size(): MenuSize;
756
+ set vertical(value: boolean);
757
+ get vertical(): boolean;
758
+ set rtl(value: boolean);
759
+ get rtl(): boolean;
760
+ set openOnClick(value: any);
761
+ get openOnClick(): any;
762
+ set itemTemplate(value: TemplateRef<any>);
763
+ get itemTemplate(): TemplateRef<any>;
764
+ set itemLinkTemplate(value: TemplateRef<any>);
765
+ get itemLinkTemplate(): TemplateRef<any>;
766
+ set popupSettings(value: PopupSettings);
767
+ get popupSettings(): PopupSettings;
768
+ set trackBy(value: TrackByFunction<any>);
769
+ get trackBy(): TrackByFunction<any>;
770
+ private domSubscriptions;
771
+ private _appendTo;
772
+ private _items;
773
+ private _level;
774
+ private _index;
775
+ private _animate;
776
+ private _size;
777
+ private _vertical;
778
+ private _rtl;
779
+ private _openOnClick;
780
+ private _itemTemplate;
781
+ private _itemLinkTemplate;
782
+ private _popupSettings;
783
+ private _trackBy;
784
+ constructor(itemsService: ItemsService, hover: HoverService, actions: ActionsService, navigation: NavigationService, renderer: Renderer2, ngZone: NgZone, element: ElementRef);
785
+ trackByWrapper(index: number, item: any): any;
786
+ hierarchyIndex(index: number): string;
787
+ ngOnInit(): void;
788
+ ngOnDestroy(): void;
789
+ private initDomEvents;
790
+ private leavesMenu;
791
+ private onLeave;
792
+ private nodeItem;
793
+ private clickHandler;
794
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
795
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "[kendoMenuList]", never, { "appendTo": { "alias": "appendTo"; "required": false; }; "items": { "alias": "items"; "required": false; }; "level": { "alias": "level"; "required": false; }; "index": { "alias": "index"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "itemLinkTemplate": { "alias": "itemLinkTemplate"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; }, {}, never, never, true, never>;
796
+ }
797
+ /**
798
+ * @hidden
799
+ */
800
+ declare class ItemComponent implements OnInit, AfterViewInit, OnDestroy {
801
+ private itemsService;
802
+ private navigation;
803
+ private renderer;
804
+ private popupService;
805
+ element: ElementRef;
806
+ private contextService?;
807
+ set appendTo(value: ViewContainerRef);
808
+ get appendTo(): ViewContainerRef;
809
+ set item(value: any);
810
+ get item(): any;
811
+ set level(value: number);
812
+ get level(): number;
813
+ set index(index: string);
814
+ get index(): string;
815
+ set siblingIndex(value: number);
816
+ get siblingIndex(): number;
817
+ set animate(value: boolean | MenuAnimation);
818
+ get animate(): boolean | MenuAnimation;
819
+ set size(value: MenuSize);
820
+ get size(): MenuSize;
821
+ set vertical(value: boolean);
822
+ get vertical(): boolean;
823
+ set rtl(value: boolean);
824
+ get rtl(): boolean;
825
+ set openOnClick(value: any);
826
+ get openOnClick(): any;
827
+ set itemTemplate(value: TemplateRef<any>);
828
+ get itemTemplate(): TemplateRef<any>;
829
+ set itemLinkTemplate(value: TemplateRef<any>);
830
+ get itemLinkTemplate(): TemplateRef<any>;
831
+ set popupSettings(value: PopupSettings);
832
+ get popupSettings(): PopupSettings;
833
+ set trackBy(value: TrackByFunction<any>);
834
+ get trackBy(): TrackByFunction<any>;
835
+ link: ElementRef;
836
+ popupTemplate: TemplateRef<any>;
837
+ get disabled(): boolean;
838
+ get hasPopup(): string;
839
+ get defaultPopupSettings(): any;
840
+ get horizontal(): boolean;
841
+ get hasLink(): boolean;
842
+ get linkTemplate(): TemplateRef<any>;
843
+ get hasContent(): boolean;
844
+ get isContent(): boolean;
845
+ get iconClass(): string;
846
+ get isContextMenu(): boolean;
847
+ get menuListClasses(): string;
848
+ get children(): any[];
849
+ get template(): TemplateRef<any>;
850
+ /**
851
+ * @hidden
852
+ */
853
+ fontIcon: (horizontal: boolean, rtl: boolean) => string;
854
+ /**
855
+ * @hidden
856
+ */
857
+ SVGIcon: (horizontal: boolean, rtl: boolean) => _progress_kendo_angular_icons.SVGIcon;
858
+ get opened(): boolean;
859
+ set opened(value: boolean);
860
+ navigating: boolean;
861
+ childId: string;
862
+ private contentItems;
863
+ private popupRef;
864
+ private destroyed;
865
+ private _index;
866
+ private _appendTo;
867
+ private _item;
868
+ private _level;
869
+ private _opened;
870
+ private _siblingIndex;
871
+ private _animate;
872
+ private _size;
873
+ private _vertical;
874
+ private _rtl;
875
+ private _openOnClick;
876
+ private _itemTemplate;
877
+ private _itemLinkTemplate;
878
+ private _popupSettings;
879
+ private _trackBy;
880
+ constructor(itemsService: ItemsService, navigation: NavigationService, renderer: Renderer2, popupService: PopupService, element: ElementRef, contextService?: ContextMenuService);
881
+ hasContentTemplates(): boolean;
882
+ ngOnInit(): void;
883
+ ngAfterViewInit(): void;
884
+ ngOnDestroy(): void;
885
+ focus(): void;
886
+ blur(): void;
887
+ toggleActive(isActive: boolean): void;
888
+ open(): void;
889
+ close(): void;
890
+ navigate(): void;
891
+ private setAttribute;
892
+ private getMergedPopupSettings;
893
+ static ɵfac: i0.ɵɵFactoryDeclaration<ItemComponent, [null, null, null, null, null, { optional: true; }]>;
894
+ static ɵcmp: i0.ɵɵComponentDeclaration<ItemComponent, "[kendoMenuItem]", never, { "appendTo": { "alias": "appendTo"; "required": false; }; "item": { "alias": "item"; "required": false; }; "level": { "alias": "level"; "required": false; }; "index": { "alias": "index"; "required": false; }; "siblingIndex": { "alias": "siblingIndex"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "itemLinkTemplate": { "alias": "itemLinkTemplate"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; }, {}, never, never, true, never>;
895
+ }
896
+
897
+ /**
898
+ * Represents a directive that can be used in the [`linkTemplate`](https://www.telerik.com/kendo-angular-ui/components/menus/api/itemlinktemplatedirective)
899
+ * of the items to apply the default styling and behavior.
900
+ *
901
+ * @example
902
+ * ```html
903
+ * <ng-template kendoMenuItemLinkTemplate let-item="item" let-index="index">
904
+ * <a [kendoMenuItemLink]="index">{{ item.text }}</a>
905
+ * </ng-template>
906
+ * ```
907
+ */
908
+ declare class LinkDirective implements OnInit {
909
+ private itemsService;
910
+ /**
911
+ * Specifies the index of the Menu item. The input is mandatory.
912
+ */
913
+ set index(value: string);
914
+ get index(): string;
915
+ private _index;
916
+ hostClasses: boolean;
917
+ role: string;
918
+ tabindex: string;
919
+ get activeClass(): boolean;
920
+ private item;
921
+ constructor(itemsService: ItemsService);
922
+ ngOnInit(): void;
923
+ static ɵfac: i0.ɵɵFactoryDeclaration<LinkDirective, never>;
924
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LinkDirective, "[kendoMenuItemLink]", never, { "index": { "alias": "kendoMenuItemLink"; "required": false; }; }, {}, never, never, true, never>;
925
+ }
926
+
927
+ /**
928
+ * Represents a component that can be used in the [`linkTemplate`](https://www.telerik.com/kendo-angular-ui/components/menus/api/itemlinktemplatedirective)
929
+ * of the items to render the default expand arrow.
930
+ *
931
+ * @example
932
+ * ```html
933
+ * <ng-template kendoMenuItemLinkTemplate let-item="item" let-index="index">
934
+ * <span [kendoMenuExpandArrow]="index"></span>
935
+ * </ng-template>
936
+ * ```
937
+ */
938
+ declare class ExpandArrowComponent implements OnInit {
939
+ private itemsService;
940
+ /**
941
+ * Specifies the index of the Menu item. The input is mandatory.
942
+ */
943
+ set index(value: string);
944
+ get index(): string;
945
+ private _index;
946
+ hostClasses: boolean;
947
+ ariaHidden: string;
948
+ private item;
949
+ /**
950
+ * @hidden
951
+ */
952
+ fontIcon: string;
953
+ /**
954
+ * @hidden
955
+ */
956
+ SVGIcon: SVGIcon$1;
957
+ constructor(itemsService: ItemsService);
958
+ ngOnInit(): void;
959
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExpandArrowComponent, never>;
960
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExpandArrowComponent, "[kendoMenuExpandArrow]", never, { "index": { "alias": "kendoMenuExpandArrow"; "required": false; }; }, {}, never, never, true, never>;
961
+ }
962
+
963
+ /**
964
+ * @hidden
965
+ */
966
+ declare abstract class BindingDirectiveBase {
967
+ protected menu: MenuBase;
968
+ set data(value: any[]);
969
+ get data(): any[];
970
+ protected _data: i0.WritableSignal<any[]>;
971
+ protected fields: any[];
972
+ constructor(menu: MenuBase);
973
+ /**
974
+ * Rebinds the Menu items.
975
+ */
976
+ rebind(): void;
977
+ protected abstract mapItems(items: any[]): any[];
978
+ static ɵfac: i0.ɵɵFactoryDeclaration<BindingDirectiveBase, never>;
979
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BindingDirectiveBase, "kendoBindingBase", never, {}, {}, never, never, true, never>;
980
+ }
981
+
982
+ /**
983
+ * Represents a directive that converts the provided hierarchical data to [MenuItems](https://www.telerik.com/kendo-angular-ui/components/menus/api/menuitem) and binds them to the Menu.
984
+ *
985
+ * @example
986
+ * ```html
987
+ * <kendo-menu [kendoMenuHierarchyBinding]="hierarchicalData" [textField]="'text'" [childrenField]="'items'">
988
+ * </kendo-menu>
989
+ * ```
990
+ *
991
+ * @remarks
992
+ * Applied to: {@link MenuComponent}.
993
+ */
994
+ declare class HierarchyBindingDirective extends BindingDirectiveBase {
995
+ /**
996
+ * Specifies the array of data which will be used to populate the Menu.
997
+ */
998
+ set data(value: any[]);
999
+ get data(): any[];
1000
+ /**
1001
+ * Defines the `text` field (or fields) of an item.
1002
+ */
1003
+ set textField(value: string | string[]);
1004
+ get textField(): string | string[];
1005
+ /**
1006
+ * Defines the `url` field (or fields) of an item.
1007
+ */
1008
+ set urlField(value: string | string[]);
1009
+ get urlField(): string | string[];
1010
+ /**
1011
+ * Defines the `icon` field (or fields) of an item.
1012
+ */
1013
+ set iconField(value: string | string[]);
1014
+ get iconField(): string | string[];
1015
+ /**
1016
+ * Defines the `svgIcon` field of the items.
1017
+ */
1018
+ set svgIconField(value: string | string[]);
1019
+ get svgIconField(): string | string[];
1020
+ /**
1021
+ * Defines the `disabled` field (or fields) of an item.
1022
+ */
1023
+ set disabledField(value: string | string[]);
1024
+ get disabledField(): string | string[];
1025
+ /**
1026
+ * Defines the `cssClass` field (or fields) of an item.
1027
+ */
1028
+ set cssClassField(value: string | string[]);
1029
+ get cssClassField(): string | string[];
1030
+ /**
1031
+ * Defines the `cssStyle` field (or fields) of an item.
1032
+ */
1033
+ set cssStyleField(value: string | string[]);
1034
+ get cssStyleField(): string | string[];
1035
+ /**
1036
+ * Defines the `separator` field (or fields) of the items.
1037
+ */
1038
+ set separatorField(value: string | string[]);
1039
+ get separatorField(): string | string[];
1040
+ /**
1041
+ * Defines the `children` field (or fields) of the items.
1042
+ */
1043
+ set childrenField(value: string | string[]);
1044
+ get childrenField(): string | string[];
1045
+ private _textField;
1046
+ private _urlField;
1047
+ private _iconField;
1048
+ private _svgIconField;
1049
+ private _disabledField;
1050
+ private _cssClassField;
1051
+ private _cssStyleField;
1052
+ private _separatorField;
1053
+ private _childrenField;
1054
+ constructor(menu: MenuBase);
1055
+ protected mapItems(items: any[], level?: number): any[];
1056
+ protected createItem(item: any, level: number): any;
1057
+ protected getChildren(item: any, level: number): any;
1058
+ static ɵfac: i0.ɵɵFactoryDeclaration<HierarchyBindingDirective, never>;
1059
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HierarchyBindingDirective, "[kendoMenuHierarchyBinding]", ["kendoMenuHierarchyBinding"], { "data": { "alias": "kendoMenuHierarchyBinding"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "urlField": { "alias": "urlField"; "required": false; }; "iconField": { "alias": "iconField"; "required": false; }; "svgIconField": { "alias": "svgIconField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "cssClassField": { "alias": "cssClassField"; "required": false; }; "cssStyleField": { "alias": "cssStyleField"; "required": false; }; "separatorField": { "alias": "separatorField"; "required": false; }; "childrenField": { "alias": "childrenField"; "required": false; }; }, {}, never, never, true, never>;
1060
+ }
1061
+
1062
+ /**
1063
+ * Represents a directive that converts the provided flat data to [MenuItems](https://www.telerik.com/kendo-angular-ui/components/menus/api/menuitem) and binds them to the Menu.
1064
+ *
1065
+ * @example
1066
+ * ```html
1067
+ * <kendo-menu [kendoMenuFlatBinding]="flatData" [textField]="'text'" [idField]="'id'" [parentIdField]="'parentId'">
1068
+ * </kendo-menu>
1069
+ * ```
1070
+ *
1071
+ * @remarks
1072
+ * Applied to: {@link MenuComponent}.
1073
+ */
1074
+ declare class FlatBindingDirective extends BindingDirectiveBase {
1075
+ /**
1076
+ * Specifies the array of data which will be used to populate the Menu.
1077
+ */
1078
+ set data(value: any[]);
1079
+ get data(): any[];
1080
+ /**
1081
+ * Defines the `text` field of the items.
1082
+ */
1083
+ set textField(value: string);
1084
+ get textField(): string;
1085
+ /**
1086
+ * Defines the `url` field of the items.
1087
+ */
1088
+ set urlField(value: string);
1089
+ get urlField(): string;
1090
+ /**
1091
+ * Defines the `icon` field of the items.
1092
+ */
1093
+ set iconField(value: string | string[]);
1094
+ get iconField(): string | string[];
1095
+ /**
1096
+ * Defines the `svgIcon` field of the items.
1097
+ */
1098
+ set svgIconField(value: string | string[]);
1099
+ get svgIconField(): string | string[];
1100
+ /**
1101
+ * Defines the `disabled` field of the items.
1102
+ */
1103
+ set disabledField(value: string);
1104
+ get disabledField(): string;
1105
+ /**
1106
+ * Defines the `cssClass` field of the items.
1107
+ */
1108
+ set cssClassField(value: string);
1109
+ get cssClassField(): string;
1110
+ /**
1111
+ * Defines the `cssStyle` field of the items.
1112
+ */
1113
+ set cssStyleField(value: string);
1114
+ get cssStyleField(): string;
1115
+ /**
1116
+ * Defines the `separator` field of the items.
1117
+ */
1118
+ set separatorField(value: string);
1119
+ get separatorField(): string;
1120
+ /**
1121
+ * Defines the `id` field of the items.
1122
+ */
1123
+ set idField(value: string);
1124
+ get idField(): string;
1125
+ /**
1126
+ * Defines the parent `id` field of the items.
1127
+ */
1128
+ set parentIdField(value: string);
1129
+ get parentIdField(): string;
1130
+ private _textField;
1131
+ private _urlField;
1132
+ private _iconField;
1133
+ private _svgIconField;
1134
+ private _disabledField;
1135
+ private _cssClassField;
1136
+ private _cssStyleField;
1137
+ private _separatorField;
1138
+ private _idField;
1139
+ private _parentIdField;
1140
+ constructor(menu: MenuBase);
1141
+ protected mapItems(items: any[]): any[];
1142
+ protected createItem(dataItem: any): any;
1143
+ static ɵfac: i0.ɵɵFactoryDeclaration<FlatBindingDirective, never>;
1144
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FlatBindingDirective, "[kendoMenuFlatBinding]", ["kendoMenuFlatBinding"], { "data": { "alias": "kendoMenuFlatBinding"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "urlField": { "alias": "urlField"; "required": false; }; "iconField": { "alias": "iconField"; "required": false; }; "svgIconField": { "alias": "svgIconField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "cssClassField": { "alias": "cssClassField"; "required": false; }; "cssStyleField": { "alias": "cssStyleField"; "required": false; }; "separatorField": { "alias": "separatorField"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "parentIdField": { "alias": "parentIdField"; "required": false; }; }, {}, never, never, true, never>;
1145
+ }
1146
+
1147
+ /**
1148
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
1149
+ * definition for the Menu component.
1150
+ *
1151
+ * @example
1152
+ *
1153
+ * ```ts-no-run
1154
+ * // Import the Menu module
1155
+ * import { MenuModule } from '@progress/kendo-angular-menu';
1156
+ *
1157
+ * // The browser platform with a compiler
1158
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
1159
+ * import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
1160
+ *
1161
+ * import { NgModule } from '@angular/core';
1162
+ *
1163
+ * // Import the app component
1164
+ * import { AppComponent } from './app.component';
1165
+ *
1166
+ * // Define the app module
1167
+ * _@NgModule({
1168
+ * declarations: [AppComponent], // declare app component
1169
+ * imports: [BrowserModule, BrowserAnimationsModule, MenuModule], // import Menu module
1170
+ * bootstrap: [AppComponent]
1171
+ * })
1172
+ * export class AppModule {}
1173
+ *
1174
+ * // Compile and launch the module
1175
+ * platformBrowserDynamic().bootstrapModule(AppModule);
1176
+ *
1177
+ * ```
1178
+ */
1179
+ declare class MenuModule {
1180
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuModule, never>;
1181
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MenuModule, never, [typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent], [typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent]>;
1182
+ static ɵinj: i0.ɵɵInjectorDeclaration<MenuModule>;
1183
+ }
1184
+
1185
+ /**
1186
+ * Represents the arguments for the `select` event of the ContextMenu.
1187
+ */
1188
+ declare class ContextMenuSelectEvent extends ContextMenuEvent {
1189
+ /**
1190
+ * Specifies the DOM event that triggered the selection.
1191
+ */
1192
+ originalEvent: any;
1193
+ }
1194
+
1195
+ /**
1196
+ * Represents the arguments for the `popupOpen` and `popupClose` events of the ContextMenu.
1197
+ */
1198
+ declare class ContextMenuPopupEvent extends PreventableEvent {
1199
+ /**
1200
+ * Specifies the target element for which the ContextMenu is opened.
1201
+ */
1202
+ target: any;
1203
+ /**
1204
+ * Specifies the DOM event that started the action.
1205
+ */
1206
+ originalEvent: any;
1207
+ /**
1208
+ * Specifies the ContextMenuComponent that triggered the event.
1209
+ */
1210
+ sender: ContextMenuComponent;
1211
+ /**
1212
+ * @hidden
1213
+ */
1214
+ constructor(args: any);
1215
+ }
1216
+
1217
+ /**
1218
+ * Represents a template for the content of the ContextMenu. To define a template, nest an `<ng-template>`
1219
+ * tag with the `kendoContextMenuTemplate` directive inside a `<kendo-contextmenu>` component
1220
+ * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/templates)).
1221
+ *
1222
+ * <demo metaUrl="menus/context-menu/template/" height="200"></demo>
1223
+ *
1224
+ * @example
1225
+ * ```html
1226
+ * <kendo-contextmenu>
1227
+ * <ng-template kendoContextMenuTemplate let-item="item">
1228
+ * <span>{{ item.text }}</span>
1229
+ * </ng-template>
1230
+ * </kendo-contextmenu>
1231
+ * ```
1232
+ */
1233
+ declare class ContextMenuTemplateDirective {
1234
+ templateRef: TemplateRef<any>;
1235
+ constructor(templateRef: TemplateRef<any>);
1236
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuTemplateDirective, [{ optional: true; }]>;
1237
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ContextMenuTemplateDirective, "[kendoContextMenuTemplate]", never, {}, {}, never, never, true, never>;
1238
+ }
1239
+
1240
+ /**
1241
+ * @hidden
1242
+ */
1243
+ declare class ContextMenuTargetService {
1244
+ targets: any[];
1245
+ add(target: any): void;
1246
+ remove(target: any): void;
1247
+ find(targetElement: any): any;
1248
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuTargetService, never>;
1249
+ static ɵprov: i0.ɵɵInjectableDeclaration<ContextMenuTargetService>;
1250
+ }
1251
+
1252
+ /**
1253
+ * Represents a container for the [targets](https://www.telerik.com/kendo-angular-ui/components/menus/api/contextmenutargetdirective) of the ContextMenu.
1254
+ *
1255
+ * @example
1256
+ * ```html
1257
+ * <div
1258
+ * #target="kendoContextMenuTargetContainer"
1259
+ * kendoContextMenuTargetContainer
1260
+ * >
1261
+ * <div kendoContextMenuTarget></div>
1262
+ * <div kendoContextMenuTarget></div>
1263
+ * </div>
1264
+ * ```
1265
+ */
1266
+ declare class ContextMenuTargetContainerDirective {
1267
+ targetService: ContextMenuTargetService;
1268
+ /**
1269
+ * @hidden
1270
+ */
1271
+ element: any;
1272
+ /**
1273
+ * @hidden
1274
+ */
1275
+ constructor(elementRef: ElementRef, targetService: ContextMenuTargetService);
1276
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuTargetContainerDirective, never>;
1277
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ContextMenuTargetContainerDirective, "[kendoContextMenuTargetContainer]", ["kendoContextMenuTargetContainer"], {}, {}, never, never, true, never>;
1278
+ }
1279
+
1280
+ /**
1281
+ * Represents the [Kendo UI ContextMenu component for Angular](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu).
1282
+ *
1283
+ * @example
1284
+ * ```ts
1285
+ * _@Component({
1286
+ * selector: 'my-app',
1287
+ * template: `
1288
+ * <div #target>
1289
+ * Right-click to open Context menu</p>
1290
+ * </div>
1291
+ * <kendo-contextmenu [target]="target" [items]="items"> </kendo-contextmenu>
1292
+ * `
1293
+ * })
1294
+ * class AppComponent {
1295
+ * public items: any[] = [{ text: 'item1', items: [{ text: 'item1.1' }] }, { text: 'item2', disabled: true }];
1296
+ * }
1297
+ * ```
1298
+ */
1299
+ declare class ContextMenuComponent extends MenuBase implements OnInit, OnDestroy {
1300
+ private popupService;
1301
+ private service;
1302
+ private ngZone;
1303
+ private renderer;
1304
+ /**
1305
+ * Specifies the event on which the ContextMenu will open ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/opening)).
1306
+ * Accepts the name of a native DOM event. For example, `click`, `dblclick`, `mouseover`, etc.
1307
+ *
1308
+ * @default 'contextmenu'
1309
+ */
1310
+ set showOn(value: string);
1311
+ get showOn(): string;
1312
+ /**
1313
+ * Specifies the element for which the ContextMenu will open ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/target#configuration)).
1314
+ */
1315
+ set target(value: HTMLElement | ElementRef | ContextMenuTargetContainerDirective | string);
1316
+ get target(): HTMLElement | ElementRef | ContextMenuTargetContainerDirective | string;
1317
+ /**
1318
+ * Specifies a CSS selector which filters the elements in the target for which the ContextMenu will open
1319
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/target#changing-items-for-specific-targets)).
1320
+ */
1321
+ set filter(value: string);
1322
+ get filter(): string;
1323
+ /**
1324
+ * Specifies if the ContextMenu will be aligned to the target or to the `filter` element (if specified).
1325
+ *
1326
+ * @default false
1327
+ */
1328
+ set alignToAnchor(value: boolean);
1329
+ get alignToAnchor(): boolean;
1330
+ /**
1331
+ * Specifies if the Menu will be vertically rendered ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/orientation)).
1332
+ *
1333
+ * @default true
1334
+ */
1335
+ set vertical(value: boolean);
1336
+ get vertical(): boolean;
1337
+ /**
1338
+ * Specifies the popup animation.
1339
+ *
1340
+ * @default true
1341
+ */
1342
+ set popupAnimate(value: boolean | PopupAnimation);
1343
+ get popupAnimate(): boolean | PopupAnimation;
1344
+ /**
1345
+ * Specifies the pivot point of the popup.
1346
+ *
1347
+ * @default { horizontal: 'left', vertical: 'top' }
1348
+ */
1349
+ set popupAlign(value: Align);
1350
+ get popupAlign(): Align;
1351
+ /**
1352
+ * Specifies the pivot point of the anchor. Applicable if `alignToAnchor` is `true`.
1353
+ *
1354
+ * @default { horizontal: 'left', vertical: 'bottom' }
1355
+ */
1356
+ set anchorAlign(value: Align);
1357
+ get anchorAlign(): Align;
1358
+ /**
1359
+ * Configures the collision behavior of the popup.
1360
+ *
1361
+ * @default { horizontal: 'fit', vertical: 'flip' }
1362
+ */
1363
+ set collision(value: Collision);
1364
+ get collision(): Collision;
1365
+ /**
1366
+ * Defines the container to which the popups will be appended.
1367
+ */
1368
+ set appendTo(value: ViewContainerRef);
1369
+ get appendTo(): ViewContainerRef;
1370
+ /**
1371
+ * Sets the value for the [`aria-label`](https://www.w3.org/TR/wai-aria-1.1/#aria-label) attribute of the ContextMenu.
1372
+ *
1373
+ * @remarks
1374
+ * This property is related to accessibility.
1375
+ */
1376
+ set ariaLabel(value: string);
1377
+ get ariaLabel(): string;
1378
+ /**
1379
+ * Fires when the Menu is opened ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/events)).
1380
+ */
1381
+ popupOpen: EventEmitter<ContextMenuPopupEvent>;
1382
+ /**
1383
+ * Fires when the Menu is closed ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/events)).
1384
+ */
1385
+ popupClose: EventEmitter<ContextMenuPopupEvent>;
1386
+ /**
1387
+ * Fires when a Menu item is selected ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/events)).
1388
+ */
1389
+ select: EventEmitter<ContextMenuSelectEvent>;
1390
+ /**
1391
+ * Fires when a Menu item is opened ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/events)).
1392
+ */
1393
+ open: EventEmitter<ContextMenuEvent>;
1394
+ /**
1395
+ * Fires when a Menu item is closed ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/events)).
1396
+ */
1397
+ close: EventEmitter<ContextMenuEvent>;
1398
+ /**
1399
+ * @hidden
1400
+ */
1401
+ contentTemplate: ContextMenuTemplateDirective;
1402
+ /**
1403
+ * @hidden
1404
+ */
1405
+ defaultContentTemplate: TemplateRef<any>;
1406
+ private closeSubscription;
1407
+ private showSubscription;
1408
+ private keydownSubscription;
1409
+ private popupSubscriptions;
1410
+ private popupRef;
1411
+ private currentTarget;
1412
+ private directiveTarget;
1413
+ private activeTarget;
1414
+ private _showOn;
1415
+ private _target;
1416
+ private _filter;
1417
+ private _alignToAnchor;
1418
+ private _popupAnimate;
1419
+ private _popupAlign;
1420
+ private _anchorAlign;
1421
+ private _collision;
1422
+ private _appendTo;
1423
+ private _ariaLabel;
1424
+ protected _vertical: i0.WritableSignal<boolean>;
1425
+ constructor(popupService: PopupService, service: ContextMenuService, ngZone: NgZone, renderer: Renderer2);
1426
+ /**
1427
+ * Hides the ContextMenu.
1428
+ */
1429
+ hide(): void;
1430
+ /**
1431
+ * Shows the ContextMenu for the specified target.
1432
+ *
1433
+ * @param target - The offset or the target element for which the ContextMenu will open.
1434
+ */
1435
+ show(target: Offset | HTMLElement | ElementRef): void;
1436
+ ngOnInit(): void;
1437
+ ngOnDestroy(): void;
1438
+ /**
1439
+ * @hidden
1440
+ */
1441
+ emitMenuEvent(name: string, args: any): void;
1442
+ private bindShowHandler;
1443
+ private showContextMenu;
1444
+ private unbindShowHandler;
1445
+ private targetElement;
1446
+ private targetFilter;
1447
+ private closePopup;
1448
+ private removePopup;
1449
+ private openPopup;
1450
+ private createPopup;
1451
+ private closeAndFocus;
1452
+ private popupKeyDownHandler;
1453
+ private popupAction;
1454
+ private get currentTargetElement();
1455
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuComponent, never>;
1456
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContextMenuComponent, "kendo-contextmenu", ["kendoContextMenu"], { "showOn": { "alias": "showOn"; "required": false; }; "target": { "alias": "target"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "alignToAnchor": { "alias": "alignToAnchor"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "popupAnimate": { "alias": "popupAnimate"; "required": false; }; "popupAlign": { "alias": "popupAlign"; "required": false; }; "anchorAlign": { "alias": "anchorAlign"; "required": false; }; "collision": { "alias": "collision"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "popupOpen": "popupOpen"; "popupClose": "popupClose"; "select": "select"; "open": "open"; "close": "close"; }, ["contentTemplate"], never, true, never>;
1457
+ }
1458
+
1459
+ /**
1460
+ * Represents the arguments for the `open` and `close` events of the ContextMenu.
1461
+ */
1462
+ declare class ContextMenuEvent {
1463
+ /**
1464
+ * Specifies the target element for which the ContextMenu is opened.
1465
+ */
1466
+ target: any;
1467
+ /**
1468
+ * Specifies the ContextMenuComponent that triggered the event.
1469
+ */
1470
+ sender: ContextMenuComponent;
1471
+ /**
1472
+ * Specifies the item data of the event.
1473
+ */
1474
+ item: any;
1475
+ /**
1476
+ * Specifies the item index of the event.
1477
+ */
1478
+ index: string;
1479
+ }
1480
+
1481
+ /**
1482
+ * Represents a [target](https://www.telerik.com/kendo-angular-ui/components/menus/api/contextmenutargetdirective) for the ContextMenu
1483
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/target#directives)).
1484
+ *
1485
+ * @example
1486
+ * ```html
1487
+ * <div kendoContextMenuTarget> </div>
1488
+ * ```
1489
+ */
1490
+ declare class ContextMenuTargetDirective implements OnDestroy {
1491
+ targetService: ContextMenuTargetService;
1492
+ /**
1493
+ * Specifies the data which is associated with the target.
1494
+ */
1495
+ set data(value: any);
1496
+ get data(): any;
1497
+ /**
1498
+ * Specifies the target DOM element.
1499
+ */
1500
+ element: any;
1501
+ /**
1502
+ * @hidden
1503
+ */
1504
+ hostClass: boolean;
1505
+ private _data;
1506
+ constructor(elementRef: ElementRef, targetService: ContextMenuTargetService);
1507
+ ngOnDestroy(): void;
1508
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuTargetDirective, never>;
1509
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ContextMenuTargetDirective, "[kendoContextMenuTarget]", ["kendoContextMenuTarget"], { "data": { "alias": "kendoContextMenuTarget"; "required": false; }; }, {}, never, never, true, never>;
1510
+ }
1511
+
1512
+ /**
1513
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
1514
+ * definition for the ContextMenu component.
1515
+ *
1516
+ * @example
1517
+ *
1518
+ * ```ts-no-run
1519
+ * // Import the ContextMenu module
1520
+ * import { ContextMenuModule } from '@progress/kendo-angular-menu';
1521
+ *
1522
+ * // The browser platform with a compiler
1523
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
1524
+ * import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
1525
+ *
1526
+ * import { NgModule } from '@angular/core';
1527
+ *
1528
+ * // Import the app component
1529
+ * import { AppComponent } from './app.component';
1530
+ *
1531
+ * // Define the app module
1532
+ * _@NgModule({
1533
+ * declarations: [AppComponent], // declare app component
1534
+ * imports: [BrowserModule, BrowserAnimationsModule, ContextMenuModule], // import ContextMenuModule module
1535
+ * bootstrap: [AppComponent]
1536
+ * })
1537
+ * export class AppModule {}
1538
+ *
1539
+ * // Compile and launch the module
1540
+ * platformBrowserDynamic().bootstrapModule(AppModule);
1541
+ *
1542
+ * ```
1543
+ */
1544
+ declare class ContextMenuModule {
1545
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuModule, never>;
1546
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ContextMenuModule, never, [typeof ContextMenuComponent, typeof ContextMenuTemplateDirective, typeof ContextMenuTargetDirective, typeof ContextMenuTargetContainerDirective, typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent], [typeof ContextMenuComponent, typeof ContextMenuTemplateDirective, typeof ContextMenuTargetDirective, typeof ContextMenuTargetContainerDirective, typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent]>;
1547
+ static ɵinj: i0.ɵɵInjectorDeclaration<ContextMenuModule>;
1548
+ }
1549
+
1550
+ /**
1551
+ * A [module](link:site.data.urls.angular['ngmoduleapi']) that includes the Menu and ContextMenu components and directives.
1552
+ * Imports the MenusModule into your application [root module](link:site.data.urls.angular['ngmodules']#angular-modularity)
1553
+ * or any other sub-module that will use the Menu and ContextMenu components.
1554
+ *
1555
+ * @example
1556
+ * ```ts-no-run
1557
+ * import { NgModule } from '@angular/core';
1558
+ * import { BrowserModule } from '@angular/platform-browser';
1559
+ * import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
1560
+ * import { MenusModule } from '@progress/kendo-angular-menu';
1561
+ * import { AppComponent } from './app.component';
1562
+ *
1563
+ * _@NgModule({
1564
+ * bootstrap: [AppComponent],
1565
+ * declarations: [AppComponent],
1566
+ * imports: [BrowserModule, BrowserAnimationsModule, MenusModule]
1567
+ * })
1568
+ * export class AppModule {
1569
+ * }
1570
+ * ```
1571
+ */
1572
+ declare class MenusModule {
1573
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenusModule, never>;
1574
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MenusModule, never, [typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent, typeof ContextMenuComponent, typeof ContextMenuTemplateDirective, typeof ContextMenuTargetDirective, typeof ContextMenuTargetContainerDirective, typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent], [typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent, typeof ContextMenuComponent, typeof ContextMenuTemplateDirective, typeof ContextMenuTargetDirective, typeof ContextMenuTargetContainerDirective, typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent]>;
1575
+ static ɵinj: i0.ɵɵInjectorDeclaration<MenusModule>;
1576
+ }
1577
+
1578
+ /**
1579
+ * Represents a utility array that contains all `Menu` related components and directives.
1580
+ */
1581
+ declare const KENDO_MENU: readonly [typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent];
1582
+ /**
1583
+ * Represents a utility array that contains all `ContextMenu` related components and directives.
1584
+ */
1585
+ declare const KENDO_CONTEXTMENU: readonly [typeof ContextMenuComponent, typeof ContextMenuTemplateDirective, typeof ContextMenuTargetDirective, typeof ContextMenuTargetContainerDirective, typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent];
1586
+ /**
1587
+ * Represents a utility array that contains all `@progress/kendo-angular-menu` related components and directives.
1588
+ */
1589
+ declare const KENDO_MENUS: readonly [typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent, typeof ContextMenuComponent, typeof ContextMenuTemplateDirective, typeof ContextMenuTargetDirective, typeof ContextMenuTargetContainerDirective, typeof MenuComponent, typeof MenuItemComponent, typeof ItemTemplateDirective, typeof ItemLinkTemplateDirective, typeof ItemContentTemplateDirective, typeof HierarchyBindingDirective, typeof FlatBindingDirective, typeof LinkDirective, typeof ExpandArrowComponent];
1590
+
1591
+ export { ContextMenuComponent, ContextMenuEvent, ContextMenuModule, ContextMenuPopupEvent, ContextMenuSelectEvent, ContextMenuService, ContextMenuTargetContainerDirective, ContextMenuTargetDirective, ContextMenuTemplateDirective, ExpandArrowComponent, FlatBindingDirective, HierarchyBindingDirective, ItemComponent, ItemContentTemplateDirective, ItemLinkTemplateDirective, ItemTemplateDirective, ItemsService, KENDO_CONTEXTMENU, KENDO_MENU, KENDO_MENUS, LinkDirective, ListComponent, MenuComponent, MenuEvent, MenuItemComponent, MenuModule, MenuSelectEvent, MenusModule };
1592
+ export type { MenuAnimation, MenuItem, MenuSize, OpenOnClickSettings, PopupSettings };