@progress/kendo-angular-grid 19.3.0-develop.4 → 19.3.0-develop.41

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 (120) hide show
  1. package/columns/columns-container.d.ts +2 -0
  2. package/common/data-layout-mode.d.ts +21 -0
  3. package/common/grid-col-size.d.ts +13 -0
  4. package/common/provider.service.d.ts +2 -0
  5. package/common/toolbar-tool-base.directive.d.ts +1 -0
  6. package/data/data-mapping.service.d.ts +3 -1
  7. package/directives.d.ts +7 -4
  8. package/editing/toolbar-editing-tool-base.directive.d.ts +3 -2
  9. package/editing-directives/editing-directive-base.d.ts +3 -0
  10. package/editing-directives/in-cell-editing.directive.d.ts +1 -1
  11. package/editing-directives/reactive-editing.directive.d.ts +1 -1
  12. package/editing-directives/template-editing.directive.d.ts +1 -1
  13. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +1 -2
  14. package/esm2022/column-menu/column-chooser.component.mjs +1 -1
  15. package/esm2022/column-menu/column-list.component.mjs +8 -7
  16. package/esm2022/column-menu/column-menu-item.directive.mjs +1 -1
  17. package/esm2022/column-menu/column-menu.component.mjs +1 -1
  18. package/esm2022/columns/column-base.mjs +4 -4
  19. package/esm2022/columns/column.component.mjs +1 -1
  20. package/esm2022/columns/columns-container.mjs +3 -0
  21. package/esm2022/common/column-info.service.mjs +1 -1
  22. package/esm2022/common/data-layout-mode.mjs +5 -0
  23. package/esm2022/common/grid-col-size.mjs +5 -0
  24. package/esm2022/common/provider.service.mjs +1 -0
  25. package/esm2022/common/toolbar-tool-base.directive.mjs +6 -2
  26. package/esm2022/data/data-mapping.service.mjs +14 -3
  27. package/esm2022/directives.mjs +8 -1
  28. package/esm2022/editing/form/form-formfield.component.mjs +2 -2
  29. package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +5 -0
  30. package/esm2022/editing-directives/editing-directive-base.mjs +17 -2
  31. package/esm2022/editing-directives/in-cell-editing.directive.mjs +5 -3
  32. package/esm2022/editing-directives/reactive-editing.directive.mjs +1 -1
  33. package/esm2022/editing-directives/template-editing.directive.mjs +1 -1
  34. package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +1 -1
  35. package/esm2022/filtering/cell/date-filter-cell.component.mjs +1 -1
  36. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +3 -4
  37. package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +1 -1
  38. package/esm2022/filtering/cell/string-filter-cell.component.mjs +1 -1
  39. package/esm2022/filtering/filter-row.component.mjs +6 -3
  40. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +1 -2
  41. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +1 -1
  42. package/esm2022/filtering/menu/date-filter-menu.component.mjs +1 -1
  43. package/esm2022/filtering/menu/filter-menu-dropdownlist.directive.mjs +1 -1
  44. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
  45. package/esm2022/filtering/menu/filter-menu.component.mjs +1 -1
  46. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +1 -1
  47. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +1 -1
  48. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +1 -1
  49. package/esm2022/filtering/menu/string-filter-menu.component.mjs +1 -1
  50. package/esm2022/grid.component.mjs +191 -39
  51. package/esm2022/grid.module.mjs +103 -100
  52. package/esm2022/grouping/group-header.component.mjs +39 -4
  53. package/esm2022/grouping/group-panel.component.mjs +13 -8
  54. package/esm2022/highlight/highlight-item.mjs +5 -0
  55. package/esm2022/highlight/highlight.directive.mjs +132 -0
  56. package/esm2022/index.mjs +4 -0
  57. package/esm2022/localization/messages.mjs +57 -3
  58. package/esm2022/navigation/navigation-cursor.mjs +7 -1
  59. package/esm2022/navigation/navigation-metadata.mjs +3 -1
  60. package/esm2022/navigation/navigation.service.mjs +162 -16
  61. package/esm2022/navigation/toolbar-tool-name.mjs +2 -1
  62. package/esm2022/package-metadata.mjs +2 -2
  63. package/esm2022/pdf/export-element.mjs +14 -5
  64. package/esm2022/pdf/pdf.component.mjs +3 -1
  65. package/esm2022/rendering/cell.component.mjs +466 -188
  66. package/esm2022/rendering/common/col-group.component.mjs +21 -7
  67. package/esm2022/rendering/details-expand.directive.mjs +5 -2
  68. package/esm2022/rendering/footer/footer.component.mjs +117 -54
  69. package/esm2022/rendering/header/header.component.mjs +13 -9
  70. package/esm2022/rendering/list.component.mjs +19 -12
  71. package/esm2022/rendering/loading-template.directive.mjs +1 -0
  72. package/esm2022/rendering/table-body.component.mjs +394 -174
  73. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +305 -0
  74. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-tool.directive.mjs +269 -0
  75. package/esm2022/rendering/toolbar/tools/ai-assistant/utils.mjs +74 -0
  76. package/esm2022/rendering/toolbar/tools/column-chooser-tool.directive.mjs +0 -3
  77. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +11 -9
  78. package/esm2022/rendering/toolbar/tools/select-all-command-tool.directive.mjs +93 -0
  79. package/esm2022/row-reordering/row-reorder.service.mjs +2 -2
  80. package/esm2022/row-reordering/utils.mjs +6 -4
  81. package/esm2022/selection/cell-selection.service.mjs +6 -3
  82. package/esm2022/selection/pair-set.mjs +87 -10
  83. package/esm2022/selection/selection-checkbox.directive.mjs +1 -1
  84. package/esm2022/selection/selection.directive.mjs +1 -1
  85. package/esm2022/utils.mjs +0 -4
  86. package/fesm2022/progress-kendo-angular-grid.mjs +2568 -642
  87. package/filtering/filter-row.component.d.ts +1 -0
  88. package/grid.component.d.ts +29 -1
  89. package/grid.module.d.ts +102 -99
  90. package/grouping/group-header.component.d.ts +1 -0
  91. package/grouping/group-panel.component.d.ts +1 -1
  92. package/highlight/highlight-item.d.ts +17 -0
  93. package/highlight/highlight.directive.d.ts +56 -0
  94. package/index.d.ts +8 -1
  95. package/localization/messages.d.ts +39 -3
  96. package/navigation/focus-group.d.ts +1 -1
  97. package/navigation/navigation-metadata.d.ts +2 -1
  98. package/navigation/navigation.service.d.ts +6 -0
  99. package/navigation/toolbar-tool-name.d.ts +1 -0
  100. package/package.json +22 -21
  101. package/rendering/cell.component.d.ts +30 -15
  102. package/rendering/common/col-group.component.d.ts +5 -0
  103. package/rendering/details-expand.directive.d.ts +5 -2
  104. package/rendering/footer/footer.component.d.ts +4 -1
  105. package/rendering/header/header.component.d.ts +1 -0
  106. package/rendering/list.component.d.ts +4 -1
  107. package/rendering/loading-template.directive.d.ts +1 -0
  108. package/rendering/table-body.component.d.ts +3 -1
  109. package/rendering/toolbar/tools/ai-assistant/ai-assistant.component.d.ts +49 -0
  110. package/rendering/toolbar/tools/ai-assistant/ai-tool.directive.d.ts +115 -0
  111. package/rendering/toolbar/tools/ai-assistant/utils.d.ts +124 -0
  112. package/rendering/toolbar/tools/column-chooser-tool.directive.d.ts +0 -1
  113. package/rendering/toolbar/tools/select-all-command-tool.directive.d.ts +36 -0
  114. package/row-reordering/row-reorder.service.d.ts +1 -1
  115. package/row-reordering/utils.d.ts +1 -1
  116. package/schematics/ngAdd/index.js +4 -4
  117. package/selection/cell-selection.service.d.ts +1 -0
  118. package/selection/pair-set.d.ts +36 -8
  119. package/selection/selection.directive.d.ts +1 -1
  120. package/utils.d.ts +0 -4
@@ -16,6 +16,7 @@ export declare class ColumnsContainer {
16
16
  lockedLeafColumns: QueryList<ColumnBase>;
17
17
  nonLockedLeafColumns: QueryList<ColumnBase>;
18
18
  totalLevels: number;
19
+ isStacked: boolean;
19
20
  changes: EventEmitter<any>;
20
21
  leafColumnsToRender: ColumnBase[];
21
22
  lockedColumnsToRender: ColumnBase[];
@@ -24,6 +25,7 @@ export declare class ColumnsContainer {
24
25
  hasGroupFooter: boolean;
25
26
  hasFooter: boolean;
26
27
  unlockedWidth: number;
28
+ totalColumnsWidth: number;
27
29
  constructor(columns: Function);
28
30
  refresh(): boolean;
29
31
  }
@@ -0,0 +1,21 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { GridColSize } from "./grid-col-size";
6
+ /**
7
+ * Specifies the Grid data layout display mode.
8
+ */
9
+ export type DataLayoutMode = 'columns' | 'stacked';
10
+ export interface DataLayoutModeSettings {
11
+ /**
12
+ * Specifies the Grid data layout display mode.
13
+ */
14
+ mode?: DataLayoutMode;
15
+ /**
16
+ * Configures the stacked columns layout and widths. The possible options are:
17
+ * * `number` - Sets the number of columns with default widths.
18
+ * * `Array<number | string | GridColSize>` - The array size determines the number of columns. The values represent the column widths.
19
+ */
20
+ stackedCols?: number | Array<number | string | GridColSize>;
21
+ }
@@ -0,0 +1,13 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Represents the size of a column in the stacked layout of the Grid.
7
+ */
8
+ export interface GridColSize {
9
+ /**
10
+ * Sets the width of the column. When a number is provided, it is interpreted as pixels.
11
+ */
12
+ width?: string | number;
13
+ }
@@ -8,6 +8,7 @@ import type { GridComponent } from '../grid.component';
8
8
  import { GridToolbarNavigationService } from '../rendering/toolbar/toolbar-navigation.service';
9
9
  import type { GroupBindingDirective } from '../grouping/group-scroll-binding.directive';
10
10
  import type { DataBindingDirective } from '../databinding.directive';
11
+ import { HighlightDirective } from '../highlight/highlight.directive';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * @hidden
@@ -26,6 +27,7 @@ export declare class ContextService {
26
27
  bottomToolbarNavigation: GridToolbarNavigationService;
27
28
  navigable: boolean;
28
29
  dataBindingDirective: DataBindingDirective | GroupBindingDirective;
30
+ highlightDirective: HighlightDirective;
29
31
  constructor(renderer: Renderer2, localization: LocalizationService);
30
32
  static ɵfac: i0.ɵɵFactoryDeclaration<ContextService, never>;
31
33
  static ɵprov: i0.ɵɵInjectableDeclaration<ContextService>;
@@ -21,6 +21,7 @@ export declare abstract class ToolbarToolBase implements OnInit, OnDestroy, Afte
21
21
  ngAfterViewInit(): void;
22
22
  ngOnDestroy(): void;
23
23
  onClick(_e: any): void;
24
+ get buttonElement(): HTMLElement;
24
25
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarToolBase, never>;
25
26
  static ɵdir: i0.ɵɵDirectiveDeclaration<ToolbarToolBase, never, never, {}, {}, never, never, false, never>;
26
27
  }
@@ -9,6 +9,7 @@ import { GridItem } from './grid-item.interface';
9
9
  import { DetailsService } from '../rendering/details/details.service';
10
10
  import { ColumnBase } from '../columns/column-base';
11
11
  import { DetailTemplateDirective } from '../rendering/details/detail-template.directive';
12
+ import { ContextService } from '../common/provider.service';
12
13
  import * as i0 from "@angular/core";
13
14
  /**
14
15
  * @hidden
@@ -17,9 +18,10 @@ export declare class DataMappingService {
17
18
  private rowspanService;
18
19
  private groupsService;
19
20
  private detailsService;
21
+ private ctx;
20
22
  private recalculateRowspan;
21
23
  private dataArray;
22
- constructor(rowspanService: RowspanService, groupsService: GroupsService, detailsService: DetailsService);
24
+ constructor(rowspanService: RowspanService, groupsService: GroupsService, detailsService: DetailsService, ctx: ContextService);
23
25
  private isGroup;
24
26
  /**
25
27
  * Maps the data to the Grid row items, applying rowspan and detail row logic.
package/directives.d.ts CHANGED
@@ -150,6 +150,9 @@ import { SaveCommandToolbarDirective } from "./editing/save-command-tool.directi
150
150
  import { RemoveCommandToolbarDirective } from "./editing/remove-command-tool.directive";
151
151
  import { CancelCommandToolbarDirective } from "./editing/cancel-command-tool.directive";
152
152
  import { GroupCommandToolbarDirective } from "./rendering/toolbar/tools/group-command-tool.directive";
153
+ import { HighlightDirective } from "./highlight/highlight.directive";
154
+ import { AIAssistantToolbarDirective } from "./rendering/toolbar/tools/ai-assistant/ai-tool.directive";
155
+ import { SelectAllToolbarToolComponent } from "./rendering/toolbar/tools/select-all-command-tool.directive";
153
156
  /**
154
157
  * @hidden
155
158
  *
@@ -231,19 +234,19 @@ export declare const KENDO_GRID_FOOTER_EXPORTS: readonly [typeof FooterComponent
231
234
  *
232
235
  * Utility array that contains the Body module exports
233
236
  */
234
- export declare const KENDO_GRID_BODY_EXPORTS: readonly [typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof GroupCommandToolbarDirective];
237
+ export declare const KENDO_GRID_BODY_EXPORTS: readonly [typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof AIAssistantToolbarDirective, typeof GroupCommandToolbarDirective, typeof SelectAllToolbarToolComponent];
235
238
  /**
236
239
  * @hidden
237
240
  *
238
241
  * Utility array that contains the Grid module declarations
239
242
  */
240
- export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, typeof ListComponent, typeof ToolbarComponent, typeof LocalizedMessagesDirective, typeof CustomMessagesComponent, typeof DataBindingDirective, typeof ToolbarTemplateDirective, typeof SelectionDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GroupBindingDirective, typeof GridMarqueeDirective, typeof GridSpacerComponent, typeof GridToolbarFocusableDirective, typeof StatusBarComponent, typeof StatusBarTemplateDirective, typeof GridClipboardDirective, typeof FormComponent, typeof DialogFormComponent, typeof FormFormFieldComponent, typeof UndoRedoDirective];
243
+ export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, typeof ListComponent, typeof ToolbarComponent, typeof LocalizedMessagesDirective, typeof CustomMessagesComponent, typeof DataBindingDirective, typeof ToolbarTemplateDirective, typeof SelectionDirective, typeof HighlightDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GroupBindingDirective, typeof GridMarqueeDirective, typeof GridSpacerComponent, typeof GridToolbarFocusableDirective, typeof StatusBarComponent, typeof StatusBarTemplateDirective, typeof GridClipboardDirective, typeof FormComponent, typeof DialogFormComponent, typeof FormFormFieldComponent, typeof UndoRedoDirective];
241
244
  /**
242
245
  * @hidden
243
246
  *
244
247
  * Utility array that contains the Grid module exports
245
248
  */
246
- export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof GroupCommandToolbarDirective, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective];
249
+ export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof HighlightDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof AIAssistantToolbarDirective, typeof GroupCommandToolbarDirective, typeof SelectAllToolbarToolComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective];
247
250
  /**
248
251
  * @hidden
249
252
  *
@@ -268,4 +271,4 @@ export declare const KENDO_GRID_PDF_EXPORT: readonly [typeof PDFComponent, typeo
268
271
  * export class AppModule {}
269
272
  * ```
270
273
  */
271
- export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof GroupCommandToolbarDirective, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective, typeof ExcelComponent, typeof ExcelCommandDirective, typeof ExcelCommandToolbarDirective, typeof ExcelColumnComponent, typeof ExcelColumnGroupComponent, typeof ExcelFooterTemplateDirective, typeof ExcelGroupFooterTemplateDirective, typeof ExcelGroupHeaderColumnTemplateDirective, typeof ExcelGroupHeaderTemplateDirective, typeof PDFComponent, typeof PDFMarginComponent, typeof PDFCommandDirective, typeof PDFTemplateDirective, typeof PDFCommandToolbarDirective];
274
+ export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof HighlightDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof AIAssistantToolbarDirective, typeof GroupCommandToolbarDirective, typeof SelectAllToolbarToolComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective, typeof ExcelComponent, typeof ExcelCommandDirective, typeof ExcelCommandToolbarDirective, typeof ExcelColumnComponent, typeof ExcelColumnGroupComponent, typeof ExcelFooterTemplateDirective, typeof ExcelGroupFooterTemplateDirective, typeof ExcelGroupHeaderColumnTemplateDirective, typeof ExcelGroupHeaderTemplateDirective, typeof PDFComponent, typeof PDFMarginComponent, typeof PDFCommandDirective, typeof PDFTemplateDirective, typeof PDFCommandToolbarDirective];
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { ChangeDetectorRef, DoCheck, NgZone } from '@angular/core';
5
+ import { AfterViewInit, ChangeDetectorRef, DoCheck, NgZone } from '@angular/core';
6
6
  import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
7
7
  import { SelectionService } from '../selection/selection.service';
8
8
  import { EditService } from '../editing/edit.service';
@@ -12,7 +12,7 @@ import * as i0 from "@angular/core";
12
12
  /**
13
13
  * @hidden
14
14
  */
15
- export declare abstract class ToolbarEditingToolBase extends ToolbarToolBase implements DoCheck {
15
+ export declare abstract class ToolbarEditingToolBase extends ToolbarToolBase implements AfterViewInit, DoCheck {
16
16
  host: ToolBarButtonComponent;
17
17
  commandName: string;
18
18
  ctx: ContextService;
@@ -21,6 +21,7 @@ export declare abstract class ToolbarEditingToolBase extends ToolbarToolBase imp
21
21
  private isEdited;
22
22
  private lastToolState;
23
23
  constructor(host: ToolBarButtonComponent, commandName: string, ctx: ContextService, zone: NgZone, cdr: ChangeDetectorRef, editService?: EditService, selection?: SelectionService);
24
+ ngAfterViewInit(): void;
24
25
  ngDoCheck(): void;
25
26
  get lastSelectionIndex(): number;
26
27
  get isSelectionPresent(): boolean;
@@ -10,6 +10,7 @@ import { LocalDataChangesService } from '../editing/local-data-changes.service';
10
10
  import { RemoveConfirmationCallback } from '../common/remove-confirmation';
11
11
  import { DialogService } from '@progress/kendo-angular-dialog';
12
12
  import { LocalizationService } from '@progress/kendo-angular-l10n';
13
+ import { NavigationService } from '../navigation/navigation.service';
13
14
  import * as i0 from "@angular/core";
14
15
  /**
15
16
  * @hidden
@@ -37,6 +38,7 @@ export declare abstract class EditingDirectiveBase implements OnInit, OnDestroy
37
38
  protected subscriptions: Subscription;
38
39
  protected defaultEditService: EditService;
39
40
  protected userEditService: EditService;
41
+ protected navigationService: NavigationService;
40
42
  protected abstract createModel(args: any): any;
41
43
  protected abstract saveModel(args: any): any;
42
44
  constructor(grid: GridComponent, localDataChangesService: LocalDataChangesService);
@@ -55,6 +57,7 @@ export declare abstract class EditingDirectiveBase implements OnInit, OnDestroy
55
57
  protected removeHandler({ dataItem }: any): void;
56
58
  protected onStateChange(): void;
57
59
  protected closeEditor(rowIndex?: number): void;
60
+ private returnFocusToGrid;
58
61
  static ɵfac: i0.ɵɵFactoryDeclaration<EditingDirectiveBase, never>;
59
62
  static ɵdir: i0.ɵɵDirectiveDeclaration<EditingDirectiveBase, "[kendoGridEditingDirectiveBase]", never, { "editService": { "alias": "editService"; "required": false; }; "removeConfirmation": { "alias": "removeConfirmation"; "required": false; }; }, {}, never, never, false, never>;
60
63
  }
@@ -12,7 +12,7 @@ import * as i0 from "@angular/core";
12
12
  * Represent the directive that manages in-cell editing operations in the Grid when using Reactive Forms ([see example]({% slug editing_directives_grid %}#toc-in-cell-editing)).
13
13
  *
14
14
  * @example
15
- * ```typescript
15
+ * ```html
16
16
  * <kendo-grid [data]="data" kendoGridInCellEditing></kendo-grid>
17
17
  * ```
18
18
  * @remarks
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  * Represents the directive that manages editing operations in the Grid when using Reactive Forms ([see example](slug:editing_directives_grid#toc-reactive-editing-directive)).
12
12
  *
13
13
  * @example
14
- * ```typescript
14
+ * ```html
15
15
  * <kendo-grid [data]="data" kendoGridReactiveEditing></kendo-grid>
16
16
  * ```
17
17
  * @remarks
@@ -10,7 +10,7 @@ import * as i0 from "@angular/core";
10
10
  * Represents the directive that manages editing operations in the Grid when using Template-Driven Angular Forms ([see example]({% slug editing_directives_grid %}#toc-template-editing-directive)).
11
11
  *
12
12
  * @example
13
- * ```typescript
13
+ * ```html
14
14
  * <kendo-grid [data]="data" kendoGridTemplateEditing></kendo-grid>
15
15
  * ```
16
16
  * @remarks
@@ -26,13 +26,12 @@ import { hasFilter, hasSort, hasLock, hasStick, hasColumnChooser, hasAutoSizeCol
26
26
  import { ColumnMenuService } from '../column-menu/column-menu.service';
27
27
  import { ColumnListComponent } from '../column-menu/column-list.component';
28
28
  import { ContextService } from '../common/provider.service';
29
- import { replaceMessagePlaceholder } from '../utils';
30
29
  import { AdaptiveService } from '@progress/kendo-angular-utils';
31
30
  import { SortService } from '../common/sort.service';
32
31
  import { ColumnInfoService } from '../common/column-info.service';
33
32
  import { normalize } from '../columns/sort-settings';
34
33
  import { directions } from '../rendering/toolbar/tools/sort-toolbar-tool.component';
35
- import { EventsOutsideAngularDirective } from '@progress/kendo-angular-common';
34
+ import { EventsOutsideAngularDirective, replaceMessagePlaceholder } from '@progress/kendo-angular-common';
36
35
  import { FormComponent } from '../editing/form';
37
36
  import { GroupToolbarToolComponent } from '../rendering/toolbar/tools/group-toolbar-tool.component';
38
37
  import * as i0 from "@angular/core";
@@ -93,7 +93,7 @@ export class ColumnChooserComponent {
93
93
  const popupAriaElement = popupElement.querySelector('.k-popup');
94
94
  this.ngZone.runOutsideAngular(() => {
95
95
  this.escapeListener = this.renderer.listen(popupAriaElement, 'keydown', (e) => {
96
- if (e.keyCode === Keys.Escape) {
96
+ if (e.code === Keys.Escape) {
97
97
  this.close(true);
98
98
  }
99
99
  });
@@ -6,7 +6,7 @@ import { Component, HostBinding, Input, ElementRef, NgZone, Renderer2, Output, E
6
6
  import { ColumnMenuService } from './column-menu.service';
7
7
  import { ColumnListKeyboardNavigation } from './column-list-kb-nav.service';
8
8
  import { ColumnMenuChooserItemCheckedDirective } from './column-chooser-item-checked.directive';
9
- import { Keys } from '@progress/kendo-angular-common';
9
+ import { Keys, normalizeNumpadKeys } from '@progress/kendo-angular-common';
10
10
  import { Subscription } from 'rxjs';
11
11
  import { NgFor, NgIf, NgClass } from '@angular/common';
12
12
  import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
@@ -157,13 +157,14 @@ export class ColumnListComponent {
157
157
  }
158
158
  }
159
159
  onKeydown = (e) => {
160
- if (e.keyCode !== Keys.Tab) {
160
+ const code = normalizeNumpadKeys(e);
161
+ if (code !== Keys.Tab) {
161
162
  e.preventDefault();
162
163
  }
163
- if (e.key === 'Tab' && !e.shiftKey && this.autoSync) {
164
+ if (code === 'Tab' && !e.shiftKey && this.autoSync) {
164
165
  e.preventDefault();
165
166
  }
166
- if (e.key === 'Tab' && e.shiftKey) {
167
+ if (code === 'Tab' && e.shiftKey) {
167
168
  this.ngZone.run(() => {
168
169
  if (e.target.matches('.k-column-list-item')) {
169
170
  e.preventDefault();
@@ -171,13 +172,13 @@ export class ColumnListComponent {
171
172
  }
172
173
  });
173
174
  }
174
- if (e.keyCode === Keys.ArrowDown) {
175
+ if (code === Keys.ArrowDown) {
175
176
  this.listNavigationService.next();
176
177
  }
177
- else if (e.keyCode === Keys.ArrowUp) {
178
+ else if (code === Keys.ArrowUp) {
178
179
  this.listNavigationService.prev();
179
180
  }
180
- else if (e.keyCode === Keys.Space && e.target.classList.contains('k-column-list-item')) {
181
+ else if (code === Keys.Space && e.target.classList.contains('k-column-list-item')) {
181
182
  this.listNavigationService.toggleCheckedState();
182
183
  }
183
184
  };
@@ -125,7 +125,7 @@ export class ColumnMenuItemDirective {
125
125
  }
126
126
  }
127
127
  onTab = (e) => {
128
- if (e.keyCode !== Keys.Tab) {
128
+ if (e.code !== Keys.Tab) {
129
129
  return;
130
130
  }
131
131
  if (this.isFirst && e.shiftKey && e.target === this.columnMenuItems[0]) {
@@ -9,7 +9,6 @@ import { SinglePopupService } from '../common/single-popup.service';
9
9
  import { ColumnMenuService } from './column-menu.service';
10
10
  import { filtersByField } from '../filtering/base-filter-cell.component';
11
11
  import { hasFilter, hasSort, hasLock, hasStick, hasColumnChooser, hasAutoSizeColumn, hasPosition, hasAutoSizeAllColumns } from './utils';
12
- import { replaceMessagePlaceholder } from '../utils';
13
12
  import { ContextService } from '../common/provider.service';
14
13
  import { ColumnMenuErrorMessages } from '../common/error-messages';
15
14
  import { moreVerticalIcon, columnsIcon, filterIcon, slidersIcon } from '@progress/kendo-svg-icons';
@@ -31,6 +30,7 @@ import { ColumnMenuContainerComponent } from './column-menu-container.component'
31
30
  import { NgClass, NgTemplateOutlet, NgIf } from '@angular/common';
32
31
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
33
32
  import { AdaptiveGridService } from '../common/adaptiveness.service';
33
+ import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
34
34
  import * as i0 from "@angular/core";
35
35
  import * as i1 from "./../navigation/navigation.service";
36
36
  import * as i2 from "../common/single-popup.service";
@@ -14,16 +14,16 @@ import * as i1 from "../common/id.service";
14
14
  /**
15
15
  * @hidden
16
16
  */
17
- export const isSpanColumn = column => column.isSpanColumn;
17
+ export const isSpanColumn = column => column?.isSpanColumn;
18
18
  /**
19
19
  * @hidden
20
20
  */
21
- export const isCheckboxColumn = column => column.isCheckboxColumn;
21
+ export const isCheckboxColumn = column => column?.isCheckboxColumn;
22
22
  /**
23
23
  * @hidden
24
24
  */
25
- export const isRowReorderColumn = column => column.isRowReorderColumn;
26
- const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
25
+ export const isRowReorderColumn = column => column?.isRowReorderColumn;
26
+ const isColumnContainer = column => column?.isColumnGroup || isSpanColumn(column);
27
27
  let columnId = 0;
28
28
  /**
29
29
  * The base class for the column components of the Grid.
@@ -20,7 +20,7 @@ import * as i2 from "../common/id.service";
20
20
  * @hidden
21
21
  */
22
22
  export function isColumnComponent(column) {
23
- return isPresent(column.field);
23
+ return isPresent(column?.field);
24
24
  }
25
25
  /**
26
26
  * Represents a column in the Grid.
@@ -26,6 +26,7 @@ export class ColumnsContainer {
26
26
  lockedLeafColumns = new QueryList();
27
27
  nonLockedLeafColumns = new QueryList();
28
28
  totalLevels = 0;
29
+ isStacked = false;
29
30
  changes = new EventEmitter();
30
31
  leafColumnsToRender = [];
31
32
  lockedColumnsToRender = [];
@@ -34,6 +35,7 @@ export class ColumnsContainer {
34
35
  hasGroupFooter = false;
35
36
  hasFooter = false;
36
37
  unlockedWidth = 0;
38
+ totalColumnsWidth = 0;
37
39
  constructor(columns) {
38
40
  this.columns = columns;
39
41
  }
@@ -77,6 +79,7 @@ export class ColumnsContainer {
77
79
  else {
78
80
  column.leafIndex = leafIndex++;
79
81
  }
82
+ this.totalColumnsWidth += column.width || 0;
80
83
  }
81
84
  containerColumns.push(column);
82
85
  allColumns.push(column);
@@ -26,7 +26,7 @@ export class ColumnInfoService {
26
26
  return this.columnsContainer.nonLockedLeafColumns;
27
27
  }
28
28
  get isLocked() {
29
- return this.lockedLeafColumns.length > 0;
29
+ return this.lockedLeafColumns.length > 0 && !this.columnsContainer.isStacked;
30
30
  }
31
31
  get totalLevels() {
32
32
  return this.columnsContainer.totalLevels;
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -24,6 +24,7 @@ export class ContextService {
24
24
  bottomToolbarNavigation;
25
25
  navigable;
26
26
  dataBindingDirective;
27
+ highlightDirective;
27
28
  constructor(renderer, localization) {
28
29
  this.renderer = renderer;
29
30
  this.localization = localization;
@@ -5,7 +5,7 @@
5
5
  import { ChangeDetectorRef, Directive, Inject, NgZone } from '@angular/core';
6
6
  import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
7
7
  import { Subscription } from 'rxjs';
8
- import { cancelIcon, columnsIcon, fileExcelIcon, filePdfIcon, pencilIcon, plusIcon, saveIcon, trashIcon } from '@progress/kendo-svg-icons';
8
+ import { cancelIcon, columnsIcon, fileExcelIcon, filePdfIcon, pencilIcon, plusIcon, saveIcon, sparklesIcon, trashIcon } from '@progress/kendo-svg-icons';
9
9
  import { isPresent } from '@progress/kendo-angular-common';
10
10
  import { ContextService } from './provider.service';
11
11
  import { ToolbarToolName } from '../navigation/toolbar-tool-name';
@@ -20,7 +20,8 @@ const ICONS_MAP = {
20
20
  add: { svgIcon: plusIcon, icon: 'plus' },
21
21
  excelExport: { svgIcon: fileExcelIcon, icon: 'file-excel' },
22
22
  pdfExport: { svgIcon: filePdfIcon, icon: 'file-pdf' },
23
- columns: { svgIcon: columnsIcon, icon: 'columns' }
23
+ columns: { svgIcon: columnsIcon, icon: 'columns' },
24
+ aiAssistant: { svgIcon: sparklesIcon, icon: 'sparkles' }
24
25
  };
25
26
  /**
26
27
  * @hidden
@@ -69,6 +70,9 @@ export class ToolbarToolBase {
69
70
  this.clickSub.unsubscribe();
70
71
  }
71
72
  onClick(_e) { }
73
+ get buttonElement() {
74
+ return this.host.getButton();
75
+ }
72
76
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarToolBase, deps: [{ token: i1.ToolBarButtonComponent }, { token: 'command' }, { token: i2.ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
73
77
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarToolBase, ngImport: i0 });
74
78
  }
@@ -6,10 +6,13 @@ import { Injectable } from '@angular/core';
6
6
  import { RowspanService } from '../rendering/rowspan.service';
7
7
  import { GroupsService } from '../grouping/groups.service';
8
8
  import { DetailsService } from '../rendering/details/details.service';
9
+ import { ContextService } from '../common/provider.service';
10
+ import { isPresent } from '@progress/kendo-angular-common';
9
11
  import * as i0 from "@angular/core";
10
12
  import * as i1 from "../rendering/rowspan.service";
11
13
  import * as i2 from "../grouping/groups.service";
12
14
  import * as i3 from "../rendering/details/details.service";
15
+ import * as i4 from "../common/provider.service";
13
16
  /**
14
17
  * @hidden
15
18
  */
@@ -17,12 +20,14 @@ export class DataMappingService {
17
20
  rowspanService;
18
21
  groupsService;
19
22
  detailsService;
23
+ ctx;
20
24
  recalculateRowspan = true;
21
25
  dataArray = null;
22
- constructor(rowspanService, groupsService, detailsService) {
26
+ constructor(rowspanService, groupsService, detailsService, ctx) {
23
27
  this.rowspanService = rowspanService;
24
28
  this.groupsService = groupsService;
25
29
  this.detailsService = detailsService;
30
+ this.ctx = ctx;
26
31
  }
27
32
  isGroup(item) {
28
33
  return item.type === 'group';
@@ -52,8 +57,14 @@ export class DataMappingService {
52
57
  dataItem: item
53
58
  }, column, i, data) : 1;
54
59
  }
60
+ if (isPresent(this.ctx.highlightDirective)) {
61
+ cell.isHighlighted = this.ctx.highlightDirective.isCellHighlighted(item, column, i);
62
+ }
55
63
  item.cells.push(cell);
56
64
  }
65
+ if (isPresent(this.ctx.highlightDirective)) {
66
+ item.isHighlighted = this.ctx.highlightDirective.isRowHighlighted(item);
67
+ }
57
68
  }
58
69
  result.push(item);
59
70
  }
@@ -117,9 +128,9 @@ export class DataMappingService {
117
128
  }
118
129
  return rowspan;
119
130
  }
120
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService, deps: [{ token: i1.RowspanService }, { token: i2.GroupsService }, { token: i3.DetailsService }], target: i0.ɵɵFactoryTarget.Injectable });
131
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService, deps: [{ token: i1.RowspanService }, { token: i2.GroupsService }, { token: i3.DetailsService }, { token: i4.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
121
132
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService });
122
133
  }
123
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService, decorators: [{
124
135
  type: Injectable
125
- }], ctorParameters: function () { return [{ type: i1.RowspanService }, { type: i2.GroupsService }, { type: i3.DetailsService }]; } });
136
+ }], ctorParameters: function () { return [{ type: i1.RowspanService }, { type: i2.GroupsService }, { type: i3.DetailsService }, { type: i4.ContextService }]; } });
@@ -158,6 +158,9 @@ import { SaveCommandToolbarDirective } from "./editing/save-command-tool.directi
158
158
  import { RemoveCommandToolbarDirective } from "./editing/remove-command-tool.directive";
159
159
  import { CancelCommandToolbarDirective } from "./editing/cancel-command-tool.directive";
160
160
  import { GroupCommandToolbarDirective } from "./rendering/toolbar/tools/group-command-tool.directive";
161
+ import { HighlightDirective } from "./highlight/highlight.directive";
162
+ import { AIAssistantToolbarDirective } from "./rendering/toolbar/tools/ai-assistant/ai-tool.directive";
163
+ import { SelectAllToolbarToolComponent } from "./rendering/toolbar/tools/select-all-command-tool.directive";
161
164
  /**
162
165
  * @hidden
163
166
  *
@@ -386,7 +389,9 @@ export const KENDO_GRID_BODY_EXPORTS = [
386
389
  RowReorderColumnComponent,
387
390
  SortCommandToolbarDirective,
388
391
  FilterCommandToolbarDirective,
389
- GroupCommandToolbarDirective
392
+ AIAssistantToolbarDirective,
393
+ GroupCommandToolbarDirective,
394
+ SelectAllToolbarToolComponent
390
395
  ];
391
396
  /**
392
397
  * @hidden
@@ -402,6 +407,7 @@ export const KENDO_GRID_DECLARATIONS = [
402
407
  DataBindingDirective,
403
408
  ToolbarTemplateDirective,
404
409
  SelectionDirective,
410
+ HighlightDirective,
405
411
  TemplateEditingDirective,
406
412
  ReactiveEditingDirective,
407
413
  InCellEditingDirective,
@@ -433,6 +439,7 @@ export const KENDO_GRID_EXPORTS = [
433
439
  StatusBarTemplateDirective,
434
440
  DataBindingDirective,
435
441
  SelectionDirective,
442
+ HighlightDirective,
436
443
  CustomMessagesComponent,
437
444
  GroupBindingDirective,
438
445
  TemplateEditingDirective,
@@ -10,7 +10,7 @@ import { KENDO_CHECKBOX, KENDO_FORMFIELD, KENDO_NUMERICTEXTBOX, KENDO_TEXTBOX }
10
10
  import { KENDO_LABELS } from '@progress/kendo-angular-label';
11
11
  import { ReactiveFormsModule } from '@angular/forms';
12
12
  import { LocalizationService } from '@progress/kendo-angular-l10n';
13
- import { replaceMessagePlaceholder } from '../../utils';
13
+ import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@progress/kendo-angular-l10n";
16
16
  import * as i2 from "@angular/forms";
@@ -89,7 +89,7 @@ export class FormFormFieldComponent {
89
89
  <kendo-formerror *ngFor="let err of control?.formControl?.errors | keyvalue">{{control.errors ? control.errors[err.key] : messageFor('formValidationError', err.key, control.name)}}</kendo-formerror>
90
90
  </ng-container>
91
91
  </kendo-formfield>
92
- `, isInline: true, dependencies: [{ kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: i3.FloatingLabelComponent, selector: "kendo-floatinglabel", inputs: ["labelCssStyle", "labelCssClass", "id", "text", "optional"], outputs: ["positionChange"], exportAs: ["kendoFloatingLabel"] }, { kind: "component", type: i4.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { kind: "component", type: i4.HintComponent, selector: "kendo-formhint", inputs: ["align"] }, { kind: "component", type: i4.ErrorComponent, selector: "kendo-formerror", inputs: ["align"] }, { kind: "component", type: i4.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: i4.CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: i5.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }] });
92
+ `, isInline: true, dependencies: [{ kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: i3.FloatingLabelComponent, selector: "kendo-floatinglabel", inputs: ["labelCssStyle", "labelCssClass", "id", "text", "optional"], outputs: ["positionChange"], exportAs: ["kendoFloatingLabel"] }, { kind: "component", type: i4.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors", "colSpan"] }, { kind: "component", type: i4.HintComponent, selector: "kendo-formhint", inputs: ["align"] }, { kind: "component", type: i4.ErrorComponent, selector: "kendo-formerror", inputs: ["align"] }, { kind: "component", type: i4.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: i4.CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: i5.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }] });
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFormFieldComponent, decorators: [{
95
95
  type: Component,