@progress/kendo-angular-grid 14.1.0-develop.8 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/column-menu/column-menu-container.component.d.ts +4 -3
  2. package/column-menu/column-menu-item.component.d.ts +7 -1
  3. package/column-menu/column-menu-item.directive.d.ts +15 -3
  4. package/column-menu/column-menu.service.d.ts +5 -0
  5. package/dragdrop/context-types.d.ts +1 -0
  6. package/esm2020/column-menu/column-menu-autosize-all.component.mjs +1 -1
  7. package/esm2020/column-menu/column-menu-autosize.component.mjs +1 -1
  8. package/esm2020/column-menu/column-menu-chooser.component.mjs +1 -1
  9. package/esm2020/column-menu/column-menu-container.component.mjs +18 -7
  10. package/esm2020/column-menu/column-menu-filter.component.mjs +1 -1
  11. package/esm2020/column-menu/column-menu-item.component.mjs +4 -1
  12. package/esm2020/column-menu/column-menu-item.directive.mjs +13 -3
  13. package/esm2020/column-menu/column-menu-lock.component.mjs +1 -1
  14. package/esm2020/column-menu/column-menu-position.component.mjs +1 -1
  15. package/esm2020/column-menu/column-menu-sort.component.mjs +1 -1
  16. package/esm2020/column-menu/column-menu-stick.component.mjs +1 -1
  17. package/esm2020/column-menu/column-menu.component.mjs +16 -8
  18. package/esm2020/grid.component.mjs +24 -0
  19. package/esm2020/grouping/group-panel.component.mjs +213 -23
  20. package/esm2020/grouping/group.module.mjs +6 -5
  21. package/esm2020/localization/messages.mjs +5 -1
  22. package/esm2020/package-metadata.mjs +2 -2
  23. package/fesm2015/progress-kendo-angular-grid.mjs +298 -50
  24. package/fesm2020/progress-kendo-angular-grid.mjs +294 -50
  25. package/grouping/group-panel.component.d.ts +25 -4
  26. package/grouping/group.module.d.ts +2 -1
  27. package/localization/messages.d.ts +11 -7
  28. package/package.json +16 -16
  29. package/schematics/ngAdd/index.js +3 -3
@@ -3,18 +3,19 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ColumnMenuItemDirective } from './column-menu-item.directive';
6
- import { AfterContentInit, NgZone, QueryList } from '@angular/core';
6
+ import { AfterViewInit, NgZone, QueryList } from '@angular/core';
7
7
  import { ColumnMenuService } from './column-menu.service';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
10
10
  * @hidden
11
11
  */
12
- export declare class ColumnMenuContainerComponent implements AfterContentInit {
12
+ export declare class ColumnMenuContainerComponent implements AfterViewInit {
13
13
  private service;
14
14
  private ngZone;
15
15
  columnMenuItems: QueryList<ColumnMenuItemDirective>;
16
+ templateMenuItems: any[];
16
17
  constructor(service: ColumnMenuService, ngZone: NgZone);
17
- ngAfterContentInit(): void;
18
+ ngAfterViewInit(): void;
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnMenuContainerComponent, never>;
19
20
  static ɵcmp: i0.ɵɵComponentDeclaration<ColumnMenuContainerComponent, "kendo-grid-columnmenu-container", never, {}, {}, ["columnMenuItems"], ["*"]>;
20
21
  }
@@ -5,6 +5,7 @@
5
5
  import { EventEmitter, OnChanges } from '@angular/core';
6
6
  import { ColumnMenuItemContentTemplateDirective } from './column-menu-item-content-template.directive';
7
7
  import { SVGIcon } from '@progress/kendo-svg-icons';
8
+ import { ColumnMenuService } from './column-menu.service';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * Represents an item that can be placed inside a
@@ -58,6 +59,11 @@ export declare class ColumnMenuItemComponent implements OnChanges {
58
59
  * Specifies if the item is expanded.
59
60
  */
60
61
  expanded: boolean;
62
+ /**
63
+ * Represents the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) class.
64
+ * Required to include the item in the column menu keyboard navigation sequence.
65
+ */
66
+ service: ColumnMenuService;
61
67
  contentTemplate: ColumnMenuItemContentTemplateDirective;
62
68
  contentState: string;
63
69
  contentId: string;
@@ -69,5 +75,5 @@ export declare class ColumnMenuItemComponent implements OnChanges {
69
75
  onClick(e: any): void;
70
76
  private updateContentState;
71
77
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnMenuItemComponent, never>;
72
- static ɵcmp: i0.ɵɵComponentDeclaration<ColumnMenuItemComponent, "kendo-grid-columnmenu-item", never, { "icon": "icon"; "svgIcon": "svgIcon"; "text": "text"; "selected": "selected"; "disabled": "disabled"; "expanded": "expanded"; }, { "itemClick": "itemClick"; "expand": "expand"; "collapse": "collapse"; }, ["contentTemplate"], never>;
78
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColumnMenuItemComponent, "kendo-grid-columnmenu-item", never, { "icon": "icon"; "svgIcon": "svgIcon"; "text": "text"; "selected": "selected"; "disabled": "disabled"; "expanded": "expanded"; "service": "service"; }, { "itemClick": "itemClick"; "expand": "expand"; "collapse": "collapse"; }, ["contentTemplate"], never>;
73
79
  }
@@ -4,19 +4,31 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ElementRef, NgZone, Renderer2 } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
- /**
8
- * @hidden
9
- */
10
7
  export declare class ColumnMenuItemDirective {
11
8
  hostElement: ElementRef;
12
9
  private renderer;
13
10
  private ngZone;
11
+ /**
12
+ * The reference to the Grid column menu item. Required to include the item in the built-in keyboard navigation.
13
+ */
14
14
  menuItemComponent: any;
15
15
  firstFocusableElement: HTMLElement;
16
16
  lastFocusableElement: HTMLElement;
17
+ /**
18
+ * @hidden
19
+ */
17
20
  set isFirst(value: boolean);
21
+ /**
22
+ * @hidden
23
+ */
18
24
  get isFirst(): boolean;
25
+ /**
26
+ * @hidden
27
+ */
19
28
  set isLast(value: boolean);
29
+ /**
30
+ * @hidden
31
+ */
20
32
  get isLast(): boolean;
21
33
  private _isFirst;
22
34
  private _isLast;
@@ -4,6 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { MenuTabbingService } from './../filtering/menu/menu-tabbing.service';
6
6
  import { EventEmitter } from '@angular/core';
7
+ import type { ColumnMenuContainerComponent } from './column-menu-container.component';
7
8
  import * as i0 from "@angular/core";
8
9
  /**
9
10
  * Represents the service that is passed to the
@@ -51,6 +52,10 @@ export declare class ColumnMenuService {
51
52
  * Closes the column menu.
52
53
  */
53
54
  close(): void;
55
+ /**
56
+ * @hidden
57
+ */
58
+ columnMenuContainer: ColumnMenuContainerComponent;
54
59
  /**
55
60
  * @hidden
56
61
  */
@@ -13,4 +13,5 @@ export declare type DragAndDropContext = {
13
13
  lastColumn?: boolean;
14
14
  column?: ColumnBase;
15
15
  type?: 'column' | 'groupIndicator' | 'columnGroup';
16
+ target?: any;
16
17
  };
@@ -58,7 +58,7 @@ ColumnMenuAutoSizeAllColumnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVer
58
58
  [svgIcon]="displayInlineFlexIcon"
59
59
  (itemClick)="autoSizeAllColumns()"
60
60
  ></kendo-grid-columnmenu-item>
61
- `, isInline: true, components: [{ type: i2.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
61
+ `, isInline: true, components: [{ type: i2.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuAutoSizeAllColumnsComponent, decorators: [{
63
63
  type: Component,
64
64
  args: [{
@@ -60,7 +60,7 @@ ColumnMenuAutoSizeColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion
60
60
  [svgIcon]="maxWidthIcon"
61
61
  (itemClick)="autoSizeColumn()"
62
62
  ></kendo-grid-columnmenu-item>
63
- `, isInline: true, components: [{ type: i2.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
63
+ `, isInline: true, components: [{ type: i2.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuAutoSizeColumnComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{
@@ -115,7 +115,7 @@ ColumnMenuChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
115
115
  </kendo-grid-columnlist>
116
116
  </ng-template>
117
117
  </kendo-grid-columnmenu-item>
118
- `, isInline: true, components: [{ type: i3.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { type: i4.ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }], directives: [{ type: i5.ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }] });
118
+ `, isInline: true, components: [{ type: i3.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }, { type: i4.ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }], directives: [{ type: i5.ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }] });
119
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuChooserComponent, decorators: [{
120
120
  type: Component,
121
121
  args: [{
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ColumnMenuItemDirective } from './column-menu-item.directive';
6
- import { Component, ContentChildren, NgZone, QueryList } from '@angular/core';
6
+ import { Component, ContentChildren, Inject, NgZone, QueryList } from '@angular/core';
7
7
  import { take } from 'rxjs/operators';
8
8
  import { ColumnMenuService } from './column-menu.service';
9
9
  import * as i0 from "@angular/core";
@@ -15,17 +15,25 @@ export class ColumnMenuContainerComponent {
15
15
  constructor(service, ngZone) {
16
16
  this.service = service;
17
17
  this.ngZone = ngZone;
18
+ this.templateMenuItems = [];
19
+ service.columnMenuContainer = this;
18
20
  }
19
- ngAfterContentInit() {
20
- if (!this.columnMenuItems.length) {
21
+ ngAfterViewInit() {
22
+ if (this.columnMenuItems.length) {
23
+ this.columnMenuItems.first.isFirst = true;
24
+ this.columnMenuItems.last.isLast = true;
25
+ }
26
+ else if (this.templateMenuItems.length) {
27
+ this.templateMenuItems[0].isFirst = true;
28
+ this.templateMenuItems[this.templateMenuItems.length - 1].isLast = true;
29
+ }
30
+ else {
21
31
  return;
22
32
  }
23
- this.columnMenuItems.first.isFirst = true;
24
- this.columnMenuItems.last.isLast = true;
25
33
  this.ngZone.onStable.pipe(take(1)).subscribe(() => this.service.menuTabbingService.firstFocusable.focus());
26
34
  }
27
35
  }
28
- ColumnMenuContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuContainerComponent, deps: [{ token: i1.ColumnMenuService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
36
+ ColumnMenuContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuContainerComponent, deps: [{ token: i1.ColumnMenuService }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component });
29
37
  ColumnMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container", queries: [{ propertyName: "columnMenuItems", predicate: ColumnMenuItemDirective, descendants: true }], ngImport: i0, template: `
30
38
  <ng-content></ng-content>
31
39
  `, isInline: true });
@@ -37,7 +45,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
37
45
  <ng-content></ng-content>
38
46
  `
39
47
  }]
40
- }], ctorParameters: function () { return [{ type: i1.ColumnMenuService }, { type: i0.NgZone }]; }, propDecorators: { columnMenuItems: [{
48
+ }], ctorParameters: function () { return [{ type: i1.ColumnMenuService }, { type: i0.NgZone, decorators: [{
49
+ type: Inject,
50
+ args: [NgZone]
51
+ }] }]; }, propDecorators: { columnMenuItems: [{
41
52
  type: ContentChildren,
42
53
  args: [ColumnMenuItemDirective, { descendants: true }]
43
54
  }] } });
@@ -96,7 +96,7 @@ ColumnMenuFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
96
96
  </kendo-grid-filter-menu-container>
97
97
  </ng-template>
98
98
  </kendo-grid-columnmenu-item>
99
- `, isInline: true, components: [{ type: i2.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { type: i3.FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }], directives: [{ type: i4.ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }] });
99
+ `, isInline: true, components: [{ type: i2.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }, { type: i3.FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }], directives: [{ type: i4.ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }] });
100
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuFilterComponent, decorators: [{
101
101
  type: Component,
102
102
  args: [{
@@ -6,6 +6,7 @@ import { Component, Input, Output, EventEmitter, ContentChild } from '@angular/c
6
6
  import { trigger, transition, style, animate, state } from '@angular/animations';
7
7
  import { ColumnMenuItemContentTemplateDirective } from './column-menu-item-content-template.directive';
8
8
  import { guid } from '@progress/kendo-angular-common';
9
+ import { ColumnMenuService } from './column-menu.service';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@progress/kendo-angular-icons";
11
12
  import * as i2 from "@angular/common";
@@ -67,7 +68,7 @@ export class ColumnMenuItemComponent {
67
68
  }
68
69
  }
69
70
  ColumnMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
- ColumnMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", disabled: "disabled", expanded: "expanded" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ColumnMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
71
+ ColumnMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", disabled: "disabled", expanded: "expanded", service: "service" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ColumnMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
71
72
  <div
72
73
  class="k-columnmenu-item"
73
74
  (click)="onClick($event)"
@@ -175,6 +176,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
175
176
  type: Input
176
177
  }], expanded: [{
177
178
  type: Input
179
+ }], service: [{
180
+ type: Input
178
181
  }], contentTemplate: [{
179
182
  type: ContentChild,
180
183
  args: [ColumnMenuItemContentTemplateDirective]
@@ -9,9 +9,6 @@ import { ColumnMenuPositionComponent } from './column-menu-position.component';
9
9
  import { ColumnMenuChooserComponent } from './column-menu-chooser.component';
10
10
  import { ColumnMenuFilterComponent } from './column-menu-filter.component';
11
11
  import * as i0 from "@angular/core";
12
- /**
13
- * @hidden
14
- */
15
12
  export class ColumnMenuItemDirective {
16
13
  constructor(hostElement, renderer, ngZone) {
17
14
  this.hostElement = hostElement;
@@ -38,6 +35,9 @@ export class ColumnMenuItemDirective {
38
35
  }
39
36
  };
40
37
  }
38
+ /**
39
+ * @hidden
40
+ */
41
41
  set isFirst(value) {
42
42
  if (value) {
43
43
  const focusableElement = this.columnMenuItems[0];
@@ -49,9 +49,15 @@ export class ColumnMenuItemDirective {
49
49
  }
50
50
  this._isFirst = value;
51
51
  }
52
+ /**
53
+ * @hidden
54
+ */
52
55
  get isFirst() {
53
56
  return this._isFirst;
54
57
  }
58
+ /**
59
+ * @hidden
60
+ */
55
61
  set isLast(value) {
56
62
  if (!this.columnMenuItems) {
57
63
  return;
@@ -69,6 +75,9 @@ export class ColumnMenuItemDirective {
69
75
  }
70
76
  this._isLast = value;
71
77
  }
78
+ /**
79
+ * @hidden
80
+ */
72
81
  get isLast() {
73
82
  return this._isLast;
74
83
  }
@@ -78,6 +87,7 @@ export class ColumnMenuItemDirective {
78
87
  if (this.menuItemComponent instanceof ColumnMenuFilterComponent) {
79
88
  this.menuItemComponent.service.menuTabbingService.isColumnMenu = true;
80
89
  }
90
+ this.menuItemComponent.service?.columnMenuContainer.templateMenuItems.push(this);
81
91
  }
82
92
  ngOnDestroy() {
83
93
  if (this.subs) {
@@ -87,7 +87,7 @@ ColumnMenuLockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
87
87
  (itemClick)="toggleColumn()"
88
88
  [disabled]="disabled">
89
89
  </kendo-grid-columnmenu-item>
90
- `, isInline: true, components: [{ type: i3.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }] });
90
+ `, isInline: true, components: [{ type: i3.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
91
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuLockComponent, decorators: [{
92
92
  type: Component,
93
93
  args: [{
@@ -129,7 +129,7 @@ ColumnMenuPositionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
129
129
  </kendo-grid-columnmenu-stick>
130
130
  </ng-template>
131
131
  </kendo-grid-columnmenu-item>
132
- `, isInline: true, components: [{ type: i2.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { type: i3.ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { type: i4.ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }], directives: [{ type: i5.ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
132
+ `, isInline: true, components: [{ type: i2.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }, { type: i3.ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { type: i4.ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }], directives: [{ type: i5.ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
133
133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuPositionComponent, decorators: [{
134
134
  type: Component,
135
135
  args: [{
@@ -89,7 +89,7 @@ ColumnMenuSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
89
89
  (itemClick)="toggleSort('desc')"
90
90
  [selected]="sortedDesc">
91
91
  </kendo-grid-columnmenu-item>
92
- `, isInline: true, components: [{ type: i3.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }] });
92
+ `, isInline: true, components: [{ type: i3.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
93
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuSortComponent, decorators: [{
94
94
  type: Component,
95
95
  args: [{
@@ -89,7 +89,7 @@ ColumnMenuStickComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
89
89
  (itemClick)="toggleColumn()"
90
90
  [disabled]="disabled">
91
91
  </kendo-grid-columnmenu-item>
92
- `, isInline: true, components: [{ type: i3.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }] });
92
+ `, isInline: true, components: [{ type: i3.ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
93
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuStickComponent, decorators: [{
94
94
  type: Component,
95
95
  args: [{
@@ -316,10 +316,14 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
316
316
  [svgIcon]="moreVerticalIcon"></kendo-icon-wrapper>
317
317
  </a>
318
318
  <ng-template #template>
319
- <ng-container
320
- [ngTemplateOutlet]="this.column.columnMenuTemplateRef || this.columnMenuTemplate || (this.settings.view === 'tabbed' ? this.tabbedInterfaceTemplate : this.defaultTemplate)"
321
- [ngTemplateOutletContext]="{ service: service, column: column }">
322
- </ng-container>
319
+ <kendo-grid-columnmenu-container
320
+ (keydown.escape)="close(true)"
321
+ (keydown.enter)="$event.stopImmediatePropagation()">
322
+ <ng-container
323
+ [ngTemplateOutlet]="this.column.columnMenuTemplateRef || this.columnMenuTemplate || (this.settings.view === 'tabbed' ? this.tabbedInterfaceTemplate : this.defaultTemplate)"
324
+ [ngTemplateOutletContext]="{ service: service, column: column }">
325
+ </ng-container>
326
+ </kendo-grid-columnmenu-container>
323
327
  </ng-template>
324
328
  <ng-template #defaultTemplate>
325
329
  <kendo-grid-columnmenu-container
@@ -487,10 +491,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
487
491
  [svgIcon]="moreVerticalIcon"></kendo-icon-wrapper>
488
492
  </a>
489
493
  <ng-template #template>
490
- <ng-container
491
- [ngTemplateOutlet]="this.column.columnMenuTemplateRef || this.columnMenuTemplate || (this.settings.view === 'tabbed' ? this.tabbedInterfaceTemplate : this.defaultTemplate)"
492
- [ngTemplateOutletContext]="{ service: service, column: column }">
493
- </ng-container>
494
+ <kendo-grid-columnmenu-container
495
+ (keydown.escape)="close(true)"
496
+ (keydown.enter)="$event.stopImmediatePropagation()">
497
+ <ng-container
498
+ [ngTemplateOutlet]="this.column.columnMenuTemplateRef || this.columnMenuTemplate || (this.settings.view === 'tabbed' ? this.tabbedInterfaceTemplate : this.defaultTemplate)"
499
+ [ngTemplateOutletContext]="{ service: service, column: column }">
500
+ </ng-container>
501
+ </kendo-grid-columnmenu-container>
494
502
  </ng-template>
495
503
  <ng-template #defaultTemplate>
496
504
  <kendo-grid-columnmenu-container
@@ -2214,6 +2214,12 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2214
2214
  i18n-sortedDefault="kendo.grid.sortedDefault|The status announcement when a column is no longer sorted"
2215
2215
  sortedDefault="Not Sorted"
2216
2216
 
2217
+ i18n-sortedAscending="kendo.grid.sortedAscending|The title of the Group Chip indicating the ascending sorting order of the groups"
2218
+ sortedAscending="Sorted Ascending"
2219
+
2220
+ i18n-sortedDescending="kendo.grid.sortedDescending|The title of the Group Chip indicating the descending sorting order of the groups"
2221
+ sortedDescending="Sorted Descending"
2222
+
2217
2223
  i18n-columnsApply="kendo.grid.columnsApply|The text shown in the column menu or column chooser for the columns apply button"
2218
2224
  columnsApply="Apply"
2219
2225
 
@@ -2273,6 +2279,12 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2273
2279
 
2274
2280
  i18n-columnMenuColumnsTabTitle="kendo.grid.columnMenuColumnsTabTitle|The title for the column menu Columns tab"
2275
2281
  columnMenuColumnsTabTitle="Columns"
2282
+
2283
+ i18n-groupChipMenuPrevious="kendo.grid.groupChipMenuPrevious|The text for the Group pane Chip Menu Move as previous item"
2284
+ groupChipMenuPrevious="Move as previous"
2285
+
2286
+ i18n-groupChipMenuNext="kendo.grid.groupChipMenuNext|The text for the Group pane Chip Menu Move as next item"
2287
+ groupChipMenuNext="Move as next"
2276
2288
  >
2277
2289
  </ng-container>
2278
2290
  <kendo-grid-toolbar
@@ -2832,6 +2844,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2832
2844
  i18n-sortedDefault="kendo.grid.sortedDefault|The status announcement when a column is no longer sorted"
2833
2845
  sortedDefault="Not Sorted"
2834
2846
 
2847
+ i18n-sortedAscending="kendo.grid.sortedAscending|The title of the Group Chip indicating the ascending sorting order of the groups"
2848
+ sortedAscending="Sorted Ascending"
2849
+
2850
+ i18n-sortedDescending="kendo.grid.sortedDescending|The title of the Group Chip indicating the descending sorting order of the groups"
2851
+ sortedDescending="Sorted Descending"
2852
+
2835
2853
  i18n-columnsApply="kendo.grid.columnsApply|The text shown in the column menu or column chooser for the columns apply button"
2836
2854
  columnsApply="Apply"
2837
2855
 
@@ -2891,6 +2909,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2891
2909
 
2892
2910
  i18n-columnMenuColumnsTabTitle="kendo.grid.columnMenuColumnsTabTitle|The title for the column menu Columns tab"
2893
2911
  columnMenuColumnsTabTitle="Columns"
2912
+
2913
+ i18n-groupChipMenuPrevious="kendo.grid.groupChipMenuPrevious|The text for the Group pane Chip Menu Move as previous item"
2914
+ groupChipMenuPrevious="Move as previous"
2915
+
2916
+ i18n-groupChipMenuNext="kendo.grid.groupChipMenuNext|The text for the Group pane Chip Menu Move as next item"
2917
+ groupChipMenuNext="Move as next"
2894
2918
  >
2895
2919
  </ng-container>
2896
2920
  <kendo-grid-toolbar