@progress/kendo-angular-menu 21.4.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.
- package/data-binding/binding-directive-base.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-menu.mjs +87 -87
- package/menu-base.d.ts +1 -1
- package/package.json +11 -19
- package/esm2022/constants.mjs +0 -8
- package/esm2022/context-menu/context-menu-event.mjs +0 -25
- package/esm2022/context-menu/context-menu-items.service.mjs +0 -27
- package/esm2022/context-menu/context-menu-popup-event.mjs +0 -29
- package/esm2022/context-menu/context-menu-select-event.mjs +0 -14
- package/esm2022/context-menu/context-menu-target-container.directive.mjs +0 -49
- package/esm2022/context-menu/context-menu-target.directive.mjs +0 -62
- package/esm2022/context-menu/context-menu-target.service.mjs +0 -27
- package/esm2022/context-menu/context-menu-template.directive.mjs +0 -39
- package/esm2022/context-menu/context-menu.component.mjs +0 -527
- package/esm2022/context-menu/context-menu.module.mjs +0 -69
- package/esm2022/context-menu/context-menu.service.mjs +0 -30
- package/esm2022/data-binding/binding-directive-base.mjs +0 -46
- package/esm2022/data-binding/flat-binding.directive.mjs +0 -139
- package/esm2022/data-binding/hierachy-binding.directive.mjs +0 -124
- package/esm2022/data-binding/utils.mjs +0 -31
- package/esm2022/directives.mjs +0 -48
- package/esm2022/dom-queries.mjs +0 -104
- package/esm2022/index.mjs +0 -29
- package/esm2022/menu-animation.interface.mjs +0 -5
- package/esm2022/menu-base.mjs +0 -103
- package/esm2022/menu-event.mjs +0 -22
- package/esm2022/menu-item.component.mjs +0 -149
- package/esm2022/menu-item.interface.mjs +0 -5
- package/esm2022/menu-select-event.mjs +0 -14
- package/esm2022/menu.component.mjs +0 -304
- package/esm2022/menu.module.mjs +0 -65
- package/esm2022/menus.module.mjs +0 -59
- package/esm2022/open-on-click-settings.mjs +0 -10
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/preventable-event.mjs +0 -34
- package/esm2022/progress-kendo-angular-menu.mjs +0 -8
- package/esm2022/rendering/arrow.component.mjs +0 -70
- package/esm2022/rendering/link.directive.mjs +0 -69
- package/esm2022/rendering/list.component.mjs +0 -679
- package/esm2022/rendering/popup-settings.mjs +0 -74
- package/esm2022/services/actions.service.mjs +0 -192
- package/esm2022/services/hover.service.mjs +0 -127
- package/esm2022/services/items.service.mjs +0 -128
- package/esm2022/services/navigation.service.mjs +0 -268
- package/esm2022/size.mjs +0 -5
- package/esm2022/templates/item-content-template.directive.mjs +0 -53
- package/esm2022/templates/item-link-template.directive.mjs +0 -57
- package/esm2022/templates/item-template.directive.mjs +0 -54
- package/esm2022/utils.mjs +0 -52
|
@@ -1,149 +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 { Component, Input, ContentChildren, QueryList } from '@angular/core';
|
|
6
|
-
import { ItemTemplateDirective } from './templates/item-template.directive';
|
|
7
|
-
import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
|
|
8
|
-
import { ItemContentTemplateDirective } from './templates/item-content-template.directive';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
/**
|
|
11
|
-
* Represents a component that can be used to specify the Menu items
|
|
12
|
-
* ([more information and examples]({% slug items_menu %})).
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```html
|
|
16
|
-
* <kendo-menu>
|
|
17
|
-
* <kendo-menu-item text="item1">
|
|
18
|
-
* <kendo-menu-item text="item1.1" url="https://example.com">
|
|
19
|
-
* </kendo-menu-item>
|
|
20
|
-
* <kendo-menu-item text="item1.2" [disabled]="true">
|
|
21
|
-
* </kendo-menu-item>
|
|
22
|
-
* </kendo-menu-item>
|
|
23
|
-
* <kendo-menu-item text="item2">
|
|
24
|
-
* <ng-template kendoMenuItemContentTemplate let-item="item">
|
|
25
|
-
* <div style="padding: 10px;">
|
|
26
|
-
* My Content Template: {{ item.text }}
|
|
27
|
-
* </div>
|
|
28
|
-
* </ng-template>
|
|
29
|
-
* <ng-template kendoMenuItemTemplate let-item="item">
|
|
30
|
-
* <div style="padding: 10px;">
|
|
31
|
-
* My Template: {{ item.text }}
|
|
32
|
-
* </div>
|
|
33
|
-
* </ng-template>
|
|
34
|
-
* </kendo-menu-item>
|
|
35
|
-
* <kendo-menu-item text="item3">
|
|
36
|
-
* <ng-template kendoMenuItemLinkTemplate let-item="item" let-index="index">
|
|
37
|
-
* <span [kendoMenuItemLink]="index">
|
|
38
|
-
* {{ item.text }}
|
|
39
|
-
* @if (item.items && item.items.length) {
|
|
40
|
-
* <span [kendoMenuExpandArrow]="index"></span>
|
|
41
|
-
* }
|
|
42
|
-
* </span>
|
|
43
|
-
* </ng-template>
|
|
44
|
-
* </kendo-menu-item>
|
|
45
|
-
* </kendo-menu>
|
|
46
|
-
* ```
|
|
47
|
-
*
|
|
48
|
-
* @remarks
|
|
49
|
-
* Supported children components are: {@link MenuItemComponent}.
|
|
50
|
-
*/
|
|
51
|
-
export class MenuItemComponent {
|
|
52
|
-
text;
|
|
53
|
-
url;
|
|
54
|
-
disabled;
|
|
55
|
-
cssClass;
|
|
56
|
-
cssStyle;
|
|
57
|
-
icon;
|
|
58
|
-
svgIcon;
|
|
59
|
-
data;
|
|
60
|
-
separator;
|
|
61
|
-
/**
|
|
62
|
-
* @hidden
|
|
63
|
-
*/
|
|
64
|
-
itemTemplate;
|
|
65
|
-
/**
|
|
66
|
-
* @hidden
|
|
67
|
-
*/
|
|
68
|
-
itemLinkTemplate;
|
|
69
|
-
/**
|
|
70
|
-
* @hidden
|
|
71
|
-
*/
|
|
72
|
-
itemContentTemplate;
|
|
73
|
-
/**
|
|
74
|
-
* @hidden
|
|
75
|
-
*/
|
|
76
|
-
children;
|
|
77
|
-
/**
|
|
78
|
-
* @hidden
|
|
79
|
-
*/
|
|
80
|
-
get template() {
|
|
81
|
-
if (this.itemTemplate && this.itemTemplate.length) {
|
|
82
|
-
return this.itemTemplate.first.templateRef;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* @hidden
|
|
87
|
-
*/
|
|
88
|
-
get linkTemplate() {
|
|
89
|
-
if (this.itemLinkTemplate && this.itemLinkTemplate.length) {
|
|
90
|
-
return this.itemLinkTemplate.first.templateRef;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @hidden
|
|
95
|
-
*/
|
|
96
|
-
get contentTemplate() {
|
|
97
|
-
if (this.itemContentTemplate && this.itemContentTemplate.length) {
|
|
98
|
-
return this.itemContentTemplate.first.templateRef;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* @hidden
|
|
103
|
-
*/
|
|
104
|
-
get items() {
|
|
105
|
-
if (this.children.length) {
|
|
106
|
-
return this.children.toArray().filter(c => c !== this);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MenuItemComponent, isStandalone: true, selector: "kendo-menu-item", inputs: { text: "text", url: "url", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", icon: "icon", svgIcon: "svgIcon", data: "data", separator: "separator" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "itemContentTemplate", predicate: ItemContentTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
|
|
111
|
-
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuItemComponent, decorators: [{
|
|
113
|
-
type: Component,
|
|
114
|
-
args: [{
|
|
115
|
-
selector: 'kendo-menu-item',
|
|
116
|
-
template: ``,
|
|
117
|
-
standalone: true
|
|
118
|
-
}]
|
|
119
|
-
}], propDecorators: { text: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], url: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], disabled: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], cssClass: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], cssStyle: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], icon: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], svgIcon: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], data: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], separator: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], itemTemplate: [{
|
|
138
|
-
type: ContentChildren,
|
|
139
|
-
args: [ItemTemplateDirective]
|
|
140
|
-
}], itemLinkTemplate: [{
|
|
141
|
-
type: ContentChildren,
|
|
142
|
-
args: [ItemLinkTemplateDirective]
|
|
143
|
-
}], itemContentTemplate: [{
|
|
144
|
-
type: ContentChildren,
|
|
145
|
-
args: [ItemContentTemplateDirective]
|
|
146
|
-
}], children: [{
|
|
147
|
-
type: ContentChildren,
|
|
148
|
-
args: [MenuItemComponent]
|
|
149
|
-
}] } });
|
|
@@ -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,14 +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 { MenuEvent } from './menu-event';
|
|
6
|
-
/**
|
|
7
|
-
* Arguments for the `select` event of the Menu.
|
|
8
|
-
*/
|
|
9
|
-
export class MenuSelectEvent extends MenuEvent {
|
|
10
|
-
/**
|
|
11
|
-
* The DOM event that triggered the selection.
|
|
12
|
-
*/
|
|
13
|
-
originalEvent;
|
|
14
|
-
}
|
|
@@ -1,304 +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 { Component, Input, HostBinding, EventEmitter, Output, NgZone, Renderer2, Optional, TemplateRef, forwardRef, ViewContainerRef } from '@angular/core';
|
|
6
|
-
import { NgClass } from '@angular/common';
|
|
7
|
-
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
8
|
-
import { validatePackage } from '@progress/kendo-licensing';
|
|
9
|
-
import { packageMetadata } from './package-metadata';
|
|
10
|
-
import { ItemsService } from './services/items.service';
|
|
11
|
-
import { ActionsService } from './services/actions.service';
|
|
12
|
-
import { NavigationService } from './services/navigation.service';
|
|
13
|
-
import { HoverService } from './services/hover.service';
|
|
14
|
-
import { normalize } from './open-on-click-settings';
|
|
15
|
-
import { inMenu } from './dom-queries';
|
|
16
|
-
import { ContextMenuService } from './context-menu/context-menu.service';
|
|
17
|
-
import { MenuBase } from './menu-base';
|
|
18
|
-
import { Keys, isDocumentAvailable, normalizeKeys } from '@progress/kendo-angular-common';
|
|
19
|
-
import { getSizeClass } from './utils';
|
|
20
|
-
import { ListComponent } from './rendering/list.component';
|
|
21
|
-
import * as i0 from "@angular/core";
|
|
22
|
-
import * as i1 from "./services/items.service";
|
|
23
|
-
import * as i2 from "./services/hover.service";
|
|
24
|
-
import * as i3 from "./services/actions.service";
|
|
25
|
-
import * as i4 from "./services/navigation.service";
|
|
26
|
-
import * as i5 from "@progress/kendo-angular-l10n";
|
|
27
|
-
import * as i6 from "./context-menu/context-menu.service";
|
|
28
|
-
/**
|
|
29
|
-
* Represents the [Kendo UI Menu component for Angular]({% slug overview_menu %}).
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```ts
|
|
33
|
-
* _@Component({
|
|
34
|
-
* selector: 'my-app',
|
|
35
|
-
* template: `
|
|
36
|
-
* <kendo-menu [items]="items">
|
|
37
|
-
* </kendo-menu>
|
|
38
|
-
* `
|
|
39
|
-
* })
|
|
40
|
-
* class AppComponent {
|
|
41
|
-
* public items: any[] = [{ text: 'item1', items: [{ text: 'item1.1' }] }, { text: 'item2', disabled: true }];
|
|
42
|
-
* }
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
45
|
-
* @remarks
|
|
46
|
-
* Supported children components are: {@link MenuItemComponent}.
|
|
47
|
-
*/
|
|
48
|
-
export class MenuComponent extends MenuBase {
|
|
49
|
-
itemsService;
|
|
50
|
-
hover;
|
|
51
|
-
actions;
|
|
52
|
-
navigation;
|
|
53
|
-
localization;
|
|
54
|
-
ngZone;
|
|
55
|
-
renderer;
|
|
56
|
-
contextService;
|
|
57
|
-
/**
|
|
58
|
-
* Defines the container to which the popups will be appended.
|
|
59
|
-
*/
|
|
60
|
-
appendTo;
|
|
61
|
-
/**
|
|
62
|
-
* @hidden
|
|
63
|
-
*/
|
|
64
|
-
menuItemTemplate;
|
|
65
|
-
/**
|
|
66
|
-
* @hidden
|
|
67
|
-
*/
|
|
68
|
-
ariaRole = 'menubar';
|
|
69
|
-
/**
|
|
70
|
-
* @hidden
|
|
71
|
-
*/
|
|
72
|
-
menuItemLinkTemplate;
|
|
73
|
-
/**
|
|
74
|
-
* Fires when a Menu item is selected ([see example](slug:events_menu)).
|
|
75
|
-
*/
|
|
76
|
-
select = new EventEmitter();
|
|
77
|
-
/**
|
|
78
|
-
* Fires when a Menu item is opened ([see example](slug:events_menu)).
|
|
79
|
-
*/
|
|
80
|
-
open = new EventEmitter();
|
|
81
|
-
/**
|
|
82
|
-
* Fires when a Menu item is closed ([see example](slug:events_menu)).
|
|
83
|
-
*/
|
|
84
|
-
close = new EventEmitter();
|
|
85
|
-
/**
|
|
86
|
-
* @hidden
|
|
87
|
-
*/
|
|
88
|
-
get ariaOrientation() {
|
|
89
|
-
if (this.vertical) {
|
|
90
|
-
return 'vertical';
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @hidden
|
|
95
|
-
*/
|
|
96
|
-
get isContextMenu() {
|
|
97
|
-
return Boolean(this.contextService);
|
|
98
|
-
}
|
|
99
|
-
get direction() {
|
|
100
|
-
return this.rtl;
|
|
101
|
-
}
|
|
102
|
-
get rtl() {
|
|
103
|
-
return this.localization.rtl;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @hidden
|
|
107
|
-
*/
|
|
108
|
-
get menuClasses() {
|
|
109
|
-
const sizeClass = getSizeClass(this.size);
|
|
110
|
-
const staticClasses = 'k-reset k-header k-menu';
|
|
111
|
-
if (this.isContextMenu) {
|
|
112
|
-
return `k-context-menu k-menu-group ${sizeClass}`;
|
|
113
|
-
}
|
|
114
|
-
return `${staticClasses} k-menu-${this.vertical ? 'vertical' : 'horizontal'}`;
|
|
115
|
-
}
|
|
116
|
-
closeClickSubscription;
|
|
117
|
-
contextKeyDownSubscription;
|
|
118
|
-
constructor(itemsService, hover, actions, navigation, localization, ngZone, renderer, contextService) {
|
|
119
|
-
super();
|
|
120
|
-
this.itemsService = itemsService;
|
|
121
|
-
this.hover = hover;
|
|
122
|
-
this.actions = actions;
|
|
123
|
-
this.navigation = navigation;
|
|
124
|
-
this.localization = localization;
|
|
125
|
-
this.ngZone = ngZone;
|
|
126
|
-
this.renderer = renderer;
|
|
127
|
-
this.contextService = contextService;
|
|
128
|
-
validatePackage(packageMetadata);
|
|
129
|
-
this.actions.owner = this;
|
|
130
|
-
if (contextService) {
|
|
131
|
-
contextService.items = this.itemsService;
|
|
132
|
-
this.contextKeyDownSubscription = contextService.keydown.subscribe(this.contextKeyDown.bind(this));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Opens or closes the specified Menu items.
|
|
137
|
-
*
|
|
138
|
-
* @param open - A Boolean value which indicates if the items will be opened or closed.
|
|
139
|
-
* @param indices - One or more values which represent the hierarchical indices of the items that will be opened or closed.
|
|
140
|
-
*/
|
|
141
|
-
toggle(open, ...indices) {
|
|
142
|
-
for (let idx = 0; idx < indices.length; idx++) {
|
|
143
|
-
const item = this.itemsService.get(indices[idx]);
|
|
144
|
-
if (item && !item.disabled) {
|
|
145
|
-
if (open) {
|
|
146
|
-
item.open();
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
item.close();
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* @hidden
|
|
156
|
-
*/
|
|
157
|
-
focus(index) {
|
|
158
|
-
this.navigation.focusIndex(index);
|
|
159
|
-
}
|
|
160
|
-
ngOnChanges(changes) {
|
|
161
|
-
this.navigation.vertical = this.vertical;
|
|
162
|
-
this.hover.delay = this.hoverDelay;
|
|
163
|
-
if (changes.openOnClick) {
|
|
164
|
-
const openOnClick = this.openOnClick = normalize(this.openOnClick);
|
|
165
|
-
this.hover.openOnOver = !openOnClick;
|
|
166
|
-
if (openOnClick && openOnClick.toggle === 'click') {
|
|
167
|
-
this.attachCloseClick();
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
this.unsubscribeClick();
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
ngAfterViewChecked() {
|
|
175
|
-
this.navigation.updateActive();
|
|
176
|
-
}
|
|
177
|
-
ngOnDestroy() {
|
|
178
|
-
this.unsubscribeClick();
|
|
179
|
-
if (this.contextService) {
|
|
180
|
-
this.contextService.items = null;
|
|
181
|
-
this.contextKeyDownSubscription.unsubscribe();
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
attachCloseClick() {
|
|
185
|
-
if (!this.closeClickSubscription && isDocumentAvailable()) {
|
|
186
|
-
this.ngZone.runOutsideAngular(() => {
|
|
187
|
-
this.closeClickSubscription = this.renderer.listen('document', 'click', (e) => {
|
|
188
|
-
if (!inMenu(e.target, this.itemsService)) {
|
|
189
|
-
this.hover.openOnOver = false;
|
|
190
|
-
this.actions.closeAll();
|
|
191
|
-
this.actions.execute();
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
unsubscribeClick() {
|
|
198
|
-
if (this.closeClickSubscription) {
|
|
199
|
-
this.closeClickSubscription();
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
contextKeyDown(e) {
|
|
203
|
-
if (!this.itemsService.hasItems) {
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
const keyCode = normalizeKeys(e);
|
|
207
|
-
const rtl = this.localization.rtl;
|
|
208
|
-
const first = keyCode === Keys.ArrowDown || keyCode === Keys.ArrowRight;
|
|
209
|
-
const last = keyCode === Keys.ArrowUp || keyCode === Keys.ArrowLeft;
|
|
210
|
-
let index;
|
|
211
|
-
if ((first && !rtl) || (last && rtl)) {
|
|
212
|
-
index = 'first';
|
|
213
|
-
}
|
|
214
|
-
else if ((first && rtl) || (last && !rtl)) {
|
|
215
|
-
index = 'last';
|
|
216
|
-
}
|
|
217
|
-
if (index) {
|
|
218
|
-
e.preventDefault();
|
|
219
|
-
this.focus(index);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuComponent, deps: [{ token: i1.ItemsService }, { token: i2.HoverService }, { token: i3.ActionsService }, { token: i4.NavigationService }, { token: i5.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i6.ContextMenuService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
223
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MenuComponent, isStandalone: true, selector: "kendo-menu", inputs: { appendTo: "appendTo", menuItemTemplate: "menuItemTemplate", ariaRole: "ariaRole", menuItemLinkTemplate: "menuItemLinkTemplate" }, outputs: { select: "select", open: "open", close: "close" }, host: { properties: { "class.k-rtl": "this.direction" } }, providers: [
|
|
224
|
-
ItemsService,
|
|
225
|
-
ActionsService,
|
|
226
|
-
NavigationService,
|
|
227
|
-
HoverService,
|
|
228
|
-
LocalizationService,
|
|
229
|
-
{
|
|
230
|
-
provide: L10N_PREFIX,
|
|
231
|
-
useValue: 'kendo.menu'
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
provide: MenuBase,
|
|
235
|
-
useExisting: forwardRef(() => MenuComponent)
|
|
236
|
-
}
|
|
237
|
-
], exportAs: ["kendoMenu"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
238
|
-
<ul
|
|
239
|
-
[attr.role]="ariaRole"
|
|
240
|
-
[attr.aria-orientation]="ariaOrientation"
|
|
241
|
-
kendoMenuList [items]="rootItems" [level]="0" [appendTo]="appendTo"
|
|
242
|
-
[size]="size" [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"
|
|
243
|
-
[itemTemplate]="itemTemplate.first?.templateRef || menuItemTemplate"
|
|
244
|
-
[itemLinkTemplate]="itemLinkTemplate.first?.templateRef || menuItemLinkTemplate"
|
|
245
|
-
[popupSettings]="popupSettings"
|
|
246
|
-
[ngClass]="menuClasses">
|
|
247
|
-
</ul>
|
|
248
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
249
|
-
}
|
|
250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuComponent, decorators: [{
|
|
251
|
-
type: Component,
|
|
252
|
-
args: [{
|
|
253
|
-
exportAs: 'kendoMenu',
|
|
254
|
-
providers: [
|
|
255
|
-
ItemsService,
|
|
256
|
-
ActionsService,
|
|
257
|
-
NavigationService,
|
|
258
|
-
HoverService,
|
|
259
|
-
LocalizationService,
|
|
260
|
-
{
|
|
261
|
-
provide: L10N_PREFIX,
|
|
262
|
-
useValue: 'kendo.menu'
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
provide: MenuBase,
|
|
266
|
-
useExisting: forwardRef(() => MenuComponent)
|
|
267
|
-
}
|
|
268
|
-
],
|
|
269
|
-
selector: 'kendo-menu',
|
|
270
|
-
template: `
|
|
271
|
-
<ul
|
|
272
|
-
[attr.role]="ariaRole"
|
|
273
|
-
[attr.aria-orientation]="ariaOrientation"
|
|
274
|
-
kendoMenuList [items]="rootItems" [level]="0" [appendTo]="appendTo"
|
|
275
|
-
[size]="size" [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"
|
|
276
|
-
[itemTemplate]="itemTemplate.first?.templateRef || menuItemTemplate"
|
|
277
|
-
[itemLinkTemplate]="itemLinkTemplate.first?.templateRef || menuItemLinkTemplate"
|
|
278
|
-
[popupSettings]="popupSettings"
|
|
279
|
-
[ngClass]="menuClasses">
|
|
280
|
-
</ul>
|
|
281
|
-
`,
|
|
282
|
-
standalone: true,
|
|
283
|
-
imports: [ListComponent, NgClass]
|
|
284
|
-
}]
|
|
285
|
-
}], ctorParameters: () => [{ type: i1.ItemsService }, { type: i2.HoverService }, { type: i3.ActionsService }, { type: i4.NavigationService }, { type: i5.LocalizationService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i6.ContextMenuService, decorators: [{
|
|
286
|
-
type: Optional
|
|
287
|
-
}] }], propDecorators: { appendTo: [{
|
|
288
|
-
type: Input
|
|
289
|
-
}], menuItemTemplate: [{
|
|
290
|
-
type: Input
|
|
291
|
-
}], ariaRole: [{
|
|
292
|
-
type: Input
|
|
293
|
-
}], menuItemLinkTemplate: [{
|
|
294
|
-
type: Input
|
|
295
|
-
}], select: [{
|
|
296
|
-
type: Output
|
|
297
|
-
}], open: [{
|
|
298
|
-
type: Output
|
|
299
|
-
}], close: [{
|
|
300
|
-
type: Output
|
|
301
|
-
}], direction: [{
|
|
302
|
-
type: HostBinding,
|
|
303
|
-
args: ['class.k-rtl']
|
|
304
|
-
}] } });
|
package/esm2022/menu.module.mjs
DELETED
|
@@ -1,65 +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 { NgModule } from '@angular/core';
|
|
6
|
-
import { KENDO_MENU } from './directives';
|
|
7
|
-
import { PopupService } from '@progress/kendo-angular-popup';
|
|
8
|
-
import { IconsService } from '@progress/kendo-angular-icons';
|
|
9
|
-
import { ResizeBatchService } from '@progress/kendo-angular-common';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "./menu.component";
|
|
12
|
-
import * as i2 from "./menu-item.component";
|
|
13
|
-
import * as i3 from "./templates/item-template.directive";
|
|
14
|
-
import * as i4 from "./templates/item-link-template.directive";
|
|
15
|
-
import * as i5 from "./templates/item-content-template.directive";
|
|
16
|
-
import * as i6 from "./data-binding/hierachy-binding.directive";
|
|
17
|
-
import * as i7 from "./data-binding/flat-binding.directive";
|
|
18
|
-
import * as i8 from "./rendering/link.directive";
|
|
19
|
-
import * as i9 from "./rendering/arrow.component";
|
|
20
|
-
//IMPORTANT: NgModule export kept for backwards compatibility
|
|
21
|
-
/**
|
|
22
|
-
* Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
|
|
23
|
-
* definition for the Menu component.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
*
|
|
27
|
-
* ```ts-no-run
|
|
28
|
-
* // Import the Menu module
|
|
29
|
-
* import { MenuModule } from '@progress/kendo-angular-menu';
|
|
30
|
-
*
|
|
31
|
-
* // The browser platform with a compiler
|
|
32
|
-
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
33
|
-
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
34
|
-
*
|
|
35
|
-
* import { NgModule } from '@angular/core';
|
|
36
|
-
*
|
|
37
|
-
* // Import the app component
|
|
38
|
-
* import { AppComponent } from './app.component';
|
|
39
|
-
*
|
|
40
|
-
* // Define the app module
|
|
41
|
-
* _@NgModule({
|
|
42
|
-
* declarations: [AppComponent], // declare app component
|
|
43
|
-
* imports: [BrowserModule, BrowserAnimationsModule, MenuModule], // import Menu module
|
|
44
|
-
* bootstrap: [AppComponent]
|
|
45
|
-
* })
|
|
46
|
-
* export class AppModule {}
|
|
47
|
-
*
|
|
48
|
-
* // Compile and launch the module
|
|
49
|
-
* platformBrowserDynamic().bootstrapModule(AppModule);
|
|
50
|
-
*
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
|
-
export class MenuModule {
|
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
55
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: MenuModule, imports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent], exports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent] });
|
|
56
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [i1.MenuComponent, i9.ExpandArrowComponent] });
|
|
57
|
-
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuModule, decorators: [{
|
|
59
|
-
type: NgModule,
|
|
60
|
-
args: [{
|
|
61
|
-
exports: [...KENDO_MENU],
|
|
62
|
-
imports: [...KENDO_MENU],
|
|
63
|
-
providers: [PopupService, IconsService, ResizeBatchService]
|
|
64
|
-
}]
|
|
65
|
-
}] });
|
package/esm2022/menus.module.mjs
DELETED
|
@@ -1,59 +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 { NgModule } from '@angular/core';
|
|
6
|
-
import { KENDO_MENUS } from './directives';
|
|
7
|
-
import { PopupService } from '@progress/kendo-angular-popup';
|
|
8
|
-
import { IconsService } from '@progress/kendo-angular-icons';
|
|
9
|
-
import { ResizeBatchService } from '@progress/kendo-angular-common';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "./menu.component";
|
|
12
|
-
import * as i2 from "./menu-item.component";
|
|
13
|
-
import * as i3 from "./templates/item-template.directive";
|
|
14
|
-
import * as i4 from "./templates/item-link-template.directive";
|
|
15
|
-
import * as i5 from "./templates/item-content-template.directive";
|
|
16
|
-
import * as i6 from "./data-binding/hierachy-binding.directive";
|
|
17
|
-
import * as i7 from "./data-binding/flat-binding.directive";
|
|
18
|
-
import * as i8 from "./rendering/link.directive";
|
|
19
|
-
import * as i9 from "./rendering/arrow.component";
|
|
20
|
-
import * as i10 from "./context-menu/context-menu.component";
|
|
21
|
-
import * as i11 from "./context-menu/context-menu-template.directive";
|
|
22
|
-
import * as i12 from "./context-menu/context-menu-target.directive";
|
|
23
|
-
import * as i13 from "./context-menu/context-menu-target-container.directive";
|
|
24
|
-
//IMPORTANT: NgModule export kept for backwards compatibility
|
|
25
|
-
/**
|
|
26
|
-
* A [module](link:site.data.urls.angular['ngmoduleapi']) that includes the Menu and ContextMenu components and directives.
|
|
27
|
-
* Imports the MenusModule into your application [root module](link:site.data.urls.angular['ngmodules']#angular-modularity)
|
|
28
|
-
* or any other sub-module that will use the Menu and ContextMenu components.
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```ts-no-run
|
|
32
|
-
* import { NgModule } from '@angular/core';
|
|
33
|
-
* import { BrowserModule } from '@angular/platform-browser';
|
|
34
|
-
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
35
|
-
* import { MenusModule } from '@progress/kendo-angular-menu';
|
|
36
|
-
* import { AppComponent } from './app.component';
|
|
37
|
-
*
|
|
38
|
-
* _@NgModule({
|
|
39
|
-
* bootstrap: [AppComponent],
|
|
40
|
-
* declarations: [AppComponent],
|
|
41
|
-
* imports: [BrowserModule, BrowserAnimationsModule, MenusModule]
|
|
42
|
-
* })
|
|
43
|
-
* export class AppModule {
|
|
44
|
-
* }
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
47
|
-
export class MenusModule {
|
|
48
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenusModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
49
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: MenusModule, imports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent, i10.ContextMenuComponent, i11.ContextMenuTemplateDirective, i12.ContextMenuTargetDirective, i13.ContextMenuTargetContainerDirective, i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent], exports: [i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent, i10.ContextMenuComponent, i11.ContextMenuTemplateDirective, i12.ContextMenuTargetDirective, i13.ContextMenuTargetContainerDirective, i1.MenuComponent, i2.MenuItemComponent, i3.ItemTemplateDirective, i4.ItemLinkTemplateDirective, i5.ItemContentTemplateDirective, i6.HierarchyBindingDirective, i7.FlatBindingDirective, i8.LinkDirective, i9.ExpandArrowComponent] });
|
|
50
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenusModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [i1.MenuComponent, i9.ExpandArrowComponent, i10.ContextMenuComponent, i1.MenuComponent, i9.ExpandArrowComponent] });
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenusModule, decorators: [{
|
|
53
|
-
type: NgModule,
|
|
54
|
-
args: [{
|
|
55
|
-
exports: [...KENDO_MENUS],
|
|
56
|
-
imports: [...KENDO_MENUS],
|
|
57
|
-
providers: [PopupService, IconsService, ResizeBatchService]
|
|
58
|
-
}]
|
|
59
|
-
}] });
|
|
@@ -1,10 +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
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export const normalize = (settings) => settings && Object.assign({
|
|
9
|
-
toggle: 'select'
|
|
10
|
-
}, settings);
|
|
@@ -1,16 +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
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export const packageMetadata = {
|
|
9
|
-
name: '@progress/kendo-angular-menu',
|
|
10
|
-
productName: 'Kendo UI for Angular',
|
|
11
|
-
productCode: 'KENDOUIANGULAR',
|
|
12
|
-
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate: 1768393113,
|
|
14
|
-
version: '21.4.1',
|
|
15
|
-
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
|
-
};
|
|
@@ -1,34 +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
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export class PreventableEvent {
|
|
9
|
-
prevented = false;
|
|
10
|
-
/**
|
|
11
|
-
* Prevents the default action for a specified event.
|
|
12
|
-
* In this way, the source component suppresses
|
|
13
|
-
* the built-in behavior that follows the event.
|
|
14
|
-
*/
|
|
15
|
-
preventDefault() {
|
|
16
|
-
this.prevented = true;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Returns `true` if the event was prevented
|
|
20
|
-
* by any of its subscribers.
|
|
21
|
-
*
|
|
22
|
-
* @returns `true` if the default action was prevented.
|
|
23
|
-
* Otherwise, returns `false`.
|
|
24
|
-
*/
|
|
25
|
-
isDefaultPrevented() {
|
|
26
|
-
return this.prevented;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @hidden
|
|
30
|
-
*/
|
|
31
|
-
constructor(args) {
|
|
32
|
-
Object.assign(this, args);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,8 +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
|
-
/**
|
|
6
|
-
* Generated bundle index. Do not edit.
|
|
7
|
-
*/
|
|
8
|
-
export * from './index';
|