@progress/kendo-angular-menu 25.0.0-develop.1 → 25.0.0-develop.13

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.
@@ -3,12 +3,13 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { Injectable, NgZone, EventEmitter, Optional, Directive, ContentChildren, Input, Component, ElementRef, forwardRef, HostBinding, ViewChild, Output, isDevMode, ContentChild, NgModule } from '@angular/core';
6
+ import { Injectable, NgZone, EventEmitter, Optional, Directive, signal, ContentChildren, Input, ChangeDetectionStrategy, Component, ElementRef, inject, DestroyRef, forwardRef, HostBinding, ViewChild, Output, isDevMode, effect, ContentChild, NgModule } from '@angular/core';
7
7
  import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
8
8
  import * as i3 from '@progress/kendo-angular-l10n';
9
9
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
11
  import { PreventableEvent as PreventableEvent$1, hasObservers, Keys, normalizeKeys, isDocumentAvailable, isPresent, parseCSSClassNames, KENDO_WEBMCP_HOST, ResizeBatchService } from '@progress/kendo-angular-common';
12
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
12
13
  import { chevronDownIcon, chevronLeftIcon, chevronRightIcon } from '@progress/kendo-svg-icons';
13
14
  import * as i5 from '@progress/kendo-angular-popup';
14
15
  import { PopupService, POPUP_CONTAINER } from '@progress/kendo-angular-popup';
@@ -22,8 +23,8 @@ const packageMetadata = {
22
23
  productName: 'Kendo UI for Angular',
23
24
  productCode: 'KENDOUIANGULAR',
24
25
  productCodes: ['KENDOUIANGULAR'],
25
- publishDate: 1783679773,
26
- version: '25.0.0-develop.1',
26
+ publishDate: 1785426698,
27
+ version: '25.0.0-develop.13',
27
28
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
28
29
  };
29
30
 
@@ -143,10 +144,10 @@ class ItemsService {
143
144
  parentIndex(index) {
144
145
  return index.replace(PARENT_REGEX, '');
145
146
  }
146
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
147
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemsService });
147
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
148
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemsService });
148
149
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemsService, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemsService, decorators: [{
150
151
  type: Injectable
151
152
  }] });
152
153
 
@@ -327,10 +328,10 @@ class ActionsService {
327
328
  this.close(items[idx]);
328
329
  }
329
330
  }
330
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ActionsService, deps: [{ token: i0.NgZone }, { token: ItemsService }], target: i0.ɵɵFactoryTarget.Injectable });
331
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ActionsService });
331
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ActionsService, deps: [{ token: i0.NgZone }, { token: ItemsService }], target: i0.ɵɵFactoryTarget.Injectable });
332
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ActionsService });
332
333
  }
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ActionsService, decorators: [{
334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ActionsService, decorators: [{
334
335
  type: Injectable
335
336
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: ItemsService }] });
336
337
 
@@ -583,10 +584,10 @@ class NavigationService {
583
584
  }
584
585
  }
585
586
  }
586
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NavigationService, deps: [{ token: ItemsService }, { token: ActionsService }, { token: i3.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
587
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NavigationService });
587
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: NavigationService, deps: [{ token: ItemsService }, { token: ActionsService }, { token: i3.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
588
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: NavigationService });
588
589
  }
589
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NavigationService, decorators: [{
590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: NavigationService, decorators: [{
590
591
  type: Injectable
591
592
  }], ctorParameters: () => [{ type: ItemsService }, { type: ActionsService }, { type: i3.LocalizationService }, { type: i0.NgZone }] });
592
593
 
@@ -701,20 +702,13 @@ class HoverService {
701
702
  }
702
703
  }
703
704
  }
704
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HoverService, deps: [{ token: ActionsService }, { token: ItemsService }], target: i0.ɵɵFactoryTarget.Injectable });
705
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HoverService });
705
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: HoverService, deps: [{ token: ActionsService }, { token: ItemsService }], target: i0.ɵɵFactoryTarget.Injectable });
706
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: HoverService });
706
707
  }
707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HoverService, decorators: [{
708
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: HoverService, decorators: [{
708
709
  type: Injectable
709
710
  }], ctorParameters: () => [{ type: ActionsService }, { type: ItemsService }] });
710
711
 
711
- /**
712
- * @hidden
713
- */
714
- const normalize = (settings) => settings && Object.assign({
715
- toggle: 'select'
716
- }, settings);
717
-
718
712
  /**
719
713
  * @hidden
720
714
  */
@@ -836,10 +830,10 @@ class ContextMenuService {
836
830
  leaveMenu(e) {
837
831
  return this.items ? !inMenu(e.target, this.items) : true;
838
832
  }
839
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
840
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuService });
833
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
834
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuService });
841
835
  }
842
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuService, decorators: [{
836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuService, decorators: [{
843
837
  type: Injectable
844
838
  }] });
845
839
 
@@ -879,10 +873,10 @@ class ItemTemplateDirective {
879
873
  constructor(templateRef) {
880
874
  this.templateRef = templateRef;
881
875
  }
882
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
883
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ItemTemplateDirective, isStandalone: true, selector: "[kendoMenuItemTemplate]", ngImport: i0 });
876
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
877
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: ItemTemplateDirective, isStandalone: true, selector: "[kendoMenuItemTemplate]", ngImport: i0 });
884
878
  }
885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemTemplateDirective, decorators: [{
879
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemTemplateDirective, decorators: [{
886
880
  type: Directive,
887
881
  args: [{
888
882
  selector: '[kendoMenuItemTemplate]',
@@ -931,10 +925,10 @@ class ItemLinkTemplateDirective {
931
925
  constructor(templateRef) {
932
926
  this.templateRef = templateRef;
933
927
  }
934
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemLinkTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
935
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ItemLinkTemplateDirective, isStandalone: true, selector: "[kendoMenuItemLinkTemplate]", ngImport: i0 });
928
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemLinkTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
929
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: ItemLinkTemplateDirective, isStandalone: true, selector: "[kendoMenuItemLinkTemplate]", ngImport: i0 });
936
930
  }
937
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemLinkTemplateDirective, decorators: [{
931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemLinkTemplateDirective, decorators: [{
938
932
  type: Directive,
939
933
  args: [{
940
934
  selector: '[kendoMenuItemLinkTemplate]',
@@ -979,10 +973,10 @@ class ItemContentTemplateDirective {
979
973
  constructor(templateRef) {
980
974
  this.templateRef = templateRef;
981
975
  }
982
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
983
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ItemContentTemplateDirective, isStandalone: true, selector: "[kendoMenuItemContentTemplate]", ngImport: i0 });
976
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
977
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: ItemContentTemplateDirective, isStandalone: true, selector: "[kendoMenuItemContentTemplate]", ngImport: i0 });
984
978
  }
985
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemContentTemplateDirective, decorators: [{
979
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemContentTemplateDirective, decorators: [{
986
980
  type: Directive,
987
981
  args: [{
988
982
  selector: '[kendoMenuItemContentTemplate]',
@@ -1034,15 +1028,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1034
1028
  * Supported children components are: {@link MenuItemComponent}.
1035
1029
  */
1036
1030
  class MenuItemComponent {
1037
- text;
1038
- url;
1039
- disabled;
1040
- cssClass;
1041
- cssStyle;
1042
- icon;
1043
- svgIcon;
1044
- data;
1045
- separator;
1031
+ set text(value) {
1032
+ this._text.set(value);
1033
+ }
1034
+ get text() {
1035
+ return this._text();
1036
+ }
1037
+ set url(value) {
1038
+ this._url.set(value);
1039
+ }
1040
+ get url() {
1041
+ return this._url();
1042
+ }
1043
+ set disabled(value) {
1044
+ this._disabled.set(value);
1045
+ }
1046
+ get disabled() {
1047
+ return this._disabled();
1048
+ }
1049
+ set cssClass(value) {
1050
+ this._cssClass.set(value);
1051
+ }
1052
+ get cssClass() {
1053
+ return this._cssClass();
1054
+ }
1055
+ set cssStyle(value) {
1056
+ this._cssStyle.set(value);
1057
+ }
1058
+ get cssStyle() {
1059
+ return this._cssStyle();
1060
+ }
1061
+ set icon(value) {
1062
+ this._icon.set(value);
1063
+ }
1064
+ get icon() {
1065
+ return this._icon();
1066
+ }
1067
+ set svgIcon(value) {
1068
+ this._svgIcon.set(value);
1069
+ }
1070
+ get svgIcon() {
1071
+ return this._svgIcon();
1072
+ }
1073
+ set data(value) {
1074
+ this._data.set(value);
1075
+ }
1076
+ get data() {
1077
+ return this._data();
1078
+ }
1079
+ set separator(value) {
1080
+ this._separator.set(value);
1081
+ }
1082
+ get separator() {
1083
+ return this._separator();
1084
+ }
1046
1085
  /**
1047
1086
  * @hidden
1048
1087
  */
@@ -1091,15 +1130,25 @@ class MenuItemComponent {
1091
1130
  return this.children.toArray().filter(c => c !== this);
1092
1131
  }
1093
1132
  }
1094
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1095
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", 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 });
1133
+ _text = signal(undefined, ...(ngDevMode ? [{ debugName: "_text" }] : []));
1134
+ _url = signal(undefined, ...(ngDevMode ? [{ debugName: "_url" }] : []));
1135
+ _disabled = signal(undefined, ...(ngDevMode ? [{ debugName: "_disabled" }] : []));
1136
+ _cssClass = signal(undefined, ...(ngDevMode ? [{ debugName: "_cssClass" }] : []));
1137
+ _cssStyle = signal(undefined, ...(ngDevMode ? [{ debugName: "_cssStyle" }] : []));
1138
+ _icon = signal(undefined, ...(ngDevMode ? [{ debugName: "_icon" }] : []));
1139
+ _svgIcon = signal(undefined, ...(ngDevMode ? [{ debugName: "_svgIcon" }] : []));
1140
+ _data = signal(undefined, ...(ngDevMode ? [{ debugName: "_data" }] : []));
1141
+ _separator = signal(undefined, ...(ngDevMode ? [{ debugName: "_separator" }] : []));
1142
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1143
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.26", 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, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1096
1144
  }
1097
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuItemComponent, decorators: [{
1145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenuItemComponent, decorators: [{
1098
1146
  type: Component,
1099
1147
  args: [{
1100
1148
  selector: 'kendo-menu-item',
1101
1149
  template: ``,
1102
- standalone: true
1150
+ standalone: true,
1151
+ changeDetection: ChangeDetectionStrategy.OnPush
1103
1152
  }]
1104
1153
  }], propDecorators: { text: [{
1105
1154
  type: Input
@@ -1188,26 +1237,51 @@ class MenuBase {
1188
1237
  /**
1189
1238
  * Specifies the Menu items.
1190
1239
  */
1191
- items;
1240
+ set items(value) {
1241
+ this._items.set(value);
1242
+ }
1243
+ get items() {
1244
+ return this._items();
1245
+ }
1192
1246
  /**
1193
1247
  * Specifies if the Menu will be vertical ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/vertical)).
1194
1248
  */
1195
- vertical = false;
1249
+ set vertical(value) {
1250
+ this._vertical.set(value);
1251
+ }
1252
+ get vertical() {
1253
+ return this._vertical();
1254
+ }
1196
1255
  /**
1197
1256
  * Specifies that the root items can be opened only on click
1198
1257
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/open-close#opening-on-click)).
1199
1258
  */
1200
- openOnClick = false;
1259
+ set openOnClick(value) {
1260
+ this._openOnClick.set(value);
1261
+ }
1262
+ get openOnClick() {
1263
+ return this._openOnClick();
1264
+ }
1201
1265
  /**
1202
1266
  * Specifies the delay in milliseconds before the Menu items are opened or closed on item hover
1203
1267
  * or leave ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/open-close#delay-on-hover)). Used to avoid the accidental
1204
1268
  * opening or closing of the items.
1205
1269
  */
1206
- hoverDelay = 100;
1270
+ set hoverDelay(value) {
1271
+ this._hoverDelay.set(value);
1272
+ }
1273
+ get hoverDelay() {
1274
+ return this._hoverDelay();
1275
+ }
1207
1276
  /**
1208
1277
  * Sets the Menu animation.
1209
1278
  */
1210
- animate = true;
1279
+ set animate(value) {
1280
+ this._animate.set(value);
1281
+ }
1282
+ get animate() {
1283
+ return this._animate();
1284
+ }
1211
1285
  /**
1212
1286
  * Sets the Menu size.
1213
1287
  *
@@ -1217,17 +1291,32 @@ class MenuBase {
1217
1291
  * * `large`
1218
1292
  *
1219
1293
  */
1220
- size = undefined;
1294
+ set size(value) {
1295
+ this._size.set(value);
1296
+ }
1297
+ get size() {
1298
+ return this._size();
1299
+ }
1221
1300
  /**
1222
1301
  * Configures the popup settings for the Menu items.
1223
1302
  * Allows customization of the popup class and margin.
1224
1303
  */
1225
- popupSettings;
1304
+ set popupSettings(value) {
1305
+ this._popupSettings.set(value);
1306
+ }
1307
+ get popupSettings() {
1308
+ return this._popupSettings();
1309
+ }
1226
1310
  /**
1227
- * Defines a function that determines how to track changes for the menu items.
1311
+ * Defines a function that determines how to track for the menu items.
1228
1312
  * By default, the component tracks changes by index.
1229
1313
  */
1230
- trackBy = defaultTrackBy;
1314
+ set trackBy(value) {
1315
+ this._trackBy.set(value);
1316
+ }
1317
+ get trackBy() {
1318
+ return this._trackBy();
1319
+ }
1231
1320
  /**
1232
1321
  * @hidden
1233
1322
  */
@@ -1240,20 +1329,37 @@ class MenuBase {
1240
1329
  * @hidden
1241
1330
  */
1242
1331
  children;
1332
+ _items = signal(undefined, ...(ngDevMode ? [{ debugName: "_items" }] : []));
1333
+ _vertical = signal(false, ...(ngDevMode ? [{ debugName: "_vertical" }] : []));
1334
+ _openOnClick = signal(false, ...(ngDevMode ? [{ debugName: "_openOnClick" }] : []));
1335
+ _hoverDelay = signal(100, ...(ngDevMode ? [{ debugName: "_hoverDelay" }] : []));
1336
+ _animate = signal(true, ...(ngDevMode ? [{ debugName: "_animate" }] : []));
1337
+ _size = signal(undefined, ...(ngDevMode ? [{ debugName: "_size" }] : []));
1338
+ _popupSettings = signal(undefined, ...(ngDevMode ? [{ debugName: "_popupSettings" }] : []));
1339
+ _trackBy = signal(defaultTrackBy, ...(ngDevMode ? [{ debugName: "_trackBy" }] : []));
1340
+ _children = signal([], ...(ngDevMode ? [{ debugName: "_children" }] : []));
1341
+ destroyRef = inject(DestroyRef);
1342
+ ngAfterContentInit() {
1343
+ this._children.set(this.children.toArray());
1344
+ this.children.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
1345
+ this._children.set(this.children.toArray());
1346
+ });
1347
+ }
1243
1348
  /**
1244
1349
  * @hidden
1245
1350
  */
1246
1351
  get rootItems() {
1247
- return this.items || (this.children ? this.children.toArray() : []);
1352
+ return this._items() || this._children();
1248
1353
  }
1249
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
1250
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: MenuBase, isStandalone: true, selector: "kendo-menu-base", inputs: { items: "items", vertical: "vertical", openOnClick: "openOnClick", hoverDelay: "hoverDelay", animate: "animate", size: "size", popupSettings: "popupSettings", trackBy: "trackBy" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
1354
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenuBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
1355
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.26", type: MenuBase, isStandalone: true, selector: "kendo-menu-base", inputs: { items: "items", vertical: "vertical", openOnClick: "openOnClick", hoverDelay: "hoverDelay", animate: "animate", size: "size", popupSettings: "popupSettings", trackBy: "trackBy" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1251
1356
  }
1252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuBase, decorators: [{
1357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenuBase, decorators: [{
1253
1358
  type: Component,
1254
1359
  args: [{
1255
1360
  selector: 'kendo-menu-base',
1256
- template: ``
1361
+ template: ``,
1362
+ changeDetection: ChangeDetectionStrategy.OnPush
1257
1363
  }]
1258
1364
  }], propDecorators: { items: [{
1259
1365
  type: Input
@@ -1364,20 +1470,98 @@ class ListComponent {
1364
1470
  renderer;
1365
1471
  ngZone;
1366
1472
  element;
1367
- appendTo;
1368
- items;
1369
- level;
1370
- index;
1371
- animate = true;
1372
- size = 'medium';
1373
- vertical;
1374
- rtl;
1375
- openOnClick;
1376
- itemTemplate;
1377
- itemLinkTemplate;
1378
- popupSettings;
1379
- trackBy;
1473
+ set appendTo(value) {
1474
+ this._appendTo.set(value);
1475
+ }
1476
+ get appendTo() {
1477
+ return this._appendTo();
1478
+ }
1479
+ set items(value) {
1480
+ this._items.set(value);
1481
+ }
1482
+ get items() {
1483
+ return this._items();
1484
+ }
1485
+ set level(value) {
1486
+ this._level.set(value);
1487
+ }
1488
+ get level() {
1489
+ return this._level();
1490
+ }
1491
+ set index(value) {
1492
+ this._index.set(value);
1493
+ }
1494
+ get index() {
1495
+ return this._index();
1496
+ }
1497
+ set animate(value) {
1498
+ this._animate.set(value);
1499
+ }
1500
+ get animate() {
1501
+ return this._animate();
1502
+ }
1503
+ set size(value) {
1504
+ this._size.set(value);
1505
+ }
1506
+ get size() {
1507
+ return this._size();
1508
+ }
1509
+ set vertical(value) {
1510
+ this._vertical.set(value);
1511
+ }
1512
+ get vertical() {
1513
+ return this._vertical();
1514
+ }
1515
+ set rtl(value) {
1516
+ this._rtl.set(value);
1517
+ }
1518
+ get rtl() {
1519
+ return this._rtl();
1520
+ }
1521
+ set openOnClick(value) {
1522
+ this._openOnClick.set(value);
1523
+ }
1524
+ get openOnClick() {
1525
+ return this._openOnClick();
1526
+ }
1527
+ set itemTemplate(value) {
1528
+ this._itemTemplate.set(value);
1529
+ }
1530
+ get itemTemplate() {
1531
+ return this._itemTemplate();
1532
+ }
1533
+ set itemLinkTemplate(value) {
1534
+ this._itemLinkTemplate.set(value);
1535
+ }
1536
+ get itemLinkTemplate() {
1537
+ return this._itemLinkTemplate();
1538
+ }
1539
+ set popupSettings(value) {
1540
+ this._popupSettings.set(value);
1541
+ }
1542
+ get popupSettings() {
1543
+ return this._popupSettings();
1544
+ }
1545
+ set trackBy(value) {
1546
+ this._trackBy.set(value);
1547
+ }
1548
+ get trackBy() {
1549
+ return this._trackBy();
1550
+ }
1380
1551
  domSubscriptions;
1552
+ _appendTo = signal(undefined, ...(ngDevMode ? [{ debugName: "_appendTo" }] : []));
1553
+ _items = signal(undefined, ...(ngDevMode ? [{ debugName: "_items" }] : []));
1554
+ _level = signal(undefined, ...(ngDevMode ? [{ debugName: "_level" }] : []));
1555
+ _index = signal(undefined, ...(ngDevMode ? [{ debugName: "_index" }] : []));
1556
+ _animate = signal(true, ...(ngDevMode ? [{ debugName: "_animate" }] : []));
1557
+ _size = signal('medium', ...(ngDevMode ? [{ debugName: "_size" }] : []));
1558
+ _vertical = signal(undefined, ...(ngDevMode ? [{ debugName: "_vertical" }] : []));
1559
+ _rtl = signal(undefined, ...(ngDevMode ? [{ debugName: "_rtl" }] : []));
1560
+ _openOnClick = signal(undefined, ...(ngDevMode ? [{ debugName: "_openOnClick" }] : []));
1561
+ _itemTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "_itemTemplate" }] : []));
1562
+ _itemLinkTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "_itemLinkTemplate" }] : []));
1563
+ _popupSettings = signal(undefined, ...(ngDevMode ? [{ debugName: "_popupSettings" }] : []));
1564
+ _trackBy = signal(undefined, ...(ngDevMode ? [{ debugName: "_trackBy" }] : []));
1381
1565
  constructor(itemsService, hover, actions, navigation, renderer, ngZone, element) {
1382
1566
  this.itemsService = itemsService;
1383
1567
  this.hover = hover;
@@ -1532,10 +1716,10 @@ class ListComponent {
1532
1716
  }
1533
1717
  this.actions.execute();
1534
1718
  }
1535
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ListComponent, deps: [{ token: ItemsService }, { token: HoverService }, { token: ActionsService }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1536
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ListComponent, isStandalone: true, selector: "[kendoMenuList]", inputs: { appendTo: "appendTo", items: "items", level: "level", index: "index", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate", popupSettings: "popupSettings", trackBy: "trackBy" }, ngImport: i0, template: "\n @for (item of items; track trackByWrapper($index, item); let idx = $index) {\n @if (!item.separator) {\n <li\n kendoMenuItem\n [appendTo]=\"appendTo\"\n [item]=\"item\"\n [level]=\"level\"\n [size]=\"size\"\n [vertical]=\"vertical\"\n [animate]=\"animate\"\n [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate\"\n [popupSettings]=\"popupSettings\"\n [trackBy]=\"trackBy\"\n [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\"\n [siblingIndex]=\"idx\"\n [attr.data-kendo-menu-index]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\"\n [class.k-last]=\"idx === items.length - 1\"\n [class.k-disabled]=\"item.disabled\"></li>\n }\n @if (item.separator) {\n <li\n class=\"k-separator k-item\"\n [ngClass]=\"item.cssClass\"\n aria-hidden=\"true\"\n [ngStyle]=\"item.cssStyle\">\n &nbsp;\n </li>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(() => ItemComponent), selector: "[kendoMenuItem]", inputs: ["appendTo", "item", "level", "index", "siblingIndex", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings", "trackBy"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }] });
1719
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ListComponent, deps: [{ token: ItemsService }, { token: HoverService }, { token: ActionsService }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1720
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.26", type: ListComponent, isStandalone: true, selector: "[kendoMenuList]", inputs: { appendTo: "appendTo", items: "items", level: "level", index: "index", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate", popupSettings: "popupSettings", trackBy: "trackBy" }, ngImport: i0, template: "\n @for (item of items; track trackByWrapper($index, item); let idx = $index) {\n @if (!item.separator) {\n <li\n kendoMenuItem\n [appendTo]=\"appendTo\"\n [item]=\"item\"\n [level]=\"level\"\n [size]=\"size\"\n [vertical]=\"vertical\"\n [animate]=\"animate\"\n [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate\"\n [popupSettings]=\"popupSettings\"\n [trackBy]=\"trackBy\"\n [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\"\n [siblingIndex]=\"idx\"\n [attr.data-kendo-menu-index]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\"\n [class.k-last]=\"idx === items.length - 1\"\n [class.k-disabled]=\"item.disabled\"></li>\n }\n @if (item.separator) {\n <li\n class=\"k-separator k-item\"\n [ngClass]=\"item.cssClass\"\n aria-hidden=\"true\"\n [ngStyle]=\"item.cssStyle\">\n &nbsp;\n </li>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(() => ItemComponent), selector: "[kendoMenuItem]", inputs: ["appendTo", "item", "level", "index", "siblingIndex", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings", "trackBy"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1537
1721
  }
1538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ListComponent, decorators: [{
1722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ListComponent, decorators: [{
1539
1723
  type: Component,
1540
1724
  args: [{
1541
1725
  selector: '[kendoMenuList]',
@@ -1579,7 +1763,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1579
1763
  }
1580
1764
  `,
1581
1765
  standalone: true,
1582
- imports: [forwardRef(() => ItemComponent), NgClass, NgStyle]
1766
+ imports: [forwardRef(() => ItemComponent), NgClass, NgStyle],
1767
+ changeDetection: ChangeDetectionStrategy.OnPush
1583
1768
  }]
1584
1769
  }], ctorParameters: () => [{ type: ItemsService }, { type: HoverService }, { type: ActionsService }, { type: NavigationService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ElementRef }], propDecorators: { appendTo: [{
1585
1770
  type: Input
@@ -1614,14 +1799,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1614
1799
  class ItemComponent {
1615
1800
  itemsService;
1616
1801
  navigation;
1617
- changeDetector;
1618
1802
  renderer;
1619
1803
  popupService;
1620
1804
  element;
1621
1805
  contextService;
1622
- appendTo;
1623
- item;
1624
- level;
1806
+ set appendTo(value) {
1807
+ this._appendTo.set(value);
1808
+ }
1809
+ get appendTo() {
1810
+ return this._appendTo();
1811
+ }
1812
+ set item(value) {
1813
+ const prev = this._item();
1814
+ this._item.set(value);
1815
+ if (prev && prev !== value && this.opened) {
1816
+ this.close();
1817
+ }
1818
+ }
1819
+ get item() {
1820
+ return this._item();
1821
+ }
1822
+ set level(value) {
1823
+ this._level.set(value);
1824
+ }
1825
+ get level() {
1826
+ return this._level();
1827
+ }
1625
1828
  set index(index) {
1626
1829
  if (this._index && this._index !== index) {
1627
1830
  this.itemsService.remove(this);
@@ -1636,16 +1839,66 @@ class ItemComponent {
1636
1839
  get index() {
1637
1840
  return this._index;
1638
1841
  }
1639
- siblingIndex;
1640
- animate = true;
1641
- size = 'medium';
1642
- vertical;
1643
- rtl;
1644
- openOnClick = false;
1645
- itemTemplate;
1646
- itemLinkTemplate;
1647
- popupSettings;
1648
- trackBy;
1842
+ set siblingIndex(value) {
1843
+ this._siblingIndex.set(value);
1844
+ }
1845
+ get siblingIndex() {
1846
+ return this._siblingIndex();
1847
+ }
1848
+ set animate(value) {
1849
+ this._animate.set(value);
1850
+ }
1851
+ get animate() {
1852
+ return this._animate();
1853
+ }
1854
+ set size(value) {
1855
+ this._size.set(value);
1856
+ }
1857
+ get size() {
1858
+ return this._size();
1859
+ }
1860
+ set vertical(value) {
1861
+ this._vertical.set(value);
1862
+ }
1863
+ get vertical() {
1864
+ return this._vertical();
1865
+ }
1866
+ set rtl(value) {
1867
+ this._rtl.set(value);
1868
+ }
1869
+ get rtl() {
1870
+ return this._rtl();
1871
+ }
1872
+ set openOnClick(value) {
1873
+ this._openOnClick.set(value);
1874
+ }
1875
+ get openOnClick() {
1876
+ return this._openOnClick();
1877
+ }
1878
+ set itemTemplate(value) {
1879
+ this._itemTemplate.set(value);
1880
+ }
1881
+ get itemTemplate() {
1882
+ return this._itemTemplate();
1883
+ }
1884
+ set itemLinkTemplate(value) {
1885
+ this._itemLinkTemplate.set(value);
1886
+ }
1887
+ get itemLinkTemplate() {
1888
+ return this._itemLinkTemplate();
1889
+ }
1890
+ set popupSettings(value) {
1891
+ this._popupSettings.set(value);
1892
+ }
1893
+ get popupSettings() {
1894
+ return this._popupSettings();
1895
+ }
1896
+ set trackBy(value) {
1897
+ this._trackBy.set(value);
1898
+ }
1899
+ get trackBy() {
1900
+ return this._trackBy();
1901
+ }
1649
1902
  link;
1650
1903
  popupTemplate;
1651
1904
  get disabled() {
@@ -1709,17 +1962,35 @@ class ItemComponent {
1709
1962
  * @hidden
1710
1963
  */
1711
1964
  SVGIcon = getSVGIcon;
1712
- opened = false;
1965
+ get opened() {
1966
+ return this._opened();
1967
+ }
1968
+ set opened(value) {
1969
+ this._opened.set(value);
1970
+ }
1713
1971
  navigating = false;
1714
1972
  childId;
1715
1973
  contentItems;
1716
1974
  popupRef;
1717
- _index;
1718
1975
  destroyed = false;
1719
- constructor(itemsService, navigation, changeDetector, renderer, popupService, element, contextService) {
1976
+ _index;
1977
+ _appendTo = signal(undefined, ...(ngDevMode ? [{ debugName: "_appendTo" }] : []));
1978
+ _item = signal(undefined, ...(ngDevMode ? [{ debugName: "_item" }] : []));
1979
+ _level = signal(undefined, ...(ngDevMode ? [{ debugName: "_level" }] : []));
1980
+ _opened = signal(false, ...(ngDevMode ? [{ debugName: "_opened" }] : []));
1981
+ _siblingIndex = signal(undefined, ...(ngDevMode ? [{ debugName: "_siblingIndex" }] : []));
1982
+ _animate = signal(true, ...(ngDevMode ? [{ debugName: "_animate" }] : []));
1983
+ _size = signal('medium', ...(ngDevMode ? [{ debugName: "_size" }] : []));
1984
+ _vertical = signal(undefined, ...(ngDevMode ? [{ debugName: "_vertical" }] : []));
1985
+ _rtl = signal(undefined, ...(ngDevMode ? [{ debugName: "_rtl" }] : []));
1986
+ _openOnClick = signal(false, ...(ngDevMode ? [{ debugName: "_openOnClick" }] : []));
1987
+ _itemTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "_itemTemplate" }] : []));
1988
+ _itemLinkTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "_itemLinkTemplate" }] : []));
1989
+ _popupSettings = signal(undefined, ...(ngDevMode ? [{ debugName: "_popupSettings" }] : []));
1990
+ _trackBy = signal(undefined, ...(ngDevMode ? [{ debugName: "_trackBy" }] : []));
1991
+ constructor(itemsService, navigation, renderer, popupService, element, contextService) {
1720
1992
  this.itemsService = itemsService;
1721
1993
  this.navigation = navigation;
1722
- this.changeDetector = changeDetector;
1723
1994
  this.renderer = renderer;
1724
1995
  this.popupService = popupService;
1725
1996
  this.element = element;
@@ -1733,11 +2004,6 @@ class ItemComponent {
1733
2004
  ngOnInit() {
1734
2005
  this.itemsService.add(this);
1735
2006
  }
1736
- ngOnChanges(changes) {
1737
- if (changes['item'] && !changes['item'].firstChange && this.opened) {
1738
- this.close();
1739
- }
1740
- }
1741
2007
  ngAfterViewInit() {
1742
2008
  if (this.hasContent) {
1743
2009
  this.setAttribute('aria-expanded', this.opened.toString());
@@ -1787,7 +2053,6 @@ class ItemComponent {
1787
2053
  });
1788
2054
  this.setAttribute('aria-expanded', 'true');
1789
2055
  this.setAttribute('aria-controls', this.childId);
1790
- this.changeDetector.detectChanges();
1791
2056
  }
1792
2057
  }
1793
2058
  close() {
@@ -1797,7 +2062,6 @@ class ItemComponent {
1797
2062
  this.popupRef.close();
1798
2063
  this.popupRef = null;
1799
2064
  }
1800
- this.changeDetector.detectChanges();
1801
2065
  this.setAttribute('aria-expanded', 'false');
1802
2066
  this.renderer.removeAttribute(this.element.nativeElement, 'aria-controls');
1803
2067
  }
@@ -1831,21 +2095,21 @@ class ItemComponent {
1831
2095
  margin: this.popupSettings.margin ?? DEFAULT_MARGIN
1832
2096
  };
1833
2097
  }
1834
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemComponent, deps: [{ token: ItemsService }, { token: NavigationService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i5.PopupService }, { token: i0.ElementRef }, { token: ContextMenuService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1835
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ItemComponent, isStandalone: true, selector: "[kendoMenuItem]", inputs: { appendTo: "appendTo", item: "item", level: "level", index: "index", siblingIndex: "siblingIndex", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate", popupSettings: "popupSettings", trackBy: "trackBy" }, host: { properties: { "attr.aria-disabled": "this.disabled", "attr.aria-haspopup": "this.hasPopup" } }, providers: [PopupService, {
2098
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemComponent, deps: [{ token: ItemsService }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i5.PopupService }, { token: i0.ElementRef }, { token: ContextMenuService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
2099
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.26", type: ItemComponent, isStandalone: true, selector: "[kendoMenuItem]", inputs: { appendTo: "appendTo", item: "item", level: "level", index: "index", siblingIndex: "siblingIndex", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate", popupSettings: "popupSettings", trackBy: "trackBy" }, host: { properties: { "attr.aria-disabled": "this.disabled", "attr.aria-haspopup": "this.hasPopup" } }, providers: [PopupService, {
1836
2100
  provide: POPUP_CONTAINER,
1837
2101
  useFactory: bodyFactory
1838
- }], viewQueries: [{ propertyName: "link", first: true, predicate: ["link"], descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
2102
+ }], viewQueries: [{ propertyName: "link", first: true, predicate: ["link"], descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }], ngImport: i0, template: `
1839
2103
  @if (!hasLink && !item.content && !linkTemplate) {
1840
2104
  <span class="k-link k-menu-link" #link
1841
- [class.k-active]="opened" [class.k-disabled]="item.disabled && (level > 0 || isContextMenu)" role="presentation">
2105
+ [class.k-active]="opened" [class.k-disabled]="item.disabled && (level > 0 || isContextMenu)">
1842
2106
  <ng-template [ngTemplateOutlet]="itemcontent">
1843
2107
  </ng-template>
1844
2108
  </span>
1845
2109
  }
1846
2110
  @if (item.url && !linkTemplate) {
1847
2111
  <a class="k-link k-menu-link" #link [attr.href]="item.url"
1848
- [class.k-active]="opened" [class.k-disabled]="item.disabled && (level > 0 || isContextMenu)" tabindex="-1" role="presentation">
2112
+ [class.k-active]="opened" [class.k-disabled]="item.disabled && (level > 0 || isContextMenu)" tabindex="-1">
1849
2113
  <ng-template [ngTemplateOutlet]="itemcontent">
1850
2114
  </ng-template>
1851
2115
  </a>
@@ -1899,9 +2163,9 @@ class ItemComponent {
1899
2163
  <kendo-icon-wrapper [name]="fontIcon(horizontal, rtl)" [svgIcon]="SVGIcon(horizontal, rtl)" class="k-menu-expand-arrow" aria-hidden="true"></kendo-icon-wrapper>
1900
2164
  }
1901
2165
  </ng-template>
1902
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings", "trackBy"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
2166
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings", "trackBy"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1903
2167
  }
1904
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ItemComponent, decorators: [{
2168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ItemComponent, decorators: [{
1905
2169
  type: Component,
1906
2170
  args: [{
1907
2171
  providers: [PopupService, {
@@ -1912,14 +2176,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1912
2176
  template: `
1913
2177
  @if (!hasLink && !item.content && !linkTemplate) {
1914
2178
  <span class="k-link k-menu-link" #link
1915
- [class.k-active]="opened" [class.k-disabled]="item.disabled && (level > 0 || isContextMenu)" role="presentation">
2179
+ [class.k-active]="opened" [class.k-disabled]="item.disabled && (level > 0 || isContextMenu)">
1916
2180
  <ng-template [ngTemplateOutlet]="itemcontent">
1917
2181
  </ng-template>
1918
2182
  </span>
1919
2183
  }
1920
2184
  @if (item.url && !linkTemplate) {
1921
2185
  <a class="k-link k-menu-link" #link [attr.href]="item.url"
1922
- [class.k-active]="opened" [class.k-disabled]="item.disabled && (level > 0 || isContextMenu)" tabindex="-1" role="presentation">
2186
+ [class.k-active]="opened" [class.k-disabled]="item.disabled && (level > 0 || isContextMenu)" tabindex="-1">
1923
2187
  <ng-template [ngTemplateOutlet]="itemcontent">
1924
2188
  </ng-template>
1925
2189
  </a>
@@ -1975,9 +2239,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1975
2239
  </ng-template>
1976
2240
  `,
1977
2241
  standalone: true,
1978
- imports: [NgTemplateOutlet, ListComponent, NgClass, IconWrapperComponent]
2242
+ imports: [NgTemplateOutlet, ListComponent, NgClass, IconWrapperComponent],
2243
+ changeDetection: ChangeDetectionStrategy.OnPush
1979
2244
  }]
1980
- }], ctorParameters: () => [{ type: ItemsService }, { type: NavigationService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i5.PopupService }, { type: i0.ElementRef }, { type: ContextMenuService, decorators: [{
2245
+ }], ctorParameters: () => [{ type: ItemsService }, { type: NavigationService }, { type: i0.Renderer2 }, { type: i5.PopupService }, { type: i0.ElementRef }, { type: ContextMenuService, decorators: [{
1981
2246
  type: Optional
1982
2247
  }] }], propDecorators: { appendTo: [{
1983
2248
  type: Input
@@ -2021,6 +2286,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
2021
2286
  args: ['attr.aria-haspopup']
2022
2287
  }] } });
2023
2288
 
2289
+ /**
2290
+ * @hidden
2291
+ */
2292
+ const normalize = (settings) => settings && Object.assign({
2293
+ toggle: 'select'
2294
+ }, settings);
2295
+
2024
2296
  /**
2025
2297
  * Represents the [Kendo UI Menu component for Angular](https://www.telerik.com/kendo-angular-ui/components/menus/menu).
2026
2298
  *
@@ -2053,19 +2325,39 @@ class MenuComponent extends MenuBase {
2053
2325
  /**
2054
2326
  * Defines the container to which the popups will be appended.
2055
2327
  */
2056
- appendTo;
2328
+ set appendTo(value) {
2329
+ this._appendTo.set(value);
2330
+ }
2331
+ get appendTo() {
2332
+ return this._appendTo();
2333
+ }
2057
2334
  /**
2058
2335
  * @hidden
2059
2336
  */
2060
- menuItemTemplate;
2337
+ set menuItemTemplate(value) {
2338
+ this._menuItemTemplate.set(value);
2339
+ }
2340
+ get menuItemTemplate() {
2341
+ return this._menuItemTemplate();
2342
+ }
2061
2343
  /**
2062
2344
  * @hidden
2063
2345
  */
2064
- ariaRole = 'menubar';
2346
+ set ariaRole(value) {
2347
+ this._ariaRole.set(value);
2348
+ }
2349
+ get ariaRole() {
2350
+ return this._ariaRole();
2351
+ }
2065
2352
  /**
2066
2353
  * @hidden
2067
2354
  */
2068
- menuItemLinkTemplate;
2355
+ set menuItemLinkTemplate(value) {
2356
+ this._menuItemLinkTemplate.set(value);
2357
+ }
2358
+ get menuItemLinkTemplate() {
2359
+ return this._menuItemLinkTemplate();
2360
+ }
2069
2361
  /**
2070
2362
  * Fires when a Menu item is selected ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/events)).
2071
2363
  */
@@ -2097,7 +2389,7 @@ class MenuComponent extends MenuBase {
2097
2389
  return this.rtl;
2098
2390
  }
2099
2391
  get rtl() {
2100
- return this.localization.rtl;
2392
+ return this._rtl();
2101
2393
  }
2102
2394
  /**
2103
2395
  * @hidden
@@ -2115,6 +2407,12 @@ class MenuComponent extends MenuBase {
2115
2407
  }
2116
2408
  closeClickSubscription;
2117
2409
  contextKeyDownSubscription;
2410
+ localizationSubscription;
2411
+ _appendTo = signal(undefined, ...(ngDevMode ? [{ debugName: "_appendTo" }] : []));
2412
+ _menuItemTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "_menuItemTemplate" }] : []));
2413
+ _ariaRole = signal('menubar', ...(ngDevMode ? [{ debugName: "_ariaRole" }] : []));
2414
+ _menuItemLinkTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "_menuItemLinkTemplate" }] : []));
2415
+ _rtl = signal(false, ...(ngDevMode ? [{ debugName: "_rtl" }] : []));
2118
2416
  constructor(itemsService, hover, actions, navigation, localization, ngZone, renderer, contextService) {
2119
2417
  super();
2120
2418
  this.itemsService = itemsService;
@@ -2126,12 +2424,28 @@ class MenuComponent extends MenuBase {
2126
2424
  this.renderer = renderer;
2127
2425
  this.contextService = contextService;
2128
2426
  validatePackage(packageMetadata);
2427
+ this._rtl.set(localization.rtl);
2428
+ this.localizationSubscription = localization.changes.subscribe(({ rtl }) => this._rtl.set(rtl));
2129
2429
  this.actions.owner = this;
2130
2430
  if (contextService) {
2131
2431
  contextService.items = this.itemsService;
2132
2432
  this.contextKeyDownSubscription = contextService.keydown.subscribe(this.contextKeyDown.bind(this));
2133
2433
  }
2134
2434
  }
2435
+ ngOnChanges(changes) {
2436
+ this.navigation.vertical = this.vertical;
2437
+ this.hover.delay = this.hoverDelay;
2438
+ if (changes.openOnClick) {
2439
+ const openOnClick = this.openOnClick = normalize(this.openOnClick);
2440
+ this.hover.openOnOver = !openOnClick;
2441
+ if (openOnClick?.toggle === 'click') {
2442
+ this.attachCloseClick();
2443
+ }
2444
+ else {
2445
+ this.unsubscribeClick();
2446
+ }
2447
+ }
2448
+ }
2135
2449
  /**
2136
2450
  * Opens or closes the specified Menu items.
2137
2451
  *
@@ -2157,25 +2471,12 @@ class MenuComponent extends MenuBase {
2157
2471
  focus(index) {
2158
2472
  this.navigation.focusIndex(index);
2159
2473
  }
2160
- ngOnChanges(changes) {
2161
- this.navigation.vertical = this.vertical;
2162
- this.hover.delay = this.hoverDelay;
2163
- if (changes.openOnClick) {
2164
- const openOnClick = this.openOnClick = normalize(this.openOnClick);
2165
- this.hover.openOnOver = !openOnClick;
2166
- if (openOnClick && openOnClick.toggle === 'click') {
2167
- this.attachCloseClick();
2168
- }
2169
- else {
2170
- this.unsubscribeClick();
2171
- }
2172
- }
2173
- }
2174
2474
  ngAfterViewChecked() {
2175
2475
  this.navigation.updateActive();
2176
2476
  }
2177
2477
  ngOnDestroy() {
2178
2478
  this.unsubscribeClick();
2479
+ this.localizationSubscription.unsubscribe();
2179
2480
  if (this.contextService) {
2180
2481
  this.contextService.items = null;
2181
2482
  this.contextKeyDownSubscription.unsubscribe();
@@ -2219,8 +2520,8 @@ class MenuComponent extends MenuBase {
2219
2520
  this.focus(index);
2220
2521
  }
2221
2522
  }
2222
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuComponent, deps: [{ token: ItemsService }, { token: HoverService }, { token: ActionsService }, { token: NavigationService }, { token: i3.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: ContextMenuService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
2223
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", 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: [
2523
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenuComponent, deps: [{ token: ItemsService }, { token: HoverService }, { token: ActionsService }, { token: NavigationService }, { token: i3.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: ContextMenuService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
2524
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.26", 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: [
2224
2525
  ItemsService,
2225
2526
  ActionsService,
2226
2527
  NavigationService,
@@ -2250,9 +2551,9 @@ class MenuComponent extends MenuBase {
2250
2551
  [trackBy]="trackBy"
2251
2552
  [ngClass]="menuClasses">
2252
2553
  </ul>
2253
- `, isInline: true, dependencies: [{ kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings", "trackBy"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2554
+ `, isInline: true, dependencies: [{ kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings", "trackBy"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2254
2555
  }
2255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuComponent, decorators: [{
2556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenuComponent, decorators: [{
2256
2557
  type: Component,
2257
2558
  args: [{
2258
2559
  exportAs: 'kendoMenu',
@@ -2290,7 +2591,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
2290
2591
  </ul>
2291
2592
  `,
2292
2593
  standalone: true,
2293
- imports: [ListComponent, NgClass]
2594
+ imports: [ListComponent, NgClass],
2595
+ changeDetection: ChangeDetectionStrategy.OnPush
2294
2596
  }]
2295
2597
  }], ctorParameters: () => [{ type: ItemsService }, { type: HoverService }, { type: ActionsService }, { type: NavigationService }, { type: i3.LocalizationService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: ContextMenuService, decorators: [{
2296
2598
  type: Optional
@@ -2329,9 +2631,14 @@ class LinkDirective {
2329
2631
  /**
2330
2632
  * Specifies the index of the Menu item. The input is mandatory.
2331
2633
  */
2332
- index;
2634
+ set index(value) {
2635
+ this._index.set(value);
2636
+ }
2637
+ get index() {
2638
+ return this._index();
2639
+ }
2640
+ _index = signal(undefined, ...(ngDevMode ? [{ debugName: "_index" }] : []));
2333
2641
  hostClasses = true;
2334
- role = 'presentation';
2335
2642
  tabindex = '-1';
2336
2643
  get activeClass() {
2337
2644
  return this.item.opened;
@@ -2346,10 +2653,10 @@ class LinkDirective {
2346
2653
  }
2347
2654
  this.item = this.itemsService.get(this.index) || {};
2348
2655
  }
2349
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LinkDirective, deps: [{ token: ItemsService }], target: i0.ɵɵFactoryTarget.Directive });
2350
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: LinkDirective, isStandalone: true, selector: "[kendoMenuItemLink]", inputs: { index: ["kendoMenuItemLink", "index"] }, host: { properties: { "class.k-link": "this.hostClasses", "class.k-menu-link": "this.hostClasses", "attr.role": "this.role", "attr.tabindex": "this.tabindex", "class.k-active": "this.activeClass" } }, ngImport: i0 });
2656
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: LinkDirective, deps: [{ token: ItemsService }], target: i0.ɵɵFactoryTarget.Directive });
2657
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: LinkDirective, isStandalone: true, selector: "[kendoMenuItemLink]", inputs: { index: ["kendoMenuItemLink", "index"] }, host: { properties: { "class.k-link": "this.hostClasses", "class.k-menu-link": "this.hostClasses", "attr.tabindex": "this.tabindex", "class.k-active": "this.activeClass" } }, ngImport: i0 });
2351
2658
  }
2352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LinkDirective, decorators: [{
2659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: LinkDirective, decorators: [{
2353
2660
  type: Directive,
2354
2661
  args: [{
2355
2662
  selector: '[kendoMenuItemLink]',
@@ -2364,9 +2671,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
2364
2671
  }, {
2365
2672
  type: HostBinding,
2366
2673
  args: ['class.k-menu-link']
2367
- }], role: [{
2368
- type: HostBinding,
2369
- args: ['attr.role']
2370
2674
  }], tabindex: [{
2371
2675
  type: HostBinding,
2372
2676
  args: ['attr.tabindex']
@@ -2391,7 +2695,13 @@ class ExpandArrowComponent {
2391
2695
  /**
2392
2696
  * Specifies the index of the Menu item. The input is mandatory.
2393
2697
  */
2394
- index;
2698
+ set index(value) {
2699
+ this._index.set(value);
2700
+ }
2701
+ get index() {
2702
+ return this._index();
2703
+ }
2704
+ _index = signal(undefined, ...(ngDevMode ? [{ debugName: "_index" }] : []));
2395
2705
  hostClasses = true;
2396
2706
  ariaHidden = 'true';
2397
2707
  item;
@@ -2414,16 +2724,17 @@ class ExpandArrowComponent {
2414
2724
  this.fontIcon = getFontIcon(this.item.horizontal, this.item.rtl);
2415
2725
  this.SVGIcon = getSVGIcon(this.item.horizontal, this.item.rtl);
2416
2726
  }
2417
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ExpandArrowComponent, deps: [{ token: ItemsService }], target: i0.ɵɵFactoryTarget.Component });
2418
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ExpandArrowComponent, isStandalone: true, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden" } }, ngImport: i0, template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
2727
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ExpandArrowComponent, deps: [{ token: ItemsService }], target: i0.ɵɵFactoryTarget.Component });
2728
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.26", type: ExpandArrowComponent, isStandalone: true, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden" } }, ngImport: i0, template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2419
2729
  }
2420
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ExpandArrowComponent, decorators: [{
2730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ExpandArrowComponent, decorators: [{
2421
2731
  type: Component,
2422
2732
  args: [{
2423
2733
  selector: '[kendoMenuExpandArrow]',
2424
2734
  template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`,
2425
2735
  standalone: true,
2426
- imports: [IconWrapperComponent]
2736
+ imports: [IconWrapperComponent],
2737
+ changeDetection: ChangeDetectionStrategy.OnPush
2427
2738
  }]
2428
2739
  }], ctorParameters: () => [{ type: ItemsService }], propDecorators: { index: [{
2429
2740
  type: Input,
@@ -2501,13 +2812,19 @@ const ITEM_FIELDS = ['textField', 'urlField', 'iconField', 'svgIconField', 'disa
2501
2812
  */
2502
2813
  class BindingDirectiveBase {
2503
2814
  menu;
2504
- data;
2815
+ set data(value) {
2816
+ this._data.set(value);
2817
+ }
2818
+ get data() {
2819
+ return this._data();
2820
+ }
2821
+ _data = signal(undefined, ...(ngDevMode ? [{ debugName: "_data" }] : []));
2505
2822
  fields;
2506
2823
  constructor(menu) {
2507
2824
  this.menu = menu;
2508
- }
2509
- ngOnChanges() {
2510
- this.rebind();
2825
+ effect(() => {
2826
+ this.rebind();
2827
+ });
2511
2828
  }
2512
2829
  /**
2513
2830
  * Rebinds the Menu items.
@@ -2521,12 +2838,12 @@ class BindingDirectiveBase {
2521
2838
  fields.push({ target: inputName.replace('Field', ''), source: inputValue });
2522
2839
  }
2523
2840
  }
2524
- this.menu.items = this.data ? this.mapItems(this.data) : [];
2841
+ this.menu.items = this._data() ? this.mapItems(this._data()) : [];
2525
2842
  }
2526
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BindingDirectiveBase, deps: [{ token: MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
2527
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: BindingDirectiveBase, isStandalone: true, selector: "kendoBindingBase", usesOnChanges: true, ngImport: i0 });
2843
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: BindingDirectiveBase, deps: [{ token: MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
2844
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: BindingDirectiveBase, isStandalone: true, selector: "kendoBindingBase", ngImport: i0 });
2528
2845
  }
2529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BindingDirectiveBase, decorators: [{
2846
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: BindingDirectiveBase, decorators: [{
2530
2847
  type: Directive,
2531
2848
  args: [{
2532
2849
  selector: 'kendoBindingBase'
@@ -2578,43 +2895,102 @@ class HierarchyBindingDirective extends BindingDirectiveBase {
2578
2895
  /**
2579
2896
  * Specifies the array of data which will be used to populate the Menu.
2580
2897
  */
2581
- data;
2898
+ set data(value) {
2899
+ this._data.set(value);
2900
+ }
2901
+ get data() {
2902
+ return this._data();
2903
+ }
2582
2904
  /**
2583
2905
  * Defines the `text` field (or fields) of an item.
2584
2906
  */
2585
- textField;
2907
+ set textField(value) {
2908
+ this._textField.set(value);
2909
+ }
2910
+ get textField() {
2911
+ return this._textField();
2912
+ }
2586
2913
  /**
2587
2914
  * Defines the `url` field (or fields) of an item.
2588
2915
  */
2589
- urlField;
2916
+ set urlField(value) {
2917
+ this._urlField.set(value);
2918
+ }
2919
+ get urlField() {
2920
+ return this._urlField();
2921
+ }
2590
2922
  /**
2591
2923
  * Defines the `icon` field (or fields) of an item.
2592
2924
  */
2593
- iconField;
2925
+ set iconField(value) {
2926
+ this._iconField.set(value);
2927
+ }
2928
+ get iconField() {
2929
+ return this._iconField();
2930
+ }
2594
2931
  /**
2595
2932
  * Defines the `svgIcon` field of the items.
2596
2933
  */
2597
- svgIconField;
2934
+ set svgIconField(value) {
2935
+ this._svgIconField.set(value);
2936
+ }
2937
+ get svgIconField() {
2938
+ return this._svgIconField();
2939
+ }
2598
2940
  /**
2599
2941
  * Defines the `disabled` field (or fields) of an item.
2600
2942
  */
2601
- disabledField;
2943
+ set disabledField(value) {
2944
+ this._disabledField.set(value);
2945
+ }
2946
+ get disabledField() {
2947
+ return this._disabledField();
2948
+ }
2602
2949
  /**
2603
2950
  * Defines the `cssClass` field (or fields) of an item.
2604
2951
  */
2605
- cssClassField;
2952
+ set cssClassField(value) {
2953
+ this._cssClassField.set(value);
2954
+ }
2955
+ get cssClassField() {
2956
+ return this._cssClassField();
2957
+ }
2606
2958
  /**
2607
2959
  * Defines the `cssStyle` field (or fields) of an item.
2608
2960
  */
2609
- cssStyleField;
2961
+ set cssStyleField(value) {
2962
+ this._cssStyleField.set(value);
2963
+ }
2964
+ get cssStyleField() {
2965
+ return this._cssStyleField();
2966
+ }
2610
2967
  /**
2611
2968
  * Defines the `separator` field (or fields) of the items.
2612
2969
  */
2613
- separatorField;
2970
+ set separatorField(value) {
2971
+ this._separatorField.set(value);
2972
+ }
2973
+ get separatorField() {
2974
+ return this._separatorField();
2975
+ }
2614
2976
  /**
2615
2977
  * Defines the `children` field (or fields) of the items.
2616
2978
  */
2617
- childrenField;
2979
+ set childrenField(value) {
2980
+ this._childrenField.set(value);
2981
+ }
2982
+ get childrenField() {
2983
+ return this._childrenField();
2984
+ }
2985
+ _textField = signal(undefined, ...(ngDevMode ? [{ debugName: "_textField" }] : []));
2986
+ _urlField = signal(undefined, ...(ngDevMode ? [{ debugName: "_urlField" }] : []));
2987
+ _iconField = signal(undefined, ...(ngDevMode ? [{ debugName: "_iconField" }] : []));
2988
+ _svgIconField = signal(undefined, ...(ngDevMode ? [{ debugName: "_svgIconField" }] : []));
2989
+ _disabledField = signal(undefined, ...(ngDevMode ? [{ debugName: "_disabledField" }] : []));
2990
+ _cssClassField = signal(undefined, ...(ngDevMode ? [{ debugName: "_cssClassField" }] : []));
2991
+ _cssStyleField = signal(undefined, ...(ngDevMode ? [{ debugName: "_cssStyleField" }] : []));
2992
+ _separatorField = signal(undefined, ...(ngDevMode ? [{ debugName: "_separatorField" }] : []));
2993
+ _childrenField = signal(undefined, ...(ngDevMode ? [{ debugName: "_childrenField" }] : []));
2618
2994
  constructor(menu) {
2619
2995
  super(menu);
2620
2996
  }
@@ -2643,10 +3019,10 @@ class HierarchyBindingDirective extends BindingDirectiveBase {
2643
3019
  return item[field];
2644
3020
  }
2645
3021
  }
2646
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
2647
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: HierarchyBindingDirective, isStandalone: true, selector: "[kendoMenuHierarchyBinding]", inputs: { data: ["kendoMenuHierarchyBinding", "data"], textField: "textField", urlField: "urlField", iconField: "iconField", svgIconField: "svgIconField", disabledField: "disabledField", cssClassField: "cssClassField", cssStyleField: "cssStyleField", separatorField: "separatorField", childrenField: "childrenField" }, exportAs: ["kendoMenuHierarchyBinding"], usesInheritance: true, ngImport: i0 });
3022
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
3023
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: HierarchyBindingDirective, isStandalone: true, selector: "[kendoMenuHierarchyBinding]", inputs: { data: ["kendoMenuHierarchyBinding", "data"], textField: "textField", urlField: "urlField", iconField: "iconField", svgIconField: "svgIconField", disabledField: "disabledField", cssClassField: "cssClassField", cssStyleField: "cssStyleField", separatorField: "separatorField", childrenField: "childrenField" }, exportAs: ["kendoMenuHierarchyBinding"], usesInheritance: true, ngImport: i0 });
2648
3024
  }
2649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HierarchyBindingDirective, decorators: [{
3025
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: HierarchyBindingDirective, decorators: [{
2650
3026
  type: Directive,
2651
3027
  args: [{
2652
3028
  exportAs: 'kendoMenuHierarchyBinding',
@@ -2692,47 +3068,112 @@ class FlatBindingDirective extends BindingDirectiveBase {
2692
3068
  /**
2693
3069
  * Specifies the array of data which will be used to populate the Menu.
2694
3070
  */
2695
- data;
3071
+ set data(value) {
3072
+ this._data.set(value);
3073
+ }
3074
+ get data() {
3075
+ return this._data();
3076
+ }
2696
3077
  /**
2697
3078
  * Defines the `text` field of the items.
2698
3079
  */
2699
- textField;
3080
+ set textField(value) {
3081
+ this._textField.set(value);
3082
+ }
3083
+ get textField() {
3084
+ return this._textField();
3085
+ }
2700
3086
  /**
2701
3087
  * Defines the `url` field of the items.
2702
3088
  */
2703
- urlField;
3089
+ set urlField(value) {
3090
+ this._urlField.set(value);
3091
+ }
3092
+ get urlField() {
3093
+ return this._urlField();
3094
+ }
2704
3095
  /**
2705
3096
  * Defines the `icon` field of the items.
2706
3097
  */
2707
- iconField;
3098
+ set iconField(value) {
3099
+ this._iconField.set(value);
3100
+ }
3101
+ get iconField() {
3102
+ return this._iconField();
3103
+ }
2708
3104
  /**
2709
3105
  * Defines the `svgIcon` field of the items.
2710
3106
  */
2711
- svgIconField;
3107
+ set svgIconField(value) {
3108
+ this._svgIconField.set(value);
3109
+ }
3110
+ get svgIconField() {
3111
+ return this._svgIconField();
3112
+ }
2712
3113
  /**
2713
3114
  * Defines the `disabled` field of the items.
2714
3115
  */
2715
- disabledField;
3116
+ set disabledField(value) {
3117
+ this._disabledField.set(value);
3118
+ }
3119
+ get disabledField() {
3120
+ return this._disabledField();
3121
+ }
2716
3122
  /**
2717
3123
  * Defines the `cssClass` field of the items.
2718
3124
  */
2719
- cssClassField;
3125
+ set cssClassField(value) {
3126
+ this._cssClassField.set(value);
3127
+ }
3128
+ get cssClassField() {
3129
+ return this._cssClassField();
3130
+ }
2720
3131
  /**
2721
3132
  * Defines the `cssStyle` field of the items.
2722
3133
  */
2723
- cssStyleField;
3134
+ set cssStyleField(value) {
3135
+ this._cssStyleField.set(value);
3136
+ }
3137
+ get cssStyleField() {
3138
+ return this._cssStyleField();
3139
+ }
2724
3140
  /**
2725
3141
  * Defines the `separator` field of the items.
2726
3142
  */
2727
- separatorField;
3143
+ set separatorField(value) {
3144
+ this._separatorField.set(value);
3145
+ }
3146
+ get separatorField() {
3147
+ return this._separatorField();
3148
+ }
2728
3149
  /**
2729
3150
  * Defines the `id` field of the items.
2730
3151
  */
2731
- idField;
3152
+ set idField(value) {
3153
+ this._idField.set(value);
3154
+ }
3155
+ get idField() {
3156
+ return this._idField();
3157
+ }
2732
3158
  /**
2733
3159
  * Defines the parent `id` field of the items.
2734
3160
  */
2735
- parentIdField;
3161
+ set parentIdField(value) {
3162
+ this._parentIdField.set(value);
3163
+ }
3164
+ get parentIdField() {
3165
+ return this._parentIdField();
3166
+ }
3167
+ _textField = signal(undefined, ...(ngDevMode ? [{ debugName: "_textField" }] : []));
3168
+ _urlField = signal(undefined, ...(ngDevMode ? [{ debugName: "_urlField" }] : []));
3169
+ _iconField = signal(undefined, ...(ngDevMode ? [{ debugName: "_iconField" }] : []));
3170
+ _svgIconField = signal(undefined, ...(ngDevMode ? [{ debugName: "_svgIconField" }] : []));
3171
+ _disabledField = signal(undefined, ...(ngDevMode ? [{ debugName: "_disabledField" }] : []));
3172
+ _cssClassField = signal(undefined, ...(ngDevMode ? [{ debugName: "_cssClassField" }] : []));
3173
+ _cssStyleField = signal(undefined, ...(ngDevMode ? [{ debugName: "_cssStyleField" }] : []));
3174
+ _separatorField = signal(undefined, ...(ngDevMode ? [{ debugName: "_separatorField" }] : []));
3175
+ _idField = signal(undefined, ...(ngDevMode ? [{ debugName: "_idField" }] : []));
3176
+ _parentIdField = signal(undefined, ...(ngDevMode ? [{ debugName: "_parentIdField" }] : []));
2736
3177
  constructor(menu) {
2737
3178
  super(menu);
2738
3179
  }
@@ -2771,10 +3212,10 @@ class FlatBindingDirective extends BindingDirectiveBase {
2771
3212
  }
2772
3213
  return result;
2773
3214
  }
2774
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FlatBindingDirective, deps: [{ token: MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
2775
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: FlatBindingDirective, isStandalone: true, selector: "[kendoMenuFlatBinding]", inputs: { data: ["kendoMenuFlatBinding", "data"], textField: "textField", urlField: "urlField", iconField: "iconField", svgIconField: "svgIconField", disabledField: "disabledField", cssClassField: "cssClassField", cssStyleField: "cssStyleField", separatorField: "separatorField", idField: "idField", parentIdField: "parentIdField" }, exportAs: ["kendoMenuFlatBinding"], usesInheritance: true, ngImport: i0 });
3215
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: FlatBindingDirective, deps: [{ token: MenuBase }], target: i0.ɵɵFactoryTarget.Directive });
3216
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: FlatBindingDirective, isStandalone: true, selector: "[kendoMenuFlatBinding]", inputs: { data: ["kendoMenuFlatBinding", "data"], textField: "textField", urlField: "urlField", iconField: "iconField", svgIconField: "svgIconField", disabledField: "disabledField", cssClassField: "cssClassField", cssStyleField: "cssStyleField", separatorField: "separatorField", idField: "idField", parentIdField: "parentIdField" }, exportAs: ["kendoMenuFlatBinding"], usesInheritance: true, ngImport: i0 });
2776
3217
  }
2777
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FlatBindingDirective, decorators: [{
3218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: FlatBindingDirective, decorators: [{
2778
3219
  type: Directive,
2779
3220
  args: [{
2780
3221
  exportAs: 'kendoMenuFlatBinding',
@@ -2844,10 +3285,10 @@ class ContextMenuItemsService {
2844
3285
  return this.contextService.items.get(index);
2845
3286
  }
2846
3287
  }
2847
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuItemsService, deps: [{ token: ContextMenuService }], target: i0.ɵɵFactoryTarget.Injectable });
2848
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuItemsService });
3288
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuItemsService, deps: [{ token: ContextMenuService }], target: i0.ɵɵFactoryTarget.Injectable });
3289
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuItemsService });
2849
3290
  }
2850
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuItemsService, decorators: [{
3291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuItemsService, decorators: [{
2851
3292
  type: Injectable
2852
3293
  }], ctorParameters: () => [{ type: ContextMenuService }] });
2853
3294
 
@@ -2872,10 +3313,10 @@ class ContextMenuTemplateDirective {
2872
3313
  constructor(templateRef) {
2873
3314
  this.templateRef = templateRef;
2874
3315
  }
2875
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2876
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ContextMenuTemplateDirective, isStandalone: true, selector: "[kendoContextMenuTemplate]", ngImport: i0 });
3316
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3317
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: ContextMenuTemplateDirective, isStandalone: true, selector: "[kendoContextMenuTemplate]", ngImport: i0 });
2877
3318
  }
2878
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuTemplateDirective, decorators: [{
3319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuTemplateDirective, decorators: [{
2879
3320
  type: Directive,
2880
3321
  args: [{
2881
3322
  selector: '[kendoContextMenuTemplate]',
@@ -2900,10 +3341,10 @@ class ContextMenuTargetService {
2900
3341
  find(targetElement) {
2901
3342
  return this.targets.find(target => target.element === targetElement);
2902
3343
  }
2903
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuTargetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2904
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuTargetService });
3344
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuTargetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3345
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuTargetService });
2905
3346
  }
2906
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuTargetService, decorators: [{
3347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuTargetService, decorators: [{
2907
3348
  type: Injectable
2908
3349
  }] });
2909
3350
 
@@ -2936,10 +3377,10 @@ class ContextMenuTargetContainerDirective {
2936
3377
  this.element = elementRef.nativeElement;
2937
3378
  }
2938
3379
  }
2939
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuTargetContainerDirective, deps: [{ token: i0.ElementRef }, { token: ContextMenuTargetService }], target: i0.ɵɵFactoryTarget.Directive });
2940
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ContextMenuTargetContainerDirective, isStandalone: true, selector: "[kendoContextMenuTargetContainer]", providers: [ContextMenuTargetService], exportAs: ["kendoContextMenuTargetContainer"], ngImport: i0 });
3380
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuTargetContainerDirective, deps: [{ token: i0.ElementRef }, { token: ContextMenuTargetService }], target: i0.ɵɵFactoryTarget.Directive });
3381
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: ContextMenuTargetContainerDirective, isStandalone: true, selector: "[kendoContextMenuTargetContainer]", providers: [ContextMenuTargetService], exportAs: ["kendoContextMenuTargetContainer"], ngImport: i0 });
2941
3382
  }
2942
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuTargetContainerDirective, decorators: [{
3383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuTargetContainerDirective, decorators: [{
2943
3384
  type: Directive,
2944
3385
  args: [{
2945
3386
  selector: '[kendoContextMenuTargetContainer]',
@@ -2967,7 +3408,12 @@ class ContextMenuTargetDirective {
2967
3408
  /**
2968
3409
  * Specifies the data which is associated with the target.
2969
3410
  */
2970
- data;
3411
+ set data(value) {
3412
+ this._data.set(value);
3413
+ }
3414
+ get data() {
3415
+ return this._data();
3416
+ }
2971
3417
  /**
2972
3418
  * Specifies the target DOM element.
2973
3419
  */
@@ -2976,6 +3422,7 @@ class ContextMenuTargetDirective {
2976
3422
  * @hidden
2977
3423
  */
2978
3424
  hostClass = true;
3425
+ _data = signal(undefined, ...(ngDevMode ? [{ debugName: "_data" }] : []));
2979
3426
  constructor(elementRef, targetService) {
2980
3427
  this.targetService = targetService;
2981
3428
  if (elementRef) {
@@ -2986,10 +3433,10 @@ class ContextMenuTargetDirective {
2986
3433
  ngOnDestroy() {
2987
3434
  this.targetService.remove(this);
2988
3435
  }
2989
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuTargetDirective, deps: [{ token: i0.ElementRef }, { token: ContextMenuTargetService }], target: i0.ɵɵFactoryTarget.Directive });
2990
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ContextMenuTargetDirective, isStandalone: true, selector: "[kendoContextMenuTarget]", inputs: { data: ["kendoContextMenuTarget", "data"] }, host: { properties: { "class.k-contextmenu-target": "this.hostClass" } }, exportAs: ["kendoContextMenuTarget"], ngImport: i0 });
3436
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuTargetDirective, deps: [{ token: i0.ElementRef }, { token: ContextMenuTargetService }], target: i0.ɵɵFactoryTarget.Directive });
3437
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.26", type: ContextMenuTargetDirective, isStandalone: true, selector: "[kendoContextMenuTarget]", inputs: { data: ["kendoContextMenuTarget", "data"] }, host: { properties: { "class.k-contextmenu-target": "this.hostClass" } }, exportAs: ["kendoContextMenuTarget"], ngImport: i0 });
2991
3438
  }
2992
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuTargetDirective, decorators: [{
3439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuTargetDirective, decorators: [{
2993
3440
  type: Directive,
2994
3441
  args: [{
2995
3442
  selector: '[kendoContextMenuTarget]',
@@ -3039,63 +3486,120 @@ class ContextMenuComponent extends MenuBase {
3039
3486
  *
3040
3487
  * @default 'contextmenu'
3041
3488
  */
3042
- showOn = CONTEXT_MENU;
3489
+ set showOn(value) {
3490
+ this._showOn.set(value);
3491
+ this.bindShowHandler();
3492
+ }
3493
+ get showOn() {
3494
+ return this._showOn();
3495
+ }
3043
3496
  /**
3044
3497
  * Specifies the element for which the ContextMenu will open ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/target#configuration)).
3045
3498
  */
3046
- target;
3499
+ set target(value) {
3500
+ this._target.set(value);
3501
+ this.bindShowHandler();
3502
+ }
3503
+ get target() {
3504
+ return this._target();
3505
+ }
3047
3506
  /**
3048
3507
  * Specifies a CSS selector which filters the elements in the target for which the ContextMenu will open
3049
3508
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/target#changing-items-for-specific-targets)).
3050
3509
  */
3051
- filter;
3510
+ set filter(value) {
3511
+ this._filter.set(value);
3512
+ }
3513
+ get filter() {
3514
+ return this._filter();
3515
+ }
3052
3516
  /**
3053
3517
  * Specifies if the ContextMenu will be aligned to the target or to the `filter` element (if specified).
3054
3518
  *
3055
3519
  * @default false
3056
3520
  */
3057
- alignToAnchor = false;
3521
+ set alignToAnchor(value) {
3522
+ this._alignToAnchor.set(value);
3523
+ }
3524
+ get alignToAnchor() {
3525
+ return this._alignToAnchor();
3526
+ }
3058
3527
  /**
3059
3528
  * Specifies if the Menu will be vertically rendered ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/orientation)).
3060
3529
  *
3061
3530
  * @default true
3062
3531
  */
3063
- vertical = true;
3532
+ set vertical(value) {
3533
+ this._vertical.set(value);
3534
+ }
3535
+ get vertical() {
3536
+ return this._vertical();
3537
+ }
3064
3538
  /**
3065
3539
  * Specifies the popup animation.
3066
3540
  *
3067
3541
  * @default true
3068
3542
  */
3069
- popupAnimate;
3543
+ set popupAnimate(value) {
3544
+ this._popupAnimate.set(value);
3545
+ }
3546
+ get popupAnimate() {
3547
+ return this._popupAnimate();
3548
+ }
3070
3549
  /**
3071
3550
  * Specifies the pivot point of the popup.
3072
3551
  *
3073
3552
  * @default { horizontal: 'left', vertical: 'top' }
3074
3553
  */
3075
- popupAlign;
3554
+ set popupAlign(value) {
3555
+ this._popupAlign.set(value);
3556
+ }
3557
+ get popupAlign() {
3558
+ return this._popupAlign();
3559
+ }
3076
3560
  /**
3077
3561
  * Specifies the pivot point of the anchor. Applicable if `alignToAnchor` is `true`.
3078
3562
  *
3079
3563
  * @default { horizontal: 'left', vertical: 'bottom' }
3080
3564
  */
3081
- anchorAlign;
3565
+ set anchorAlign(value) {
3566
+ this._anchorAlign.set(value);
3567
+ }
3568
+ get anchorAlign() {
3569
+ return this._anchorAlign();
3570
+ }
3082
3571
  /**
3083
3572
  * Configures the collision behavior of the popup.
3084
3573
  *
3085
3574
  * @default { horizontal: 'fit', vertical: 'flip' }
3086
3575
  */
3087
- collision;
3576
+ set collision(value) {
3577
+ this._collision.set(value);
3578
+ }
3579
+ get collision() {
3580
+ return this._collision();
3581
+ }
3088
3582
  /**
3089
3583
  * Defines the container to which the popups will be appended.
3090
3584
  */
3091
- appendTo;
3585
+ set appendTo(value) {
3586
+ this._appendTo.set(value);
3587
+ }
3588
+ get appendTo() {
3589
+ return this._appendTo();
3590
+ }
3092
3591
  /**
3093
3592
  * Sets the value for the [`aria-label`](https://www.w3.org/TR/wai-aria-1.1/#aria-label) attribute of the ContextMenu.
3094
3593
  *
3095
3594
  * @remarks
3096
3595
  * This property is related to accessibility.
3097
3596
  */
3098
- ariaLabel;
3597
+ set ariaLabel(value) {
3598
+ this._ariaLabel.set(value);
3599
+ }
3600
+ get ariaLabel() {
3601
+ return this._ariaLabel();
3602
+ }
3099
3603
  /**
3100
3604
  * Fires when the Menu is opened ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/events)).
3101
3605
  */
@@ -3132,6 +3636,17 @@ class ContextMenuComponent extends MenuBase {
3132
3636
  currentTarget;
3133
3637
  directiveTarget;
3134
3638
  activeTarget;
3639
+ _showOn = signal(CONTEXT_MENU, ...(ngDevMode ? [{ debugName: "_showOn" }] : []));
3640
+ _target = signal(undefined, ...(ngDevMode ? [{ debugName: "_target" }] : []));
3641
+ _filter = signal(undefined, ...(ngDevMode ? [{ debugName: "_filter" }] : []));
3642
+ _alignToAnchor = signal(false, ...(ngDevMode ? [{ debugName: "_alignToAnchor" }] : []));
3643
+ _popupAnimate = signal(undefined, ...(ngDevMode ? [{ debugName: "_popupAnimate" }] : []));
3644
+ _popupAlign = signal(undefined, ...(ngDevMode ? [{ debugName: "_popupAlign" }] : []));
3645
+ _anchorAlign = signal(undefined, ...(ngDevMode ? [{ debugName: "_anchorAlign" }] : []));
3646
+ _collision = signal(undefined, ...(ngDevMode ? [{ debugName: "_collision" }] : []));
3647
+ _appendTo = signal(undefined, ...(ngDevMode ? [{ debugName: "_appendTo" }] : []));
3648
+ _ariaLabel = signal(undefined, ...(ngDevMode ? [{ debugName: "_ariaLabel" }] : []));
3649
+ _vertical = signal(true, ...(ngDevMode ? [{ debugName: "_vertical" }] : []));
3135
3650
  constructor(popupService, service, ngZone, renderer) {
3136
3651
  super();
3137
3652
  this.popupService = popupService;
@@ -3166,11 +3681,6 @@ class ContextMenuComponent extends MenuBase {
3166
3681
  this.createPopup({ anchor: this.currentTarget });
3167
3682
  }
3168
3683
  }
3169
- ngOnChanges(changes) {
3170
- if (changes.target || changes.showOn) {
3171
- this.bindShowHandler();
3172
- }
3173
- }
3174
3684
  ngOnInit() {
3175
3685
  this.ngZone.runOutsideAngular(() => {
3176
3686
  const closeClickSubscription = this.renderer.listen('document', 'mousedown', (e) => {
@@ -3388,8 +3898,8 @@ class ContextMenuComponent extends MenuBase {
3388
3898
  get currentTargetElement() {
3389
3899
  return this.directiveTarget && this.currentTarget ? this.currentTarget.element : this.currentTarget;
3390
3900
  }
3391
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuComponent, deps: [{ token: i5.PopupService }, { token: ContextMenuService }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3392
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ContextMenuComponent, isStandalone: true, selector: "kendo-contextmenu", inputs: { showOn: "showOn", target: "target", filter: "filter", alignToAnchor: "alignToAnchor", vertical: "vertical", popupAnimate: "popupAnimate", popupAlign: "popupAlign", anchorAlign: "anchorAlign", collision: "collision", appendTo: "appendTo", ariaLabel: "ariaLabel" }, outputs: { popupOpen: "popupOpen", popupClose: "popupClose", select: "select", open: "open", close: "close" }, providers: [
3901
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuComponent, deps: [{ token: i5.PopupService }, { token: ContextMenuService }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3902
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.26", type: ContextMenuComponent, isStandalone: true, selector: "kendo-contextmenu", inputs: { showOn: "showOn", target: "target", filter: "filter", alignToAnchor: "alignToAnchor", vertical: "vertical", popupAnimate: "popupAnimate", popupAlign: "popupAlign", anchorAlign: "anchorAlign", collision: "collision", appendTo: "appendTo", ariaLabel: "ariaLabel" }, outputs: { popupOpen: "popupOpen", popupClose: "popupClose", select: "select", open: "open", close: "close" }, providers: [
3393
3903
  ContextMenuService,
3394
3904
  LocalizationService,
3395
3905
  {
@@ -3409,7 +3919,7 @@ class ContextMenuComponent extends MenuBase {
3409
3919
  provide: POPUP_CONTAINER,
3410
3920
  useFactory: bodyFactory
3411
3921
  }
3412
- ], queries: [{ propertyName: "contentTemplate", first: true, predicate: ContextMenuTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "defaultContentTemplate", first: true, predicate: ["default"], descendants: true }], exportAs: ["kendoContextMenu"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
3922
+ ], queries: [{ propertyName: "contentTemplate", first: true, predicate: ContextMenuTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "defaultContentTemplate", first: true, predicate: ["default"], descendants: true }], exportAs: ["kendoContextMenu"], usesInheritance: true, ngImport: i0, template: `
3413
3923
  <ng-template #default>
3414
3924
  <kendo-menu [items]="rootItems"
3415
3925
  [appendTo]="appendTo"
@@ -3425,9 +3935,9 @@ class ContextMenuComponent extends MenuBase {
3425
3935
  [menuItemLinkTemplate]="itemLinkTemplate.first?.templateRef"
3426
3936
  ></kendo-menu>
3427
3937
  </ng-template>
3428
- `, isInline: true, dependencies: [{ kind: "component", type: MenuComponent, selector: "kendo-menu", inputs: ["appendTo", "menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }] });
3938
+ `, isInline: true, dependencies: [{ kind: "component", type: MenuComponent, selector: "kendo-menu", inputs: ["appendTo", "menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3429
3939
  }
3430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuComponent, decorators: [{
3940
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuComponent, decorators: [{
3431
3941
  type: Component,
3432
3942
  args: [{
3433
3943
  exportAs: 'kendoContextMenu',
@@ -3471,7 +3981,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
3471
3981
  </ng-template>
3472
3982
  `,
3473
3983
  standalone: true,
3474
- imports: [MenuComponent]
3984
+ imports: [MenuComponent],
3985
+ changeDetection: ChangeDetectionStrategy.OnPush
3475
3986
  }]
3476
3987
  }], ctorParameters: () => [{ type: i5.PopupService }, { type: ContextMenuService }, { type: i0.NgZone }, { type: i0.Renderer2 }], propDecorators: { showOn: [{
3477
3988
  type: Input
@@ -3579,11 +4090,11 @@ const KENDO_MENUS = [
3579
4090
  * ```
3580
4091
  */
3581
4092
  class MenuModule {
3582
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3583
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: MenuModule, imports: [MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent], exports: [MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent] });
3584
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [MenuComponent, ExpandArrowComponent] });
4093
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4094
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.26", ngImport: i0, type: MenuModule, imports: [MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent], exports: [MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent] });
4095
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenuModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [MenuComponent, ExpandArrowComponent] });
3585
4096
  }
3586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuModule, decorators: [{
4097
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenuModule, decorators: [{
3587
4098
  type: NgModule,
3588
4099
  args: [{
3589
4100
  exports: [...KENDO_MENU],
@@ -3658,11 +4169,11 @@ class ContextMenuSelectEvent extends ContextMenuEvent {
3658
4169
  * ```
3659
4170
  */
3660
4171
  class ContextMenuModule {
3661
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3662
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuModule, imports: [ContextMenuComponent, ContextMenuTemplateDirective, ContextMenuTargetDirective, ContextMenuTargetContainerDirective, MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent], exports: [ContextMenuComponent, ContextMenuTemplateDirective, ContextMenuTargetDirective, ContextMenuTargetContainerDirective, MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent] });
3663
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [ContextMenuComponent, MenuComponent, ExpandArrowComponent] });
4172
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4173
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuModule, imports: [ContextMenuComponent, ContextMenuTemplateDirective, ContextMenuTargetDirective, ContextMenuTargetContainerDirective, MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent], exports: [ContextMenuComponent, ContextMenuTemplateDirective, ContextMenuTargetDirective, ContextMenuTargetContainerDirective, MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent] });
4174
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [ContextMenuComponent, MenuComponent, ExpandArrowComponent] });
3664
4175
  }
3665
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ContextMenuModule, decorators: [{
4176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: ContextMenuModule, decorators: [{
3666
4177
  type: NgModule,
3667
4178
  args: [{
3668
4179
  exports: [...KENDO_CONTEXTMENU],
@@ -3695,11 +4206,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
3695
4206
  * ```
3696
4207
  */
3697
4208
  class MenusModule {
3698
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenusModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3699
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: MenusModule, imports: [MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent, ContextMenuComponent, ContextMenuTemplateDirective, ContextMenuTargetDirective, ContextMenuTargetContainerDirective, MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent], exports: [MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent, ContextMenuComponent, ContextMenuTemplateDirective, ContextMenuTargetDirective, ContextMenuTargetContainerDirective, MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent] });
3700
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenusModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [MenuComponent, ExpandArrowComponent, ContextMenuComponent, MenuComponent, ExpandArrowComponent] });
4209
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenusModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4210
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.26", ngImport: i0, type: MenusModule, imports: [MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent, ContextMenuComponent, ContextMenuTemplateDirective, ContextMenuTargetDirective, ContextMenuTargetContainerDirective, MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent], exports: [MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent, ContextMenuComponent, ContextMenuTemplateDirective, ContextMenuTargetDirective, ContextMenuTargetContainerDirective, MenuComponent, MenuItemComponent, ItemTemplateDirective, ItemLinkTemplateDirective, ItemContentTemplateDirective, HierarchyBindingDirective, FlatBindingDirective, LinkDirective, ExpandArrowComponent] });
4211
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenusModule, providers: [PopupService, IconsService, ResizeBatchService], imports: [MenuComponent, ExpandArrowComponent, ContextMenuComponent, MenuComponent, ExpandArrowComponent] });
3701
4212
  }
3702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenusModule, decorators: [{
4213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.26", ngImport: i0, type: MenusModule, decorators: [{
3703
4214
  type: NgModule,
3704
4215
  args: [{
3705
4216
  exports: [...KENDO_MENUS],