@progress/kendo-angular-grid 19.3.0-develop.2 → 19.3.0-develop.21

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 (62) hide show
  1. package/aggregates/status-bar.component.d.ts +1 -0
  2. package/common/provider.service.d.ts +2 -0
  3. package/data/data-mapping.service.d.ts +3 -1
  4. package/directives.d.ts +6 -4
  5. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +1 -2
  6. package/esm2022/aggregates/status-bar.component.mjs +5 -1
  7. package/esm2022/column-menu/column-list.component.mjs +10 -10
  8. package/esm2022/column-menu/column-menu.component.mjs +1 -1
  9. package/esm2022/common/provider.service.mjs +1 -0
  10. package/esm2022/common/toolbar-tool-base.directive.mjs +3 -2
  11. package/esm2022/data/data-mapping.service.mjs +14 -3
  12. package/esm2022/directives.mjs +5 -0
  13. package/esm2022/editing/form/form-formfield.component.mjs +2 -2
  14. package/esm2022/editing-directives/in-cell-editing.directive.mjs +1 -0
  15. package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +1 -1
  16. package/esm2022/filtering/cell/date-filter-cell.component.mjs +1 -1
  17. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +1 -2
  18. package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +1 -1
  19. package/esm2022/filtering/cell/string-filter-cell.component.mjs +1 -1
  20. package/esm2022/filtering/filter-row.component.mjs +1 -1
  21. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +1 -2
  22. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +1 -1
  23. package/esm2022/filtering/menu/date-filter-menu.component.mjs +1 -1
  24. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
  25. package/esm2022/filtering/menu/filter-menu.component.mjs +1 -1
  26. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +1 -1
  27. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +1 -1
  28. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +1 -1
  29. package/esm2022/filtering/menu/string-filter-menu.component.mjs +1 -1
  30. package/esm2022/grid.component.mjs +79 -5
  31. package/esm2022/grid.module.mjs +102 -100
  32. package/esm2022/grouping/group-panel.component.mjs +7 -3
  33. package/esm2022/highlight/highlight-item.mjs +5 -0
  34. package/esm2022/highlight/highlight.directive.mjs +132 -0
  35. package/esm2022/index.mjs +3 -0
  36. package/esm2022/localization/messages.mjs +55 -1
  37. package/esm2022/navigation/toolbar-tool-name.mjs +2 -1
  38. package/esm2022/package-metadata.mjs +2 -2
  39. package/esm2022/rendering/list.component.mjs +1 -1
  40. package/esm2022/rendering/table-body.component.mjs +8 -4
  41. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +286 -0
  42. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-tool.directive.mjs +269 -0
  43. package/esm2022/rendering/toolbar/tools/ai-assistant/utils.mjs +47 -0
  44. package/esm2022/selection/pair-set.mjs +87 -10
  45. package/esm2022/utils.mjs +0 -4
  46. package/fesm2022/progress-kendo-angular-grid.mjs +1003 -86
  47. package/grid.component.d.ts +8 -1
  48. package/grid.module.d.ts +101 -99
  49. package/highlight/highlight-item.d.ts +17 -0
  50. package/highlight/highlight.directive.d.ts +56 -0
  51. package/index.d.ts +4 -0
  52. package/localization/messages.d.ts +37 -1
  53. package/navigation/toolbar-tool-name.d.ts +1 -0
  54. package/package.json +22 -21
  55. package/rendering/cell.component.d.ts +2 -2
  56. package/rendering/table-body.component.d.ts +1 -0
  57. package/rendering/toolbar/tools/ai-assistant/ai-assistant.component.d.ts +49 -0
  58. package/rendering/toolbar/tools/ai-assistant/ai-tool.directive.d.ts +119 -0
  59. package/rendering/toolbar/tools/ai-assistant/utils.d.ts +110 -0
  60. package/schematics/ngAdd/index.js +4 -4
  61. package/selection/pair-set.d.ts +36 -8
  62. package/utils.d.ts +0 -4
@@ -6,15 +6,15 @@ import * as i0 from '@angular/core';
6
6
  import { EventEmitter, Injectable, SecurityContext, InjectionToken, Optional, Inject, Directive, SkipSelf, Input, isDevMode, QueryList, Component, ContentChildren, ContentChild, forwardRef, Host, Output, HostBinding, Pipe, TemplateRef, ChangeDetectionStrategy, ViewChildren, ViewChild, Self, NgZone, HostListener, ElementRef, ViewContainerRef, ViewEncapsulation, inject, Injector, NgModule } from '@angular/core';
7
7
  import { merge, of, Subject, zip as zip$1, from, Subscription, interval, fromEvent, Observable, BehaviorSubject } from 'rxjs';
8
8
  import * as i1$3 from '@progress/kendo-angular-common';
9
- import { isDocumentAvailable, Keys, isPresent as isPresent$1, anyChanged, TemplateContextDirective, DraggableDirective, EventsOutsideAngularDirective, isChanged as isChanged$1, KendoInput, guid, closest as closest$1, hasObservers, ResizeSensorComponent, closestInScope as closestInScope$1, isFocusable as isFocusable$1, shouldShowValidationUI, WatermarkOverlayComponent, PreventableEvent as PreventableEvent$1, ResizeBatchService } from '@progress/kendo-angular-common';
9
+ import { isDocumentAvailable, Keys, isPresent as isPresent$1, anyChanged, TemplateContextDirective, DraggableDirective, EventsOutsideAngularDirective, replaceMessagePlaceholder, isChanged as isChanged$1, KendoInput, guid, closest as closest$1, hasObservers, ResizeSensorComponent, closestInScope as closestInScope$1, isFocusable as isFocusable$1, getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent, PreventableEvent as PreventableEvent$1, ResizeBatchService } from '@progress/kendo-angular-common';
10
10
  import * as i1 from '@angular/platform-browser';
11
11
  import * as i1$1 from '@progress/kendo-angular-icons';
12
12
  import { IconWrapperComponent, IconsService, KENDO_ICONS } from '@progress/kendo-angular-icons';
13
- import { plusIcon, cancelIcon, lockIcon, unlockIcon, caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, arrowLeftIcon, arrowRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterClearIcon, filterIcon, checkIcon, arrowRotateCcwIcon, columnsIcon, pencilIcon, saveIcon, trashIcon, fileExcelIcon, filePdfIcon, chevronUpIcon, chevronDownIcon, chevronRightIcon, displayInlineFlexIcon, maxWidthIcon, stickIcon, unstickIcon, setColumnPositionIcon, slidersIcon, moreVerticalIcon, reorderIcon, minusIcon, insertMiddleIcon, xIcon, xCircleIcon, plusCircleIcon, chevronLeftIcon, undoIcon, redoIcon, arrowsSwapIcon, groupIcon } from '@progress/kendo-svg-icons';
13
+ import { plusIcon, cancelIcon, lockIcon, unlockIcon, caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, arrowLeftIcon, arrowRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterClearIcon, filterIcon, checkIcon, arrowRotateCcwIcon, columnsIcon, pencilIcon, saveIcon, trashIcon, fileExcelIcon, filePdfIcon, sparklesIcon, chevronUpIcon, chevronDownIcon, chevronRightIcon, displayInlineFlexIcon, maxWidthIcon, stickIcon, unstickIcon, setColumnPositionIcon, slidersIcon, moreVerticalIcon, reorderIcon, minusIcon, insertMiddleIcon, xIcon, xCircleIcon, plusCircleIcon, chevronLeftIcon, tableWizardIcon, undoIcon, redoIcon, arrowsSwapIcon, groupIcon } from '@progress/kendo-svg-icons';
14
14
  import { switchMap, take, map, filter, takeUntil, switchMapTo, delay, tap, throttleTime, debounceTime, distinctUntilChanged, skip, auditTime, bufferCount, flatMap } from 'rxjs/operators';
15
15
  import * as i1$2 from '@progress/kendo-angular-l10n';
16
16
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
17
- import * as i51 from '@progress/kendo-angular-pager';
17
+ import * as i52 from '@progress/kendo-angular-pager';
18
18
  import { PagerContextService, PagerNavigationService, PagerTemplateDirective, KENDO_PAGER } from '@progress/kendo-angular-pager';
19
19
  import { orderBy, isCompositeFilterDescriptor, groupBy, process, filterBy } from '@progress/kendo-data-query';
20
20
  import { NgFor, NgIf, NgTemplateOutlet, NgSwitch, NgSwitchCase, NgClass, NgStyle, NgSwitchDefault, KeyValuePipe } from '@angular/common';
@@ -23,7 +23,7 @@ import * as i1$4 from '@progress/kendo-angular-intl';
23
23
  import * as i2 from '@progress/kendo-angular-popup';
24
24
  import { PopupService } from '@progress/kendo-angular-popup';
25
25
  import * as i1$6 from '@progress/kendo-angular-buttons';
26
- import { ChipListComponent, ChipComponent, ButtonComponent, ButtonDirective, Button, KENDO_BUTTON } from '@progress/kendo-angular-buttons';
26
+ import { ChipListComponent, ChipComponent, ButtonComponent, Button, KENDO_BUTTON, ButtonDirective } from '@progress/kendo-angular-buttons';
27
27
  import * as i1$5 from '@progress/kendo-angular-dropdowns';
28
28
  import { DropDownListComponent, AutoCompleteComponent } from '@progress/kendo-angular-dropdowns';
29
29
  import * as i4 from '@angular/forms';
@@ -34,7 +34,7 @@ import * as i4$1 from '@progress/kendo-angular-inputs';
34
34
  import { TextBoxComponent, NumericTextBoxComponent, NumericTextBoxCustomMessagesComponent, RadioButtonComponent, CheckBoxComponent, KENDO_FORMFIELD, KENDO_TEXTBOX, KENDO_NUMERICTEXTBOX, KENDO_CHECKBOX } from '@progress/kendo-angular-inputs';
35
35
  import * as i5 from '@progress/kendo-angular-dateinputs';
36
36
  import { DatePickerComponent, DatePickerCustomMessagesComponent, KENDO_DATEPICKER, CalendarDOMService, CenturyViewService, DecadeViewService, MonthViewService, YearViewService, NavigationService as NavigationService$1 } from '@progress/kendo-angular-dateinputs';
37
- import * as i52 from '@progress/kendo-angular-toolbar';
37
+ import * as i53 from '@progress/kendo-angular-toolbar';
38
38
  import { KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';
39
39
  import { trigger, state, style, transition, animate } from '@angular/animations';
40
40
  import { TabStripComponent, TabStripTabComponent, TabTitleDirective, TabContentDirective } from '@progress/kendo-angular-layout';
@@ -47,7 +47,10 @@ import { ActionSheetComponent, ActionSheetViewComponent, ActionSheetHeaderTempla
47
47
  import * as i3 from '@progress/kendo-angular-label';
48
48
  import { KENDO_LABELS } from '@progress/kendo-angular-label';
49
49
  import * as i1$7 from '@progress/kendo-angular-dialog';
50
- import { DialogContentBase, DialogActionsComponent, DialogService, DialogContainerService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
50
+ import { DialogContentBase, DialogActionsComponent, WindowContainerDirective, DialogService, DialogContainerService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
51
+ import { AIPromptComponent, AIPromptCustomMessagesComponent, PromptViewComponent, OutputViewComponent, AIPromptOutputTemplateDirective, AIPromptOutputBodyTemplateDirective } from '@progress/kendo-angular-conversational-ui';
52
+ import * as i1$8 from '@angular/common/http';
53
+ import { HttpHeaders, HttpRequest } from '@angular/common/http';
51
54
 
52
55
  /* eslint-disable no-bitwise */
53
56
  /**
@@ -439,10 +442,6 @@ const cancelAnimationFrame = wnd.cancelAnimationFrame || wnd.msCancelRequestAnim
439
442
  * @hidden
440
443
  */
441
444
  const nodesToArray = (nodes) => [].slice.call(nodes);
442
- /**
443
- * @hidden
444
- */
445
- const replaceMessagePlaceholder = (message, name, value) => (message ?? '').replace(new RegExp(`{\\s*${name}\\s*}`, 'g'), value);
446
445
  /**
447
446
  * @hidden
448
447
  */
@@ -869,6 +868,7 @@ class ContextService {
869
868
  bottomToolbarNavigation;
870
869
  navigable;
871
870
  dataBindingDirective;
871
+ highlightDirective;
872
872
  constructor(renderer, localization) {
873
873
  this.renderer = renderer;
874
874
  this.localization = localization;
@@ -4125,12 +4125,12 @@ class NavigationService {
4125
4125
  const offset = direction === 'Up' ? Math.abs(this.lastCellRowIndex - this.activeRowIndex) : (this.activeRowIndex + cellRowspan - this.lastCellRowIndex - 1);
4126
4126
  return offset;
4127
4127
  }
4128
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: i51.PagerContextService }, { token: ScrollRequestService }, { token: GroupsService }, { token: DetailsService }, { token: FocusRoot }, { token: EditService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: ColumnResizingService }, { token: FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
4128
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: i52.PagerContextService }, { token: ScrollRequestService }, { token: GroupsService }, { token: DetailsService }, { token: FocusRoot }, { token: EditService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: ColumnResizingService }, { token: FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
4129
4129
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
4130
4130
  }
4131
4131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
4132
4132
  type: Injectable
4133
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: DomEventsService }, { type: i51.PagerContextService }, { type: ScrollRequestService }, { type: GroupsService }, { type: DetailsService }, { type: FocusRoot }, { type: EditService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: ColumnResizingService }, { type: FocusableDirective, decorators: [{
4133
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: DomEventsService }, { type: i52.PagerContextService }, { type: ScrollRequestService }, { type: GroupsService }, { type: DetailsService }, { type: FocusRoot }, { type: EditService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: ColumnResizingService }, { type: FocusableDirective, decorators: [{
4134
4134
  type: Optional
4135
4135
  }] }]; } });
4136
4136
 
@@ -6051,7 +6051,9 @@ class GroupPanelComponent {
6051
6051
  <kendo-chiplist
6052
6052
  *ngIf="groups.length !== 0"
6053
6053
  [navigable]="navigable"
6054
- role="none">
6054
+ role="none"
6055
+ [orientation]="null"
6056
+ >
6055
6057
  <kendo-chip
6056
6058
  *ngFor="let group of groups; let index = index; let first = first; let last = last;"
6057
6059
  #chip
@@ -6114,7 +6116,7 @@ class GroupPanelComponent {
6114
6116
  </li>
6115
6117
  </ul>
6116
6118
  </ng-template>
6117
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "component", type: ChipListComponent, selector: "kendo-chiplist, kendo-chip-list", inputs: ["selection", "size", "role", "navigable"], outputs: ["selectedChange", "remove"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ChipComponent, selector: "kendo-chip", inputs: ["label", "icon", "svgIcon", "iconClass", "avatarSettings", "selected", "removable", "removeIcon", "removeSvgIcon", "hasMenu", "menuIcon", "menuSvgIcon", "disabled", "size", "rounded", "fillMode", "themeColor"], outputs: ["remove", "menuToggle", "contentClick"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6119
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "component", type: ChipListComponent, selector: "kendo-chiplist, kendo-chip-list", inputs: ["orientation", "selection", "size", "role", "navigable"], outputs: ["selectedChange", "remove"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ChipComponent, selector: "kendo-chip", inputs: ["label", "icon", "svgIcon", "iconClass", "avatarSettings", "selected", "removable", "removeIcon", "removeSvgIcon", "hasMenu", "menuIcon", "menuSvgIcon", "disabled", "size", "rounded", "fillMode", "themeColor"], outputs: ["remove", "menuToggle", "contentClick"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6118
6120
  }
6119
6121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GroupPanelComponent, decorators: [{
6120
6122
  type: Component,
@@ -6136,7 +6138,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
6136
6138
  <kendo-chiplist
6137
6139
  *ngIf="groups.length !== 0"
6138
6140
  [navigable]="navigable"
6139
- role="none">
6141
+ role="none"
6142
+ [orientation]="null"
6143
+ >
6140
6144
  <kendo-chip
6141
6145
  *ngFor="let group of groups; let index = index; let first = first; let last = last;"
6142
6146
  #chip
@@ -11982,7 +11986,7 @@ class ColumnListComponent {
11982
11986
  ngAfterViewInit() {
11983
11987
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
11984
11988
  this.listNavigationService.items = this.options.toArray();
11985
- if (!this.ctx) {
11989
+ if (this.adaptiveGridService?.viewType !== 'columnMenu') {
11986
11990
  this.listNavigationService.toggle(0, true);
11987
11991
  }
11988
11992
  this.updateDisabled();
@@ -12166,8 +12170,8 @@ class ColumnListComponent {
12166
12170
  role="listbox"
12167
12171
  aria-multiselectable="true"
12168
12172
  [attr.aria-label]="ariaLabel">
12169
- <label
12170
- *ngFor="let column of columns; let index = index;"
12173
+ <label
12174
+ *ngFor="let column of columns; let index = index;"
12171
12175
  class='k-column-list-item'
12172
12176
  [kendoColumnMenuChooserItemChecked]="!column.hidden"
12173
12177
  role="option">
@@ -12180,7 +12184,7 @@ class ColumnListComponent {
12180
12184
  <span class="k-checkbox-label">{{ column.displayTitle }}</span>
12181
12185
  </label>
12182
12186
  </div>
12183
- <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
12187
+ <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
12184
12188
  <button
12185
12189
  #applyButton
12186
12190
  kendoButton
@@ -12202,7 +12206,7 @@ class ColumnListComponent {
12202
12206
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
12203
12207
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
12204
12208
  </div>
12205
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ColumnMenuChooserItemCheckedDirective, selector: "[kendoColumnMenuChooserItemChecked]", inputs: ["kendoColumnMenuChooserItemChecked"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: ButtonDirective, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
12209
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ColumnMenuChooserItemCheckedDirective, selector: "[kendoColumnMenuChooserItemChecked]", inputs: ["kendoColumnMenuChooserItemChecked"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
12206
12210
  }
12207
12211
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnListComponent, decorators: [{
12208
12212
  type: Component,
@@ -12215,8 +12219,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12215
12219
  role="listbox"
12216
12220
  aria-multiselectable="true"
12217
12221
  [attr.aria-label]="ariaLabel">
12218
- <label
12219
- *ngFor="let column of columns; let index = index;"
12222
+ <label
12223
+ *ngFor="let column of columns; let index = index;"
12220
12224
  class='k-column-list-item'
12221
12225
  [kendoColumnMenuChooserItemChecked]="!column.hidden"
12222
12226
  role="option">
@@ -12229,7 +12233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12229
12233
  <span class="k-checkbox-label">{{ column.displayTitle }}</span>
12230
12234
  </label>
12231
12235
  </div>
12232
- <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
12236
+ <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
12233
12237
  <button
12234
12238
  #applyButton
12235
12239
  kendoButton
@@ -12253,7 +12257,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12253
12257
  </div>
12254
12258
  `,
12255
12259
  standalone: true,
12256
- imports: [NgFor, ColumnMenuChooserItemCheckedDirective, NgIf, NgClass, CheckBoxComponent, ButtonDirective]
12260
+ imports: [NgFor, ColumnMenuChooserItemCheckedDirective, NgIf, NgClass, CheckBoxComponent, ButtonComponent]
12257
12261
  }]
12258
12262
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: ColumnListKeyboardNavigation }, { type: AdaptiveGridService, decorators: [{
12259
12263
  type: Optional
@@ -12532,7 +12536,8 @@ const ToolbarToolName = {
12532
12536
  add: 'add',
12533
12537
  columns: 'columns',
12534
12538
  excelExport: 'excelExport',
12535
- pdfExport: 'pdfExport'
12539
+ pdfExport: 'pdfExport',
12540
+ aiAssistant: 'aiAssistant'
12536
12541
  };
12537
12542
 
12538
12543
  const ICONS_MAP = {
@@ -12543,7 +12548,8 @@ const ICONS_MAP = {
12543
12548
  add: { svgIcon: plusIcon, icon: 'plus' },
12544
12549
  excelExport: { svgIcon: fileExcelIcon, icon: 'file-excel' },
12545
12550
  pdfExport: { svgIcon: filePdfIcon, icon: 'file-pdf' },
12546
- columns: { svgIcon: columnsIcon, icon: 'columns' }
12551
+ columns: { svgIcon: columnsIcon, icon: 'columns' },
12552
+ aiAssistant: { svgIcon: sparklesIcon, icon: 'sparkles' }
12547
12553
  };
12548
12554
  /**
12549
12555
  * @hidden
@@ -12592,13 +12598,13 @@ class ToolbarToolBase {
12592
12598
  this.clickSub.unsubscribe();
12593
12599
  }
12594
12600
  onClick(_e) { }
12595
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarToolBase, deps: [{ token: i52.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
12601
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarToolBase, deps: [{ token: i53.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
12596
12602
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarToolBase, ngImport: i0 });
12597
12603
  }
12598
12604
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarToolBase, decorators: [{
12599
12605
  type: Directive,
12600
12606
  args: [{}]
12601
- }], ctorParameters: function () { return [{ type: i52.ToolBarButtonComponent }, { type: undefined, decorators: [{
12607
+ }], ctorParameters: function () { return [{ type: i53.ToolBarButtonComponent }, { type: undefined, decorators: [{
12602
12608
  type: Inject,
12603
12609
  args: ['command']
12604
12610
  }] }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
@@ -12777,7 +12783,7 @@ class ColumnChooserToolbarDirective extends ToolbarToolBase {
12777
12783
  get buttonElement() {
12778
12784
  return this.host.getButton();
12779
12785
  }
12780
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnChooserToolbarDirective, deps: [{ token: i0.Renderer2 }, { token: i2.PopupService }, { token: i52.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i52.RefreshService }, { token: AdaptiveGridService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
12786
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnChooserToolbarDirective, deps: [{ token: i0.Renderer2 }, { token: i2.PopupService }, { token: i53.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i53.RefreshService }, { token: AdaptiveGridService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
12781
12787
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ColumnChooserToolbarDirective, isStandalone: true, selector: "[kendoGridColumnChooserTool]", inputs: { autoSync: "autoSync", allowHideAll: "allowHideAll" }, usesInheritance: true, ngImport: i0 });
12782
12788
  }
12783
12789
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnChooserToolbarDirective, decorators: [{
@@ -12786,7 +12792,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12786
12792
  selector: '[kendoGridColumnChooserTool]',
12787
12793
  standalone: true
12788
12794
  }]
12789
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i2.PopupService }, { type: i52.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i52.RefreshService }, { type: AdaptiveGridService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { autoSync: [{
12795
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i2.PopupService }, { type: i53.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i53.RefreshService }, { type: AdaptiveGridService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { autoSync: [{
12790
12796
  type: Input
12791
12797
  }], allowHideAll: [{
12792
12798
  type: Input
@@ -20091,7 +20097,8 @@ class TableBodyComponent {
20091
20097
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
20092
20098
  [attr.aria-selected]="lockedColumnsCount < 1 ? isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) : undefined"
20093
20099
  [attr.data-kendo-grid-item-index]="$any(item).index"
20094
- [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)">
20100
+ [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)"
20101
+ [class.k-highlighted]="item.isHighlighted">
20095
20102
  <ng-container *ngIf="!skipGroupDecoration">
20096
20103
  <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups" role="presentation"></td>
20097
20104
  </ng-container>
@@ -20143,7 +20150,8 @@ class TableBodyComponent {
20143
20150
  [class.k-grid-edit-cell]="isEditingCell($any(item).index, column)"
20144
20151
  [ngStyle]="column.sticky ? addStickyColumnStyles(column) : column.style"
20145
20152
  [attr.colspan]="column.colspan"
20146
- [class.k-selected]="isSelectable && cellSelectionService.isCellSelected(item, column)">
20153
+ [class.k-selected]="isSelectable && cellSelectionService.isCellSelected(item, column)"
20154
+ [class.k-highlighted]="item.cells[lockedColumnsCount + columnIndex]?.isHighlighted">
20147
20155
  </td>
20148
20156
  </ng-container>
20149
20157
  </tr>
@@ -20311,7 +20319,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20311
20319
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
20312
20320
  [attr.aria-selected]="lockedColumnsCount < 1 ? isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) : undefined"
20313
20321
  [attr.data-kendo-grid-item-index]="$any(item).index"
20314
- [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)">
20322
+ [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)"
20323
+ [class.k-highlighted]="item.isHighlighted">
20315
20324
  <ng-container *ngIf="!skipGroupDecoration">
20316
20325
  <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups" role="presentation"></td>
20317
20326
  </ng-container>
@@ -20363,7 +20372,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20363
20372
  [class.k-grid-edit-cell]="isEditingCell($any(item).index, column)"
20364
20373
  [ngStyle]="column.sticky ? addStickyColumnStyles(column) : column.style"
20365
20374
  [attr.colspan]="column.colspan"
20366
- [class.k-selected]="isSelectable && cellSelectionService.isCellSelected(item, column)">
20375
+ [class.k-selected]="isSelectable && cellSelectionService.isCellSelected(item, column)"
20376
+ [class.k-highlighted]="item.cells[lockedColumnsCount + columnIndex]?.isHighlighted">
20367
20377
  </td>
20368
20378
  </ng-container>
20369
20379
  </tr>
@@ -21226,8 +21236,8 @@ const packageMetadata = {
21226
21236
  productName: 'Kendo UI for Angular',
21227
21237
  productCode: 'KENDOUIANGULAR',
21228
21238
  productCodes: ['KENDOUIANGULAR'],
21229
- publishDate: 1751964779,
21230
- version: '19.3.0-develop.2',
21239
+ publishDate: 1754395862,
21240
+ version: '19.3.0-develop.21',
21231
21241
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
21232
21242
  };
21233
21243
 
@@ -21642,13 +21652,17 @@ class DataCollection {
21642
21652
  /**
21643
21653
  * @hidden
21644
21654
  *
21645
- * Quick look-up structure for combinations of keys.
21646
- * Similar to the native JS Set, however, working with a couple of keys instead of with a single key.
21655
+ * Quick look-up structure for combinations of keys or single keys.
21656
+ * Similar to the native JS Set, however, working with single keys or a couple of keys.
21647
21657
  * Supports both primitive keys and object keys (compared by reference).
21648
21658
  */
21649
21659
  class PairSet {
21650
21660
  /**
21651
- * Gets the total number of X/Y key pairs.
21661
+ * Symbol used internally to represent "no Y key" when storing single X keys.
21662
+ */
21663
+ static SINGLE_KEY_SYMBOL = Symbol('SINGLE_KEY');
21664
+ /**
21665
+ * Gets the total number of key entries (both single keys and key pairs).
21652
21666
  */
21653
21667
  get size() {
21654
21668
  return this.totalKeysCount;
@@ -21656,17 +21670,38 @@ class PairSet {
21656
21670
  /**
21657
21671
  * Holds a set of Y keys for each defined X key.
21658
21672
  * Each X key creates a map which holds a set of Y keys.
21673
+ * For single keys, the Y value is the SINGLE_KEY_SYMBOL.
21659
21674
  *
21660
- * Map { 1 => Set { 1, 2, 3 } } // pairs: [1, 1], [1, 2], [1, 3]
21675
+ * Map { 'foo' => Set { Symbol(SINGLE_KEY) } } // single key: {x: 'foo'}
21676
+ * Map { 'foo2' => Set { 'bar', 'baz' } } // pairs: {x: 'foo2', y: 'bar'}, {x: 'foo2', y: 'baz'}
21661
21677
  */
21662
21678
  keysX = new Map();
21663
21679
  /**
21664
- * Count the each added or deleted key manually to avoid iterating over all items when calling `this.size`.
21680
+ * Count each added or deleted key manually to avoid iterating over all items when calling `this.size`.
21665
21681
  */
21666
21682
  totalKeysCount = 0;
21667
21683
  constructor(items, keyXField, keyYField) {
21668
- if (items && keyXField && keyYField) {
21669
- items.forEach(item => this.add(item[keyXField], item[keyYField]));
21684
+ if (items && keyXField) {
21685
+ items.forEach(item => {
21686
+ if (keyYField && item[keyYField] !== undefined) {
21687
+ this.add(item[keyXField], item[keyYField]);
21688
+ }
21689
+ else {
21690
+ this.addSingle(item[keyXField]);
21691
+ }
21692
+ });
21693
+ }
21694
+ }
21695
+ /**
21696
+ * Adds a single key entry.
21697
+ */
21698
+ addSingle(keyX) {
21699
+ if (!this.keysX.has(keyX)) {
21700
+ this.keysX.set(keyX, new Set());
21701
+ }
21702
+ if (!this.hasSingle(keyX)) {
21703
+ this.keysX.get(keyX).add(PairSet.SINGLE_KEY_SYMBOL);
21704
+ this.totalKeysCount += 1;
21670
21705
  }
21671
21706
  }
21672
21707
  /**
@@ -21682,14 +21717,35 @@ class PairSet {
21682
21717
  }
21683
21718
  }
21684
21719
  /**
21685
- * Adds a combination of a couple of items identified together.
21720
+ * Deletes a single key entry.
21721
+ */
21722
+ deleteSingle(keyX) {
21723
+ if (this.hasSingle(keyX)) {
21724
+ this.keysX.get(keyX).delete(PairSet.SINGLE_KEY_SYMBOL);
21725
+ this.totalKeysCount -= 1;
21726
+ if (this.keysX.get(keyX).size === 0) {
21727
+ this.keysX.delete(keyX);
21728
+ }
21729
+ }
21730
+ }
21731
+ /**
21732
+ * Deletes a combination of a couple of items identified together.
21686
21733
  */
21687
21734
  delete(keyX, keyY) {
21688
21735
  if (this.has(keyX, keyY)) {
21689
21736
  this.keysX.get(keyX).delete(keyY);
21690
21737
  this.totalKeysCount -= 1;
21738
+ if (this.keysX.get(keyX).size === 0) {
21739
+ this.keysX.delete(keyX);
21740
+ }
21691
21741
  }
21692
21742
  }
21743
+ /**
21744
+ * Checks whether a single key is stored.
21745
+ */
21746
+ hasSingle(keyX) {
21747
+ return this.keysX.has(keyX) && this.keysX.get(keyX).has(PairSet.SINGLE_KEY_SYMBOL);
21748
+ }
21693
21749
  /**
21694
21750
  * Checks whether the defined combination is stored.
21695
21751
  */
@@ -21697,7 +21753,23 @@ class PairSet {
21697
21753
  return this.keysX.has(keyX) && this.keysX.get(keyX).has(keyY);
21698
21754
  }
21699
21755
  /**
21700
- * Clears all key combinations.
21756
+ * Checks whether any entry exists for the given X key (single or paired).
21757
+ */
21758
+ hasX(keyX) {
21759
+ return this.keysX.has(keyX) && this.keysX.get(keyX).size > 0;
21760
+ }
21761
+ /**
21762
+ * Gets all Y keys for a given X key, excluding single key entries.
21763
+ */
21764
+ getYKeys(keyX) {
21765
+ if (!this.keysX.has(keyX)) {
21766
+ return [];
21767
+ }
21768
+ const yKeys = Array.from(this.keysX.get(keyX));
21769
+ return yKeys.filter(yKey => yKey !== PairSet.SINGLE_KEY_SYMBOL);
21770
+ }
21771
+ /**
21772
+ * Clears all key combinations and single keys.
21701
21773
  */
21702
21774
  clear() {
21703
21775
  this.keysX.clear();
@@ -21706,12 +21778,27 @@ class PairSet {
21706
21778
  /**
21707
21779
  * Converts the persisted data structure to an array of objects,
21708
21780
  * using the provided field names for the object props.
21781
+ * Single keys will only have the keyXField property.
21782
+ * Pair keys will have both keyXField and keyYField properties.
21709
21783
  */
21710
21784
  toArray(keyXField, keyYField) {
21711
21785
  return Array.from(this.keysX).reduce((pairs, pair) => {
21712
21786
  // Array.from(mapInstance) returns an array of arrays [[itemKey1, columnKeysSet1], [itemKey2, columnKeysSet2]]
21713
21787
  const [keyX, keysY] = pair;
21714
- Array.from(keysY).forEach(keyY => pairs.push({ [keyXField]: keyX, [keyYField]: keyY }));
21788
+ Array.from(keysY).forEach(keyY => {
21789
+ if (keyY === PairSet.SINGLE_KEY_SYMBOL) {
21790
+ // Single key entry
21791
+ pairs.push({ [keyXField]: keyX });
21792
+ }
21793
+ else {
21794
+ // Pair key entry
21795
+ const entry = { [keyXField]: keyX };
21796
+ if (keyYField) {
21797
+ entry[keyYField] = keyY;
21798
+ }
21799
+ pairs.push(entry);
21800
+ }
21801
+ });
21715
21802
  return pairs;
21716
21803
  }, []);
21717
21804
  }
@@ -22709,6 +22796,7 @@ class StatusBarComponent {
22709
22796
  get isStatusBarTemplate() {
22710
22797
  return this.statusBarTemplate ? '' : 'none';
22711
22798
  }
22799
+ hostAriaLive = 'polite';
22712
22800
  statusBarTemplate;
22713
22801
  constructor(aggregateService) {
22714
22802
  this.aggregateService = aggregateService;
@@ -22720,7 +22808,7 @@ class StatusBarComponent {
22720
22808
  return this.aggregateService.aggregates;
22721
22809
  }
22722
22810
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StatusBarComponent, deps: [{ token: CellSelectionAggregateService }], target: i0.ɵɵFactoryTarget.Component });
22723
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StatusBarComponent, isStandalone: true, selector: "kendo-grid-status-bar", inputs: { statusBarTemplate: "statusBarTemplate" }, host: { properties: { "class.k-selection-aggregates": "this.hostClasses", "class.k-grid-selection-aggregates": "this.hostClasses", "style.display": "this.isStatusBarTemplate" } }, ngImport: i0, template: `
22811
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StatusBarComponent, isStandalone: true, selector: "kendo-grid-status-bar", inputs: { statusBarTemplate: "statusBarTemplate" }, host: { properties: { "class.k-selection-aggregates": "this.hostClasses", "class.k-grid-selection-aggregates": "this.hostClasses", "style.display": "this.isStatusBarTemplate", "attr.aria-live": "this.hostAriaLive" } }, ngImport: i0, template: `
22724
22812
  <ng-template
22725
22813
  *ngIf="statusBarTemplate"
22726
22814
  [ngTemplateOutlet]="statusBarTemplate?.templateRef"
@@ -22751,6 +22839,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
22751
22839
  }], isStatusBarTemplate: [{
22752
22840
  type: HostBinding,
22753
22841
  args: ['style.display']
22842
+ }], hostAriaLive: [{
22843
+ type: HostBinding,
22844
+ args: ['attr.aria-live']
22754
22845
  }], statusBarTemplate: [{
22755
22846
  type: Input
22756
22847
  }] } });
@@ -23286,12 +23377,14 @@ class DataMappingService {
23286
23377
  rowspanService;
23287
23378
  groupsService;
23288
23379
  detailsService;
23380
+ ctx;
23289
23381
  recalculateRowspan = true;
23290
23382
  dataArray = null;
23291
- constructor(rowspanService, groupsService, detailsService) {
23383
+ constructor(rowspanService, groupsService, detailsService, ctx) {
23292
23384
  this.rowspanService = rowspanService;
23293
23385
  this.groupsService = groupsService;
23294
23386
  this.detailsService = detailsService;
23387
+ this.ctx = ctx;
23295
23388
  }
23296
23389
  isGroup(item) {
23297
23390
  return item.type === 'group';
@@ -23321,8 +23414,14 @@ class DataMappingService {
23321
23414
  dataItem: item
23322
23415
  }, column, i, data) : 1;
23323
23416
  }
23417
+ if (isPresent$1(this.ctx.highlightDirective)) {
23418
+ cell.isHighlighted = this.ctx.highlightDirective.isCellHighlighted(item, column, i);
23419
+ }
23324
23420
  item.cells.push(cell);
23325
23421
  }
23422
+ if (isPresent$1(this.ctx.highlightDirective)) {
23423
+ item.isHighlighted = this.ctx.highlightDirective.isRowHighlighted(item);
23424
+ }
23326
23425
  }
23327
23426
  result.push(item);
23328
23427
  }
@@ -23386,12 +23485,12 @@ class DataMappingService {
23386
23485
  }
23387
23486
  return rowspan;
23388
23487
  }
23389
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService, deps: [{ token: RowspanService }, { token: GroupsService }, { token: DetailsService }], target: i0.ɵɵFactoryTarget.Injectable });
23488
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService, deps: [{ token: RowspanService }, { token: GroupsService }, { token: DetailsService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
23390
23489
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService });
23391
23490
  }
23392
23491
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService, decorators: [{
23393
23492
  type: Injectable
23394
- }], ctorParameters: function () { return [{ type: RowspanService }, { type: GroupsService }, { type: DetailsService }]; } });
23493
+ }], ctorParameters: function () { return [{ type: RowspanService }, { type: GroupsService }, { type: DetailsService }, { type: ContextService }]; } });
23395
23494
 
23396
23495
  const elementAt = (index, elements, elementOffset) => {
23397
23496
  for (let idx = 0, elementIdx = 0; idx < elements.length; idx++) {
@@ -23606,7 +23705,7 @@ class ListComponent {
23606
23705
  if (this.virtualColumns && (!this.viewportColumns || this.viewportWidthChange())) {
23607
23706
  this.updateViewportColumns();
23608
23707
  }
23609
- const shouldCalculatePageSize = isDocumentAvailable() && this.isVirtual && this.ctx.grid && !this.ctx.grid.pageSize;
23708
+ const shouldCalculatePageSize = isDocumentAvailable() && this.isVirtual && this.ctx.grid && !isPresent(this.ctx.grid.pageSize);
23610
23709
  if (shouldCalculatePageSize) {
23611
23710
  const calculatedPageSize = this.calcVirtualPageSize();
23612
23711
  if (calculatedPageSize > 0) {
@@ -24625,6 +24724,42 @@ class GridMessages extends ComponentMessages {
24625
24724
  * [See example](slug:globalization_grid#toc-custom-messages).
24626
24725
  */
24627
24726
  booleanFilterCellLabel;
24727
+ /**
24728
+ * The text of the AI Assistant Apply button.
24729
+ */
24730
+ aiAssistantApplyButtonText;
24731
+ /**
24732
+ * The text of the AI Assistant toolbar tool.
24733
+ */
24734
+ aiAssistantToolbarToolText;
24735
+ /**
24736
+ * The text of the AI Assistant Window title.
24737
+ */
24738
+ aiAssistantWindowTitle;
24739
+ /**
24740
+ * The title of the AI Assistant Window close button.
24741
+ */
24742
+ aiAssistantWindowCloseTitle;
24743
+ /**
24744
+ * The title of the AI Assistant Prompt Output Card.
24745
+ */
24746
+ aiAssistantOutputCardTitle;
24747
+ /**
24748
+ * The success message dispayed in the AI Assistant Prompt Output Card's body.
24749
+ */
24750
+ aiAssistantOutputCardBodyContent;
24751
+ /**
24752
+ * The title of the AI Assistant Window maximize button.
24753
+ */
24754
+ aiAssistantWindowMaximizeTitle;
24755
+ /**
24756
+ * The title of the AI Assistant Window minimize button.
24757
+ */
24758
+ aiAssistantWindowMinimizeTitle;
24759
+ /**
24760
+ * The title of the AI Assistant Window restore button.
24761
+ */
24762
+ aiAssistantWindowRestoreTitle;
24628
24763
  /**
24629
24764
  * Sets the text for the `Equal` (**Is equal to**) filter operator.
24630
24765
  */
@@ -25021,7 +25156,7 @@ class GridMessages extends ComponentMessages {
25021
25156
  */
25022
25157
  externalEditingCancelText;
25023
25158
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
25024
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerInputLabel: "pagerInputLabel", pagerSelectPage: "pagerSelectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterCellOperatorLabel: "filterCellOperatorLabel", booleanFilterCellLabel: "booleanFilterCellLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", adaptiveFilterOperatorsTitle: "adaptiveFilterOperatorsTitle", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", adaptiveCloseButtonTitle: "adaptiveCloseButtonTitle", adaptiveBackButtonTitle: "adaptiveBackButtonTitle", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", filterToolbarToolText: "filterToolbarToolText", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", columnsSubtitle: "columnsSubtitle", adaptiveFilterTitle: "adaptiveFilterTitle", adaptiveSortTitle: "adaptiveSortTitle", adaptiveGroupTitle: "adaptiveGroupTitle", filterClearAllButton: "filterClearAllButton", groupClearButton: "groupClearButton", sortClearButton: "sortClearButton", sortDoneButton: "sortDoneButton", groupDoneButton: "groupDoneButton", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", sortToolbarToolText: "sortToolbarToolText", columnsApply: "columnsApply", columnsReset: "columnsReset", detailExpand: "detailExpand", detailCollapse: "detailCollapse", filterDateToday: "filterDateToday", filterDateToggle: "filterDateToggle", filterNumericDecrement: "filterNumericDecrement", filterNumericIncrement: "filterNumericIncrement", selectionCheckboxLabel: "selectionCheckboxLabel", selectAllCheckboxLabel: "selectAllCheckboxLabel", groupCollapse: "groupCollapse", groupExpand: "groupExpand", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel", editToolbarToolText: "editToolbarToolText", saveToolbarToolText: "saveToolbarToolText", addToolbarToolText: "addToolbarToolText", cancelToolbarToolText: "cancelToolbarToolText", removeToolbarToolText: "removeToolbarToolText", excelExportToolbarToolText: "excelExportToolbarToolText", pdfExportToolbarToolText: "pdfExportToolbarToolText", groupPanelLabel: "groupPanelLabel", dragRowHandleLabel: "dragRowHandleLabel", columnMenuFilterTabTitle: "columnMenuFilterTabTitle", columnMenuGeneralTabTitle: "columnMenuGeneralTabTitle", columnMenuColumnsTabTitle: "columnMenuColumnsTabTitle", groupChipMenuPrevious: "groupChipMenuPrevious", groupChipMenuNext: "groupChipMenuNext", groupToolbarToolText: "groupToolbarToolText", formValidationErrorText: "formValidationErrorText", removeConfirmationDialogTitle: "removeConfirmationDialogTitle", removeConfirmationDialogContent: "removeConfirmationDialogContent", removeConfirmationDialogConfirmText: "removeConfirmationDialogConfirmText", removeConfirmationDialogRejectText: "removeConfirmationDialogRejectText", externalEditingTitle: "externalEditingTitle", externalEditingAddTitle: "externalEditingAddTitle", externalEditingSaveText: "externalEditingSaveText", externalEditingCancelText: "externalEditingCancelText" }, usesInheritance: true, ngImport: i0 });
25159
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerInputLabel: "pagerInputLabel", pagerSelectPage: "pagerSelectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterCellOperatorLabel: "filterCellOperatorLabel", booleanFilterCellLabel: "booleanFilterCellLabel", aiAssistantApplyButtonText: "aiAssistantApplyButtonText", aiAssistantToolbarToolText: "aiAssistantToolbarToolText", aiAssistantWindowTitle: "aiAssistantWindowTitle", aiAssistantWindowCloseTitle: "aiAssistantWindowCloseTitle", aiAssistantOutputCardTitle: "aiAssistantOutputCardTitle", aiAssistantOutputCardBodyContent: "aiAssistantOutputCardBodyContent", aiAssistantWindowMaximizeTitle: "aiAssistantWindowMaximizeTitle", aiAssistantWindowMinimizeTitle: "aiAssistantWindowMinimizeTitle", aiAssistantWindowRestoreTitle: "aiAssistantWindowRestoreTitle", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", adaptiveFilterOperatorsTitle: "adaptiveFilterOperatorsTitle", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", adaptiveCloseButtonTitle: "adaptiveCloseButtonTitle", adaptiveBackButtonTitle: "adaptiveBackButtonTitle", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", filterToolbarToolText: "filterToolbarToolText", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", columnsSubtitle: "columnsSubtitle", adaptiveFilterTitle: "adaptiveFilterTitle", adaptiveSortTitle: "adaptiveSortTitle", adaptiveGroupTitle: "adaptiveGroupTitle", filterClearAllButton: "filterClearAllButton", groupClearButton: "groupClearButton", sortClearButton: "sortClearButton", sortDoneButton: "sortDoneButton", groupDoneButton: "groupDoneButton", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", sortToolbarToolText: "sortToolbarToolText", columnsApply: "columnsApply", columnsReset: "columnsReset", detailExpand: "detailExpand", detailCollapse: "detailCollapse", filterDateToday: "filterDateToday", filterDateToggle: "filterDateToggle", filterNumericDecrement: "filterNumericDecrement", filterNumericIncrement: "filterNumericIncrement", selectionCheckboxLabel: "selectionCheckboxLabel", selectAllCheckboxLabel: "selectAllCheckboxLabel", groupCollapse: "groupCollapse", groupExpand: "groupExpand", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel", editToolbarToolText: "editToolbarToolText", saveToolbarToolText: "saveToolbarToolText", addToolbarToolText: "addToolbarToolText", cancelToolbarToolText: "cancelToolbarToolText", removeToolbarToolText: "removeToolbarToolText", excelExportToolbarToolText: "excelExportToolbarToolText", pdfExportToolbarToolText: "pdfExportToolbarToolText", groupPanelLabel: "groupPanelLabel", dragRowHandleLabel: "dragRowHandleLabel", columnMenuFilterTabTitle: "columnMenuFilterTabTitle", columnMenuGeneralTabTitle: "columnMenuGeneralTabTitle", columnMenuColumnsTabTitle: "columnMenuColumnsTabTitle", groupChipMenuPrevious: "groupChipMenuPrevious", groupChipMenuNext: "groupChipMenuNext", groupToolbarToolText: "groupToolbarToolText", formValidationErrorText: "formValidationErrorText", removeConfirmationDialogTitle: "removeConfirmationDialogTitle", removeConfirmationDialogContent: "removeConfirmationDialogContent", removeConfirmationDialogConfirmText: "removeConfirmationDialogConfirmText", removeConfirmationDialogRejectText: "removeConfirmationDialogRejectText", externalEditingTitle: "externalEditingTitle", externalEditingAddTitle: "externalEditingAddTitle", externalEditingSaveText: "externalEditingSaveText", externalEditingCancelText: "externalEditingCancelText" }, usesInheritance: true, ngImport: i0 });
25025
25160
  }
25026
25161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridMessages, decorators: [{
25027
25162
  type: Directive,
@@ -25071,6 +25206,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
25071
25206
  type: Input
25072
25207
  }], booleanFilterCellLabel: [{
25073
25208
  type: Input
25209
+ }], aiAssistantApplyButtonText: [{
25210
+ type: Input
25211
+ }], aiAssistantToolbarToolText: [{
25212
+ type: Input
25213
+ }], aiAssistantWindowTitle: [{
25214
+ type: Input
25215
+ }], aiAssistantWindowCloseTitle: [{
25216
+ type: Input
25217
+ }], aiAssistantOutputCardTitle: [{
25218
+ type: Input
25219
+ }], aiAssistantOutputCardBodyContent: [{
25220
+ type: Input
25221
+ }], aiAssistantWindowMaximizeTitle: [{
25222
+ type: Input
25223
+ }], aiAssistantWindowMinimizeTitle: [{
25224
+ type: Input
25225
+ }], aiAssistantWindowRestoreTitle: [{
25226
+ type: Input
25074
25227
  }], filterEqOperator: [{
25075
25228
  type: Input
25076
25229
  }], filterNotEqOperator: [{
@@ -25789,7 +25942,7 @@ class FormFormFieldComponent {
25789
25942
  <kendo-formerror *ngFor="let err of control?.formControl?.errors | keyvalue">{{control.errors ? control.errors[err.key] : messageFor('formValidationError', err.key, control.name)}}</kendo-formerror>
25790
25943
  </ng-container>
25791
25944
  </kendo-formfield>
25792
- `, 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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.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$1.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { kind: "component", type: i4$1.HintComponent, selector: "kendo-formhint", inputs: ["align"] }, { kind: "component", type: i4$1.ErrorComponent, selector: "kendo-formerror", inputs: ["align"] }, { kind: "component", type: i4$1.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$1.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$1.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"] }] });
25945
+ `, 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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.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$1.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors", "colSpan"] }, { kind: "component", type: i4$1.HintComponent, selector: "kendo-formhint", inputs: ["align"] }, { kind: "component", type: i4$1.ErrorComponent, selector: "kendo-formerror", inputs: ["align"] }, { kind: "component", type: i4$1.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$1.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$1.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"] }] });
25793
25946
  }
25794
25947
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFormFieldComponent, decorators: [{
25795
25948
  type: Component,
@@ -27655,6 +27808,571 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
27655
27808
  args: [GroupToolbarToolComponent]
27656
27809
  }] } });
27657
27810
 
27811
+ /**
27812
+ * @hidden
27813
+ */
27814
+ const DEFAULT_AI_REQUEST_OPTIONS = {
27815
+ headers: new HttpHeaders({
27816
+ 'Content-Type': 'application/json'
27817
+ }),
27818
+ role: 'user',
27819
+ method: 'POST',
27820
+ responseType: 'json'
27821
+ };
27822
+ /**
27823
+ * @hidden
27824
+ */
27825
+ const convertDateStringsInFilter = (filter, columns) => {
27826
+ if (!filter) {
27827
+ return filter;
27828
+ }
27829
+ if (filter.filters && Array.isArray(filter.filters)) {
27830
+ return {
27831
+ ...filter,
27832
+ filters: filter.filters.map(f => convertDateStringsInFilter(f, columns))
27833
+ };
27834
+ }
27835
+ if (filter.field && filter.value !== undefined) {
27836
+ const column = columns.find(col => col.field === filter.field);
27837
+ if (column && isDateField(filter.field, columns)) {
27838
+ return {
27839
+ ...filter,
27840
+ value: new Date(filter.value)
27841
+ };
27842
+ }
27843
+ }
27844
+ return filter;
27845
+ };
27846
+ /**
27847
+ * @hidden
27848
+ */
27849
+ const isDateField = (fieldName, columns) => {
27850
+ const column = columns.find((col) => col.field === fieldName);
27851
+ return column?.filter === 'date' || column?.editor === 'date';
27852
+ };
27853
+
27854
+ /**
27855
+ * @hidden
27856
+ */
27857
+ class AiAssistantComponent {
27858
+ http;
27859
+ ctx;
27860
+ columnInfoService;
27861
+ aiPrompt;
27862
+ activeView = 0;
27863
+ promptOutputs = [];
27864
+ requestUrl;
27865
+ requestOptions;
27866
+ aiPromptSettings;
27867
+ aiToolDirective;
27868
+ streaming = false;
27869
+ disabledGenerateButton = false;
27870
+ lastMessage;
27871
+ requestData;
27872
+ currentRequestSubscription = null;
27873
+ //Remove this when the AI Assistant has a built-in loading indicator
27874
+ loadingOutput = { id: 'k-loading-item', output: '', prompt: '' };
27875
+ columns = [];
27876
+ idCounter = 0;
27877
+ constructor(http, ctx, columnInfoService) {
27878
+ this.http = http;
27879
+ this.ctx = ctx;
27880
+ this.columnInfoService = columnInfoService;
27881
+ }
27882
+ ngAfterViewInit() {
27883
+ this.columns = this.columnInfoService.leafNamedColumns.map((col) => ({
27884
+ field: col.field,
27885
+ title: col.title || col.field
27886
+ }));
27887
+ }
27888
+ ngOnDestroy() {
27889
+ this.unsubscribeCurrentRequest();
27890
+ }
27891
+ message(message) {
27892
+ return this.ctx.localization.get(message);
27893
+ }
27894
+ cancelRequest() {
27895
+ this.aiToolDirective.cancelRequest.emit();
27896
+ this.unsubscribeCurrentRequest();
27897
+ this.streaming = false;
27898
+ }
27899
+ onPromptRequest(ev) {
27900
+ if (this.promptOutputs.length === 0) {
27901
+ this.promptOutputs.push(this.loadingOutput);
27902
+ }
27903
+ this.unsubscribeCurrentRequest();
27904
+ this.streaming = true;
27905
+ this.activeView = 1;
27906
+ if (ev.prompt) {
27907
+ this.lastMessage = ev.prompt;
27908
+ }
27909
+ this.requestData = {
27910
+ columns: this.columns,
27911
+ promptMessage: ev.prompt,
27912
+ url: this.requestUrl,
27913
+ requestOptions: {
27914
+ ...this.requestOptions
27915
+ }
27916
+ };
27917
+ if (!this.requestOptions.body) {
27918
+ const requestBody = {
27919
+ role: this.requestData.requestOptions.role,
27920
+ contents: [
27921
+ {
27922
+ text: this.requestData.promptMessage
27923
+ }
27924
+ ],
27925
+ columns: this.requestData.columns
27926
+ };
27927
+ this.requestData.requestOptions.body = requestBody;
27928
+ }
27929
+ this.aiToolDirective.promptRequest.emit({ requestData: this.requestData, isRetry: ev.isRetry });
27930
+ if (!this.requestUrl) {
27931
+ return;
27932
+ }
27933
+ this.currentRequestSubscription = this.sendPromptRequest().subscribe((res) => {
27934
+ if (res.body) {
27935
+ this.processResponse(res);
27936
+ this.streaming = false;
27937
+ }
27938
+ this.currentRequestSubscription = null;
27939
+ }, (error) => {
27940
+ this.handleError(error);
27941
+ this.streaming = false;
27942
+ this.currentRequestSubscription = null;
27943
+ });
27944
+ }
27945
+ sendPromptRequest() {
27946
+ const request = new HttpRequest(this.requestData.requestOptions.method, this.requestData.url, this.requestData.requestOptions.body, this.requestData.requestOptions);
27947
+ return this.http.request(request);
27948
+ }
27949
+ processResponse(response) {
27950
+ const responseBody = response.body;
27951
+ const isFilterable = Boolean(this.ctx.grid.filterable);
27952
+ const isSortable = Boolean(this.ctx.grid.sortable);
27953
+ const isGroupable = Boolean(this.ctx.grid.groupable);
27954
+ if (isFilterable && responseBody.filter) {
27955
+ this.processFilterResponse(responseBody.filter);
27956
+ }
27957
+ if (isSortable && responseBody.sort) {
27958
+ this.processArrayResponse(responseBody.sort, this.ctx.grid.currentState.sort || [], (item) => item.field, (mergedArray) => this.ctx.grid.sortChange.next(mergedArray));
27959
+ }
27960
+ if (isGroupable && responseBody.group) {
27961
+ this.processArrayResponse(responseBody.group, this.ctx.grid.currentState.group || [], (item) => item.field, (mergedArray) => this.ctx.grid.groupChange.next(mergedArray));
27962
+ }
27963
+ const responseContentStart = [`${this.ctx.localization.get('aiAssistantOutputCardBodyContent')} \n`];
27964
+ const responseContentBody = responseBody.messages
27965
+ .map((output, idx) => `${idx + 1} ${output}`)
27966
+ .join('\n');
27967
+ const output = {
27968
+ id: this.idCounter++,
27969
+ title: this.ctx.localization.get('aiAssistantOutputCardTitle'),
27970
+ prompt: this.lastMessage,
27971
+ output: responseContentStart.concat(responseContentBody).join(''),
27972
+ };
27973
+ if (this.promptOutputs[0].id === this.loadingOutput.id) {
27974
+ this.promptOutputs.splice(0, 1);
27975
+ }
27976
+ this.promptOutputs.unshift(output);
27977
+ this.aiToolDirective.responseSuccess.emit(response);
27978
+ }
27979
+ handleError(error) {
27980
+ const output = {
27981
+ id: this.idCounter++,
27982
+ prompt: this.lastMessage,
27983
+ output: error.message
27984
+ };
27985
+ this.promptOutputs.unshift(output);
27986
+ this.aiToolDirective.responseError.emit(error);
27987
+ }
27988
+ unsubscribeCurrentRequest() {
27989
+ if (this.currentRequestSubscription) {
27990
+ this.currentRequestSubscription.unsubscribe();
27991
+ this.currentRequestSubscription = null;
27992
+ }
27993
+ }
27994
+ processArrayResponse(newItems, currentItems, getField, updateGrid) {
27995
+ if (newItems?.length === 0) {
27996
+ updateGrid([]);
27997
+ }
27998
+ else if (newItems?.length) {
27999
+ let mergedArray = [...newItems];
28000
+ const newFields = newItems.map(getField);
28001
+ const existingItemsToKeep = currentItems.filter(item => !newFields.includes(getField(item)));
28002
+ mergedArray = [...mergedArray, ...existingItemsToKeep];
28003
+ updateGrid(mergedArray);
28004
+ }
28005
+ }
28006
+ processFilterResponse(filter) {
28007
+ const processedFilter = convertDateStringsInFilter(filter, this.columnInfoService.leafNamedColumns);
28008
+ const clearFilter = Object.keys(processedFilter).length === 0;
28009
+ if (clearFilter) {
28010
+ this.ctx.grid.filterChange.next(undefined);
28011
+ }
28012
+ else if (processedFilter?.filters.length) {
28013
+ const currentFilter = this.ctx.grid.currentState.filter;
28014
+ let mergedFilter = processedFilter;
28015
+ if (currentFilter && currentFilter.filters?.length > 0) {
28016
+ mergedFilter = {
28017
+ logic: 'and',
28018
+ filters: [
28019
+ currentFilter,
28020
+ processedFilter
28021
+ ]
28022
+ };
28023
+ }
28024
+ this.ctx.grid.filterChange.next(mergedFilter);
28025
+ }
28026
+ }
28027
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AiAssistantComponent, deps: [{ token: i1$8.HttpClient }, { token: ContextService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
28028
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AiAssistantComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "aiPrompt", first: true, predicate: AIPromptComponent, descendants: true }], ngImport: i0, template: `
28029
+ <kendo-aiprompt
28030
+ #aiPrompt
28031
+ [promptSuggestions]="aiPromptSettings?.promptSuggestions"
28032
+ [showOutputRating]="aiPromptSettings?.showOutputRating"
28033
+ [streaming]="streaming"
28034
+ [speechToTextButton]="aiPromptSettings?.speechToTextButton"
28035
+ [(activeView)]="activeView"
28036
+ [generateButtonSVGIcon]="aiPromptSettings?.generateButtonSVGIcon"
28037
+ [generateButtonIcon]="aiPromptSettings?.generateButtonIcon"
28038
+ [disabledGenerateButton]="disabledGenerateButton || promptView.textAreaValue?.length === 0"
28039
+ [promptOutputs]="aiPromptSettings?.promptOutputs || promptOutputs"
28040
+ (promptRequest)="onPromptRequest($event)"
28041
+ (promptRequestCancel)="cancelRequest()"
28042
+ >
28043
+ <kendo-aiprompt-prompt-view #promptView></kendo-aiprompt-prompt-view>
28044
+ <kendo-aiprompt-output-view></kendo-aiprompt-output-view>
28045
+ <ng-template *ngIf="streaming && aiPrompt.streaming" kendoAIPromptOutputTemplate let-output>
28046
+ <div class="k-card">
28047
+ <div class="k-card-header">
28048
+ <div class="k-card-title">
28049
+ <span class="k-skeleton k-skeleton-text k-skeleton-pulse" [style.width.px]="200"></span>
28050
+ </div>
28051
+ <div class="k-card-subtitle">
28052
+ <span class="k-skeleton k-skeleton-text k-skeleton-pulse" style="width: 100%;"></span>
28053
+ </div>
28054
+ </div>
28055
+ <div class="k-card-body">
28056
+ <span class="k-skeleton k-skeleton-rect k-skeleton-pulse" style="height: 80px;"></span>
28057
+ </div>
28058
+ <div class="k-card-actions">
28059
+ <span class="k-skeleton k-skeleton-text k-skeleton-pulse" style="width: 100%;"></span>
28060
+ </div>
28061
+ </div>
28062
+ </ng-template>
28063
+ <ng-template *ngIf="!(streaming && aiPrompt.streaming)" kendoAIPromptOutputBodyTemplate let-output>
28064
+ <p>{{output.output}}</p>
28065
+ </ng-template>
28066
+ <kendo-aiprompt-messages
28067
+ [generateOutput]="message('aiAssistantApplyButtonText')"
28068
+ ></kendo-aiprompt-messages>
28069
+ </kendo-aiprompt>
28070
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AIPromptComponent, selector: "kendo-aiprompt", inputs: ["activeView", "promptCommands", "promptSuggestions", "promptOutputs", "showOutputRating", "streaming", "speechToTextButton", "textAreaSettings", "generateButtonSVGIcon", "generateButtonIcon", "disabledGenerateButton"], outputs: ["activeViewChange", "promptRequest", "commandExecute", "outputCopy", "outputRatingChange", "promptRequestCancel"], exportAs: ["kendoAIPrompt"] }, { kind: "component", type: AIPromptCustomMessagesComponent, selector: "kendo-aiprompt-messages" }, { kind: "component", type: PromptViewComponent, selector: "kendo-aiprompt-prompt-view" }, { kind: "component", type: OutputViewComponent, selector: "kendo-aiprompt-output-view" }, { kind: "directive", type: AIPromptOutputTemplateDirective, selector: "[kendoAIPromptOutputTemplate]" }, { kind: "directive", type: AIPromptOutputBodyTemplateDirective, selector: "[kendoAIPromptOutputBodyTemplate]" }] });
28071
+ }
28072
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AiAssistantComponent, decorators: [{
28073
+ type: Component,
28074
+ args: [{
28075
+ standalone: true,
28076
+ imports: [NgIf, AIPromptComponent, AIPromptCustomMessagesComponent, PromptViewComponent, OutputViewComponent, AIPromptOutputTemplateDirective, AIPromptOutputBodyTemplateDirective],
28077
+ template: `
28078
+ <kendo-aiprompt
28079
+ #aiPrompt
28080
+ [promptSuggestions]="aiPromptSettings?.promptSuggestions"
28081
+ [showOutputRating]="aiPromptSettings?.showOutputRating"
28082
+ [streaming]="streaming"
28083
+ [speechToTextButton]="aiPromptSettings?.speechToTextButton"
28084
+ [(activeView)]="activeView"
28085
+ [generateButtonSVGIcon]="aiPromptSettings?.generateButtonSVGIcon"
28086
+ [generateButtonIcon]="aiPromptSettings?.generateButtonIcon"
28087
+ [disabledGenerateButton]="disabledGenerateButton || promptView.textAreaValue?.length === 0"
28088
+ [promptOutputs]="aiPromptSettings?.promptOutputs || promptOutputs"
28089
+ (promptRequest)="onPromptRequest($event)"
28090
+ (promptRequestCancel)="cancelRequest()"
28091
+ >
28092
+ <kendo-aiprompt-prompt-view #promptView></kendo-aiprompt-prompt-view>
28093
+ <kendo-aiprompt-output-view></kendo-aiprompt-output-view>
28094
+ <ng-template *ngIf="streaming && aiPrompt.streaming" kendoAIPromptOutputTemplate let-output>
28095
+ <div class="k-card">
28096
+ <div class="k-card-header">
28097
+ <div class="k-card-title">
28098
+ <span class="k-skeleton k-skeleton-text k-skeleton-pulse" [style.width.px]="200"></span>
28099
+ </div>
28100
+ <div class="k-card-subtitle">
28101
+ <span class="k-skeleton k-skeleton-text k-skeleton-pulse" style="width: 100%;"></span>
28102
+ </div>
28103
+ </div>
28104
+ <div class="k-card-body">
28105
+ <span class="k-skeleton k-skeleton-rect k-skeleton-pulse" style="height: 80px;"></span>
28106
+ </div>
28107
+ <div class="k-card-actions">
28108
+ <span class="k-skeleton k-skeleton-text k-skeleton-pulse" style="width: 100%;"></span>
28109
+ </div>
28110
+ </div>
28111
+ </ng-template>
28112
+ <ng-template *ngIf="!(streaming && aiPrompt.streaming)" kendoAIPromptOutputBodyTemplate let-output>
28113
+ <p>{{output.output}}</p>
28114
+ </ng-template>
28115
+ <kendo-aiprompt-messages
28116
+ [generateOutput]="message('aiAssistantApplyButtonText')"
28117
+ ></kendo-aiprompt-messages>
28118
+ </kendo-aiprompt>
28119
+ `
28120
+ }]
28121
+ }], ctorParameters: function () { return [{ type: i1$8.HttpClient }, { type: ContextService }, { type: ColumnInfoService }]; }, propDecorators: { aiPrompt: [{
28122
+ type: ViewChild,
28123
+ args: [AIPromptComponent]
28124
+ }] } });
28125
+
28126
+ /**
28127
+ * Represents an AI Assistant tool of the Grid.
28128
+ * Use this directive on any `kendo-toolbar-button` inside a ToolbarComponent in the Grid.
28129
+ *
28130
+ * @example
28131
+ * ```html-no-run
28132
+ * <kendo-grid>
28133
+ * <kendo-toolbar>
28134
+ * <kendo-toolbar-button kendoGridAIAssistantTool></kendo-toolbar-button>
28135
+ * </kendo-toolbar>
28136
+ * </kendo-grid>
28137
+ * ```
28138
+ * @remarks
28139
+ * Applied to: {@link ToolBarButtonComponent}.
28140
+ */
28141
+ class AIAssistantToolbarDirective extends ToolbarToolBase {
28142
+ windowService;
28143
+ host;
28144
+ ctx;
28145
+ zone;
28146
+ refresh;
28147
+ /**
28148
+ * The URL to which the AI Assistant tool sends the AI request.
28149
+ * - When you set this property, the AI Assistant tool sends and handles an HTTP request to the provided `requestUrl`. You can handle the `promptRequest` event to modify the request options before the tool sends it.
28150
+ * - When you do not set this property, the AI Assistant tool does not send an HTTP request. You should handle the `promptRequest` event to send and handle a custom HTTP request.
28151
+ */
28152
+ requestUrl;
28153
+ /**
28154
+ * Configures the request options that the AI Assistant tool sends with the AI request.
28155
+ *
28156
+ * @default
28157
+ * ```typescript
28158
+ * {
28159
+ * headers: new HttpHeaders({ 'Content-Type': 'application/json' }),
28160
+ * role: 'user',
28161
+ * method: 'POST',
28162
+ * responseType: 'json',
28163
+ * withCredentials: false
28164
+ * }
28165
+ * ```
28166
+ */
28167
+ requestOptions;
28168
+ /**
28169
+ * Configures the settings for the AI Assistant Window.
28170
+ */
28171
+ aiWindowSettings;
28172
+ /**
28173
+ * Configures the settings for the AI prompt component that the AI Assistant Window component uses.
28174
+ */
28175
+ aiPromptSettings;
28176
+ /**
28177
+ * Emits an event before the AI Assistant tool sends the AI request.
28178
+ * - When you provide a `requestUrl`, you can handle the event to modify the request options.
28179
+ * - When you do not provide a `requestUrl`, you can handle the event to perform an entirely custom request.
28180
+ */
28181
+ promptRequest = new EventEmitter();
28182
+ /**
28183
+ * Emits an event when the user clicks the cancel button.
28184
+ */
28185
+ cancelRequest = new EventEmitter();
28186
+ /**
28187
+ * Emits an event when the AI Assistant tool completes the AI request successfully.
28188
+ * The event contains the response from the AI service.
28189
+ */
28190
+ responseSuccess = new EventEmitter();
28191
+ /**
28192
+ * Emits an event when the AI Assistant tool completes the AI request with an error.
28193
+ * The event contains the response from the AI service.
28194
+ */
28195
+ responseError = new EventEmitter();
28196
+ /**
28197
+ * Emits an event when the AI Assistant tool closes.
28198
+ */
28199
+ close = new EventEmitter();
28200
+ /**
28201
+ * Emits an event when the AI Assistant tool opens.
28202
+ * The event contains the window instance and the AI prompt instance.
28203
+ */
28204
+ open = new EventEmitter();
28205
+ tableWizardIcon = tableWizardIcon;
28206
+ windowRef;
28207
+ subs = new Subscription();
28208
+ actionSheetCloseSub;
28209
+ emitOpenClose = false;
28210
+ defaultAiPromptSettings = {
28211
+ speechToTextButton: true,
28212
+ generateButtonSVGIcon: this.tableWizardIcon,
28213
+ generateButtonIcon: 'table-wizard'
28214
+ };
28215
+ constructor(windowService, host, ctx, zone, refresh, cdr) {
28216
+ super(host, ToolbarToolName.aiAssistant, ctx, zone, cdr);
28217
+ this.windowService = windowService;
28218
+ this.host = host;
28219
+ this.ctx = ctx;
28220
+ this.zone = zone;
28221
+ this.refresh = refresh;
28222
+ this.host.rounded = 'full';
28223
+ this.host.themeColor = 'primary';
28224
+ this.host.showText = 'never';
28225
+ }
28226
+ ngOnInit() {
28227
+ this.subs.add(this.host.click.subscribe(() => this.onClick()));
28228
+ const hasToolbarIcon = isPresent$1(this.host.toolbarOptions.icon) && this.host.toolbarOptions.icon !== '';
28229
+ const hasOverflowIcon = isPresent$1(this.host.overflowOptions.icon) && this.host.overflowOptions.icon !== '';
28230
+ const hasIcon = hasToolbarIcon && hasOverflowIcon;
28231
+ const hasSvgIcon = isPresent$1(this.host.toolbarOptions.svgIcon) && isPresent$1(this.host.overflowOptions.svgIcon);
28232
+ if (!hasIcon) {
28233
+ this.host.icon = 'sparkles';
28234
+ }
28235
+ if (!hasSvgIcon) {
28236
+ this.host.svgIcon = sparklesIcon;
28237
+ }
28238
+ this.requestOptions = { ...DEFAULT_AI_REQUEST_OPTIONS, ...this.requestOptions };
28239
+ }
28240
+ ngAfterViewInit() {
28241
+ super.ngAfterViewInit();
28242
+ this.zone.onStable.pipe(take(1)).subscribe(() => {
28243
+ this.buttonElement?.setAttribute('aria-haspopup', 'dialog');
28244
+ this.buttonElement?.setAttribute('aria-expanded', 'false');
28245
+ const needsTitle = this.host.showText !== 'always' && this.host.showText !== 'toolbar';
28246
+ if (needsTitle && !this.host.title) {
28247
+ this.buttonElement?.setAttribute('title', this.ctx.localization.get('aiAssistantToolbarToolText'));
28248
+ }
28249
+ });
28250
+ this.subs.add(this.refresh.onRefresh.pipe(filter((tool) => tool === this.host)).subscribe((tool) => {
28251
+ if (tool.overflows && this.windowRef) {
28252
+ this.windowRef.close();
28253
+ }
28254
+ }));
28255
+ }
28256
+ ngOnDestroy() {
28257
+ super.ngOnDestroy();
28258
+ this.subs.unsubscribe();
28259
+ if (this.actionSheetCloseSub) {
28260
+ this.actionSheetCloseSub.unsubscribe();
28261
+ this.actionSheetCloseSub = null;
28262
+ }
28263
+ }
28264
+ /**
28265
+ * @hidden
28266
+ */
28267
+ onClick() {
28268
+ this.emitOpenClose = true;
28269
+ this.toggleWindow();
28270
+ }
28271
+ /**
28272
+ * Toggles the AI Assistant window.
28273
+ */
28274
+ toggleWindow() {
28275
+ if (!this.windowRef) {
28276
+ this.openWindow();
28277
+ }
28278
+ else {
28279
+ this.closeWindow();
28280
+ }
28281
+ }
28282
+ openWindow() {
28283
+ const defaultWindowWidth = 437;
28284
+ const rtl = this.ctx.localization.rtl;
28285
+ const defaultWindowSettings = {
28286
+ left: rtl ? this.buttonElement.offsetLeft - (this.aiWindowSettings.width || defaultWindowWidth) : this.buttonElement.offsetLeft + this.buttonElement.offsetWidth,
28287
+ top: this.buttonElement.offsetTop + this.buttonElement.offsetHeight,
28288
+ width: defaultWindowWidth,
28289
+ title: this.ctx.localization.get('aiAssistantWindowTitle'),
28290
+ cssClass: 'k-grid-assistant-window',
28291
+ content: AiAssistantComponent,
28292
+ autoFocusedElement: '.k-input-inner',
28293
+ appendTo: this.ctx.grid.windowContainer
28294
+ };
28295
+ this.aiWindowSettings = {
28296
+ ...defaultWindowSettings,
28297
+ ...this.aiWindowSettings
28298
+ };
28299
+ this.windowRef = this.windowService.open(this.aiWindowSettings);
28300
+ this.windowRef.window.instance.messages = {
28301
+ closeTitle: this.ctx.localization.get('aiAssistantWindowCloseTitle'),
28302
+ maximizeTitle: this.ctx.localization.get('aiAssistantWindowMaximizeTitle'),
28303
+ minimizeTitle: this.ctx.localization.get('aiAssistantWindowMinimizeTitle'),
28304
+ restoreTitle: this.ctx.localization.get('aiAssistantWindowRestoreTitle')
28305
+ };
28306
+ const aiPrompt = this.windowRef.content.instance;
28307
+ aiPrompt.requestUrl = this.requestUrl;
28308
+ aiPrompt.requestOptions = this.requestOptions;
28309
+ aiPrompt.aiToolDirective = this;
28310
+ aiPrompt.disabledGenerateButton = this.aiPromptSettings?.disabledGenerateButton;
28311
+ aiPrompt.streaming = this.aiPromptSettings?.streaming || false;
28312
+ aiPrompt.activeView = this.aiPromptSettings?.activeView || 0;
28313
+ aiPrompt.aiPromptSettings = { ...this.defaultAiPromptSettings, ...this.aiPromptSettings };
28314
+ if (this.emitOpenClose) {
28315
+ this.zone.onStable.pipe(take(1)).subscribe(() => {
28316
+ const event = {
28317
+ aiWindow: this.windowRef.window.instance,
28318
+ aiPrompt: this.windowRef.content.instance.aiPrompt
28319
+ };
28320
+ this.open.emit(event);
28321
+ this.emitOpenClose = false;
28322
+ });
28323
+ }
28324
+ this.subs.add(this.windowRef.window.instance.close.subscribe(() => {
28325
+ this.emitOpenClose = true;
28326
+ this.closeWindow(true);
28327
+ }));
28328
+ this.host.selected = true;
28329
+ }
28330
+ closeWindow(focusAnchor = false) {
28331
+ this.windowRef.close();
28332
+ if (this.emitOpenClose) {
28333
+ this.close.emit();
28334
+ this.emitOpenClose = false;
28335
+ }
28336
+ this.windowRef = null;
28337
+ this.buttonElement?.setAttribute('aria-expanded', 'false');
28338
+ this.buttonElement?.removeAttribute('aria-controls');
28339
+ this.host.selected = false;
28340
+ focusAnchor && this.buttonElement?.focus();
28341
+ }
28342
+ get buttonElement() {
28343
+ return this.host.getButton();
28344
+ }
28345
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIAssistantToolbarDirective, deps: [{ token: i1$7.WindowService }, { token: i53.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i53.RefreshService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
28346
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AIAssistantToolbarDirective, isStandalone: true, selector: "[kendoGridAIAssistantTool]", inputs: { requestUrl: "requestUrl", requestOptions: "requestOptions", aiWindowSettings: "aiWindowSettings", aiPromptSettings: "aiPromptSettings" }, outputs: { promptRequest: "promptRequest", cancelRequest: "cancelRequest", responseSuccess: "responseSuccess", responseError: "responseError", close: "close", open: "open" }, usesInheritance: true, ngImport: i0 });
28347
+ }
28348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIAssistantToolbarDirective, decorators: [{
28349
+ type: Directive,
28350
+ args: [{
28351
+ selector: '[kendoGridAIAssistantTool]',
28352
+ standalone: true
28353
+ }]
28354
+ }], ctorParameters: function () { return [{ type: i1$7.WindowService }, { type: i53.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i53.RefreshService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { requestUrl: [{
28355
+ type: Input
28356
+ }], requestOptions: [{
28357
+ type: Input
28358
+ }], aiWindowSettings: [{
28359
+ type: Input
28360
+ }], aiPromptSettings: [{
28361
+ type: Input
28362
+ }], promptRequest: [{
28363
+ type: Output
28364
+ }], cancelRequest: [{
28365
+ type: Output
28366
+ }], responseSuccess: [{
28367
+ type: Output
28368
+ }], responseError: [{
28369
+ type: Output
28370
+ }], close: [{
28371
+ type: Output
28372
+ }], open: [{
28373
+ type: Output
28374
+ }] } });
28375
+
27658
28376
  const createControl = (source) => (acc, key) => {
27659
28377
  acc[key] = new FormControl(source[key]);
27660
28378
  return acc;
@@ -28440,6 +29158,7 @@ class GridComponent {
28440
29158
  this._customToolbarTemplate = customToolbarTemplate;
28441
29159
  }
28442
29160
  columnMenuTemplates;
29161
+ aiAssistantToolbarTool;
28443
29162
  lockedHeader;
28444
29163
  header;
28445
29164
  footer = new QueryList();
@@ -28447,6 +29166,7 @@ class GridComponent {
28447
29166
  dragTargetContainer;
28448
29167
  dropTargetContainer;
28449
29168
  dialogContainer;
29169
+ windowContainer;
28450
29170
  adaptiveRenderer;
28451
29171
  listComponent;
28452
29172
  get scrollbarWidth() {
@@ -28499,6 +29219,10 @@ class GridComponent {
28499
29219
  selectionDirective = false;
28500
29220
  ariaRootId = `k-${guid()}`;
28501
29221
  showLicenseWatermark = false;
29222
+ /**
29223
+ * @hidden
29224
+ */
29225
+ licenseMessage;
28502
29226
  columnsContainer = new ColumnsContainer(() => this.columnList.filterHierarchy(column => {
28503
29227
  if (!isUniversal()) {
28504
29228
  column.matchesMedia = this.matchesMedia(column);
@@ -28702,6 +29426,7 @@ class GridComponent {
28702
29426
  this.rowReorderService = rowReorderService;
28703
29427
  this.dataMappingService = dataMappingService;
28704
29428
  const isValid = validatePackage(packageMetadata);
29429
+ this.licenseMessage = getLicenseMessage(packageMetadata);
28705
29430
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
28706
29431
  this.ctx.grid = this;
28707
29432
  this.groupChange = new ZoneAwareEventEmitter(this.ngZone);
@@ -29905,7 +30630,7 @@ class GridComponent {
29905
30630
  ColumnMenuService,
29906
30631
  MenuTabbingService,
29907
30632
  DataMappingService
29908
- ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "statusBarTemplateChildren", predicate: StatusBarTemplateDirective }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "adaptiveRenderer", first: true, predicate: AdaptiveRendererComponent, descendants: true }, { propertyName: "listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
30633
+ ], queries: [{ propertyName: "aiAssistantToolbarTool", first: true, predicate: AIAssistantToolbarDirective, descendants: true }, { propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "statusBarTemplateChildren", predicate: StatusBarTemplateDirective }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "windowContainer", first: true, predicate: ["windowContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "adaptiveRenderer", first: true, predicate: AdaptiveRendererComponent, descendants: true }, { propertyName: "listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
29909
30634
  <ng-container kendoGridLocalizedMessages
29910
30635
  i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
29911
30636
  groupPanelEmpty="Drag a column header and drop it here to group by that column"
@@ -30251,6 +30976,33 @@ class GridComponent {
30251
30976
 
30252
30977
  i18n-externalEditingCancelText="kendo.grid.externalEditingCancelText|The text of the external editing form Cancel button"
30253
30978
  externalEditingCancelText="Cancel"
30979
+
30980
+ i18n-aiAssistantToolbarToolText="kendo.grid.aiAssistantToolbarToolText|The text of the AI Assistant toolbar tool"
30981
+ aiAssistantToolbarToolText="AI Assistant"
30982
+
30983
+ i18n-aiAssistantWindowTitle="kendo.grid.aiAssistantWindowTitle|The text of the AI Assistant Window title"
30984
+ aiAssistantWindowTitle="AI Assistant"
30985
+
30986
+ i18n-aiAssistantApplyButtonText="kendo.grid.aiAssistantApplyButtonText|The text of the AI Assistant Apply button"
30987
+ aiAssistantApplyButtonText="Apply"
30988
+
30989
+ i18n-aiAssistantWindowCloseTitle="kendo.grid.aiAssistantWindowCloseTitle|The title of the AI Assistant Window close button"
30990
+ aiAssistantWindowCloseTitle="Close"
30991
+
30992
+ i18n-aiAssistantWindowMaximizeTitle="kendo.grid.aiAssistantWindowMaximizeTitle|The title of the AI Assistant Window maximize button"
30993
+ aiAssistantWindowMaximizeTitle="Maximize"
30994
+
30995
+ i18n-aiAssistantWindowMinimizeTitle="kendo.grid.aiAssistantWindowMinimizeTitle|The title of the AI Assistant Window minimize button"
30996
+ aiAssistantWindowMinimizeTitle="Minimize"
30997
+
30998
+ i18n-aiAssistantWindowRestoreTitle="kendo.grid.aiAssistantWindowRestoreTitle|The title of the AI Assistant Window restore button"
30999
+ aiAssistantWindowRestoreTitle="Restore"
31000
+
31001
+ i18n-aiAssistantOutputCardTitle="kendo.grid.aiAssistantOutputCardTitle|The title of the AI Assistant Prompt Output Card"
31002
+ aiAssistantOutputCardTitle="Generated with AI"
31003
+
31004
+ i18n-aiAssistantOutputCardBodyContent="kendo.grid.aiAssistantOutputCardBodyContent|The success message dispayed in the AI Assistant Prompt Output Card's body"
31005
+ aiAssistantOutputCardBodyContent="Operation is successful. Data is:"
30254
31006
  >
30255
31007
  </ng-container>
30256
31008
  <kendo-grid-toolbar
@@ -30670,8 +31422,10 @@ class GridComponent {
30670
31422
 
30671
31423
  <kendo-grid-adaptive-renderer *ngIf="isAdaptiveModeEnabled"></kendo-grid-adaptive-renderer>
30672
31424
 
31425
+ <div *ngIf="aiAssistantToolbarTool" #windowContainer></div>
31426
+
30673
31427
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
30674
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns", "totalColumnsCount"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "rowsToRender", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i51.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i51.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i51.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["showPageText", "size"] }, { kind: "component", type: i51.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i51.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i51.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["showItemsText", "pageSizes", "size", "adaptiveMode"] }, { kind: "component", type: i51.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i51.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i51.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive", "adaptiveMode"], outputs: ["pageChange", "pageSizeChange", "pagerInputVisibilityChange", "pageTextVisibilityChange", "itemsTextVisibilityChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-grid-adaptive-renderer" }], encapsulation: i0.ViewEncapsulation.None });
31428
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns", "totalColumnsCount"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "rowsToRender", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }, { kind: "component", type: i52.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i52.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i52.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["showPageText", "size"] }, { kind: "component", type: i52.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i52.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i52.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["showItemsText", "pageSizes", "size", "adaptiveMode"] }, { kind: "component", type: i52.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i52.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i52.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive", "adaptiveMode"], outputs: ["pageChange", "pageSizeChange", "pagerInputVisibilityChange", "pageTextVisibilityChange", "itemsTextVisibilityChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-grid-adaptive-renderer" }], encapsulation: i0.ViewEncapsulation.None });
30675
31429
  }
30676
31430
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
30677
31431
  type: Component,
@@ -31077,6 +31831,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31077
31831
 
31078
31832
  i18n-externalEditingCancelText="kendo.grid.externalEditingCancelText|The text of the external editing form Cancel button"
31079
31833
  externalEditingCancelText="Cancel"
31834
+
31835
+ i18n-aiAssistantToolbarToolText="kendo.grid.aiAssistantToolbarToolText|The text of the AI Assistant toolbar tool"
31836
+ aiAssistantToolbarToolText="AI Assistant"
31837
+
31838
+ i18n-aiAssistantWindowTitle="kendo.grid.aiAssistantWindowTitle|The text of the AI Assistant Window title"
31839
+ aiAssistantWindowTitle="AI Assistant"
31840
+
31841
+ i18n-aiAssistantApplyButtonText="kendo.grid.aiAssistantApplyButtonText|The text of the AI Assistant Apply button"
31842
+ aiAssistantApplyButtonText="Apply"
31843
+
31844
+ i18n-aiAssistantWindowCloseTitle="kendo.grid.aiAssistantWindowCloseTitle|The title of the AI Assistant Window close button"
31845
+ aiAssistantWindowCloseTitle="Close"
31846
+
31847
+ i18n-aiAssistantWindowMaximizeTitle="kendo.grid.aiAssistantWindowMaximizeTitle|The title of the AI Assistant Window maximize button"
31848
+ aiAssistantWindowMaximizeTitle="Maximize"
31849
+
31850
+ i18n-aiAssistantWindowMinimizeTitle="kendo.grid.aiAssistantWindowMinimizeTitle|The title of the AI Assistant Window minimize button"
31851
+ aiAssistantWindowMinimizeTitle="Minimize"
31852
+
31853
+ i18n-aiAssistantWindowRestoreTitle="kendo.grid.aiAssistantWindowRestoreTitle|The title of the AI Assistant Window restore button"
31854
+ aiAssistantWindowRestoreTitle="Restore"
31855
+
31856
+ i18n-aiAssistantOutputCardTitle="kendo.grid.aiAssistantOutputCardTitle|The title of the AI Assistant Prompt Output Card"
31857
+ aiAssistantOutputCardTitle="Generated with AI"
31858
+
31859
+ i18n-aiAssistantOutputCardBodyContent="kendo.grid.aiAssistantOutputCardBodyContent|The success message dispayed in the AI Assistant Prompt Output Card's body"
31860
+ aiAssistantOutputCardBodyContent="Operation is successful. Data is:"
31080
31861
  >
31081
31862
  </ng-container>
31082
31863
  <kendo-grid-toolbar
@@ -31496,6 +32277,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31496
32277
 
31497
32278
  <kendo-grid-adaptive-renderer *ngIf="isAdaptiveModeEnabled"></kendo-grid-adaptive-renderer>
31498
32279
 
32280
+ <div *ngIf="aiAssistantToolbarTool" #windowContainer></div>
32281
+
31499
32282
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
31500
32283
  `,
31501
32284
  standalone: true,
@@ -31504,7 +32287,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31504
32287
  TableDirective, GridTableDirective, ColGroupComponent, HeaderComponent, ResizableContainerDirective,
31505
32288
  ListComponent, DragTargetContainerDirective, DropTargetContainerDirective, DraggableDirective,
31506
32289
  GridMarqueeDirective, FooterComponent, TableBodyComponent, LoadingComponent, StatusBarComponent,
31507
- IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet, AdaptiveRendererComponent
32290
+ IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet, AdaptiveRendererComponent,
32291
+ WindowContainerDirective
31508
32292
  ]
31509
32293
  }]
31510
32294
  }], ctorParameters: function () { return [{ type: BrowserSupportService }, { type: SelectionService }, { type: CellSelectionService }, { type: i0.ElementRef }, { type: GroupInfoService }, { type: GroupsService }, { type: ChangeNotificationService }, { type: DetailsService }, { type: EditService }, { type: FilterService }, { type: PDFService }, { type: ResponsiveService }, { type: i0.Renderer2 }, { type: ExcelService }, { type: i0.NgZone }, { type: ScrollSyncService }, { type: DomEventsService }, { type: ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: ColumnReorderService }, { type: ColumnInfoService }, { type: NavigationService }, { type: SortService }, { type: ScrollRequestService }, { type: i1$2.LocalizationService }, { type: ContextService }, { type: SizingOptionsService }, { type: AdaptiveGridService }, { type: RowReorderService }, { type: DataMappingService }]; }, propDecorators: { data: [{
@@ -31698,6 +32482,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31698
32482
  }], columnMenuTemplates: [{
31699
32483
  type: ContentChildren,
31700
32484
  args: [ColumnMenuTemplateDirective]
32485
+ }], aiAssistantToolbarTool: [{
32486
+ type: ContentChild,
32487
+ args: [AIAssistantToolbarDirective]
31701
32488
  }], lockedHeader: [{
31702
32489
  type: ViewChild,
31703
32490
  args: ['lockedHeader']
@@ -31719,6 +32506,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31719
32506
  }], dialogContainer: [{
31720
32507
  type: ViewChild,
31721
32508
  args: ['dialogContainer', { read: ViewContainerRef }]
32509
+ }], windowContainer: [{
32510
+ type: ViewChild,
32511
+ args: ['windowContainer', { read: ViewContainerRef }]
31722
32512
  }], adaptiveRenderer: [{
31723
32513
  type: ViewChild,
31724
32514
  args: [AdaptiveRendererComponent]
@@ -32471,6 +33261,7 @@ class InCellEditingDirective extends EditingDirectiveBase {
32471
33261
  this.editService.assignValues(dataItem, formGroup.value);
32472
33262
  this.editService.update(dataItem);
32473
33263
  }
33264
+ this.cdr.markForCheck();
32474
33265
  }
32475
33266
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InCellEditingDirective, deps: [{ token: GridComponent }, { token: LocalDataChangesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
32476
33267
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: InCellEditingDirective, isStandalone: true, selector: "[kendoGridInCellEditing]", inputs: { createFormGroup: ["kendoGridInCellEditing", "createFormGroup"] }, usesInheritance: true, ngImport: i0 });
@@ -33559,7 +34350,7 @@ class PDFCommandToolbarDirective extends ToolbarToolBase {
33559
34350
  e.preventDefault();
33560
34351
  this.pdfService.exportClick.emit();
33561
34352
  }
33562
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDFCommandToolbarDirective, deps: [{ token: PDFService }, { token: i52.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
34353
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDFCommandToolbarDirective, deps: [{ token: PDFService }, { token: i53.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
33563
34354
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PDFCommandToolbarDirective, isStandalone: true, selector: "[kendoGridPDFTool]", usesInheritance: true, ngImport: i0 });
33564
34355
  }
33565
34356
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDFCommandToolbarDirective, decorators: [{
@@ -33568,7 +34359,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
33568
34359
  selector: '[kendoGridPDFTool]',
33569
34360
  standalone: true
33570
34361
  }]
33571
- }], ctorParameters: function () { return [{ type: PDFService }, { type: i52.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
34362
+ }], ctorParameters: function () { return [{ type: PDFService }, { type: i53.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
33572
34363
 
33573
34364
  /**
33574
34365
  * Represents the **Export to Excel** toolbar tool of the Grid.
@@ -33604,7 +34395,7 @@ class ExcelCommandToolbarDirective extends ToolbarToolBase {
33604
34395
  e.preventDefault();
33605
34396
  this.excelService.exportClick.emit();
33606
34397
  }
33607
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelCommandToolbarDirective, deps: [{ token: ExcelService }, { token: i52.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
34398
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelCommandToolbarDirective, deps: [{ token: ExcelService }, { token: i53.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
33608
34399
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ExcelCommandToolbarDirective, isStandalone: true, selector: "[kendoGridExcelTool]", usesInheritance: true, ngImport: i0 });
33609
34400
  }
33610
34401
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelCommandToolbarDirective, decorators: [{
@@ -33613,7 +34404,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
33613
34404
  selector: '[kendoGridExcelTool]',
33614
34405
  standalone: true
33615
34406
  }]
33616
- }], ctorParameters: function () { return [{ type: ExcelService }, { type: i52.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
34407
+ }], ctorParameters: function () { return [{ type: ExcelService }, { type: i53.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
33617
34408
 
33618
34409
  /**
33619
34410
  * @hidden
@@ -33681,13 +34472,13 @@ class ToolbarEditingToolBase extends ToolbarToolBase {
33681
34472
  get isSelectionPresent() {
33682
34473
  return isPresent$1(this.lastSelectionIndex) && this.lastSelectionIndex > -1;
33683
34474
  }
33684
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarEditingToolBase, deps: [{ token: i52.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: EditService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Directive });
34475
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarEditingToolBase, deps: [{ token: i53.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: EditService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Directive });
33685
34476
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarEditingToolBase, usesInheritance: true, ngImport: i0 });
33686
34477
  }
33687
34478
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarEditingToolBase, decorators: [{
33688
34479
  type: Directive,
33689
34480
  args: [{}]
33690
- }], ctorParameters: function () { return [{ type: i52.ToolBarButtonComponent }, { type: undefined, decorators: [{
34481
+ }], ctorParameters: function () { return [{ type: i53.ToolBarButtonComponent }, { type: undefined, decorators: [{
33691
34482
  type: Inject,
33692
34483
  args: ['command']
33693
34484
  }] }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: EditService }, { type: SelectionService }]; } });
@@ -33727,7 +34518,7 @@ class AddCommandToolbarDirective extends ToolbarEditingToolBase {
33727
34518
  e.preventDefault();
33728
34519
  this.editService.beginAdd();
33729
34520
  }
33730
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCommandToolbarDirective, deps: [{ token: EditService }, { token: i52.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
34521
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCommandToolbarDirective, deps: [{ token: EditService }, { token: i53.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
33731
34522
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AddCommandToolbarDirective, isStandalone: true, selector: "[kendoGridAddTool]", usesInheritance: true, ngImport: i0 });
33732
34523
  }
33733
34524
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCommandToolbarDirective, decorators: [{
@@ -33736,7 +34527,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
33736
34527
  selector: '[kendoGridAddTool]',
33737
34528
  standalone: true
33738
34529
  }]
33739
- }], ctorParameters: function () { return [{ type: EditService }, { type: i52.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
34530
+ }], ctorParameters: function () { return [{ type: EditService }, { type: i53.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
33740
34531
 
33741
34532
  /**
33742
34533
  * @hidden
@@ -34287,7 +35078,7 @@ class UndoCommandToolbarDirective {
34287
35078
  e.preventDefault();
34288
35079
  this.undoRedoService.onUndo.next();
34289
35080
  }
34290
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i52.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
35081
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i53.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
34291
35082
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: UndoCommandToolbarDirective, isStandalone: true, selector: "[kendoGridUndoTool]", ngImport: i0 });
34292
35083
  }
34293
35084
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoCommandToolbarDirective, decorators: [{
@@ -34296,7 +35087,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34296
35087
  selector: '[kendoGridUndoTool]',
34297
35088
  standalone: true,
34298
35089
  }]
34299
- }], ctorParameters: function () { return [{ type: UndoRedoService }, { type: i52.ToolBarButtonComponent }]; } });
35090
+ }], ctorParameters: function () { return [{ type: UndoRedoService }, { type: i53.ToolBarButtonComponent }]; } });
34300
35091
 
34301
35092
  /**
34302
35093
  * Represents the command that triggers the redo action in the Grid.
@@ -34350,7 +35141,7 @@ class RedoCommandToolbarDirective {
34350
35141
  e.preventDefault();
34351
35142
  this.undoRedoService.onRedo.next();
34352
35143
  }
34353
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RedoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i52.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
35144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RedoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i53.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
34354
35145
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RedoCommandToolbarDirective, isStandalone: true, selector: "[kendoGridRedoTool]", ngImport: i0 });
34355
35146
  }
34356
35147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RedoCommandToolbarDirective, decorators: [{
@@ -34359,7 +35150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34359
35150
  selector: '[kendoGridRedoTool]',
34360
35151
  standalone: true,
34361
35152
  }]
34362
- }], ctorParameters: function () { return [{ type: UndoRedoService }, { type: i52.ToolBarButtonComponent }]; } });
35153
+ }], ctorParameters: function () { return [{ type: UndoRedoService }, { type: i53.ToolBarButtonComponent }]; } });
34363
35154
 
34364
35155
  let incrementingId$2 = 0;
34365
35156
  /**
@@ -34550,7 +35341,7 @@ class SortCommandToolbarDirective {
34550
35341
  get buttonElement() {
34551
35342
  return this.host.getButton();
34552
35343
  }
34553
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SortCommandToolbarDirective, deps: [{ token: i52.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
35344
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SortCommandToolbarDirective, deps: [{ token: i53.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
34554
35345
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SortCommandToolbarDirective, isStandalone: true, selector: "[kendoGridSortTool]", ngImport: i0 });
34555
35346
  }
34556
35347
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SortCommandToolbarDirective, decorators: [{
@@ -34559,7 +35350,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34559
35350
  selector: '[kendoGridSortTool]',
34560
35351
  standalone: true
34561
35352
  }]
34562
- }], ctorParameters: function () { return [{ type: i52.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: SortService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }]; } });
35353
+ }], ctorParameters: function () { return [{ type: i53.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: SortService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }]; } });
34563
35354
 
34564
35355
  /**
34565
35356
  * @hidden
@@ -34882,7 +35673,7 @@ class FilterCommandToolbarDirective {
34882
35673
  get buttonElement() {
34883
35674
  return this.host.getButton();
34884
35675
  }
34885
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterCommandToolbarDirective, deps: [{ token: i52.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: FilterService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
35676
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterCommandToolbarDirective, deps: [{ token: i53.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: FilterService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
34886
35677
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilterCommandToolbarDirective, isStandalone: true, selector: "[kendoGridFilterTool]", ngImport: i0 });
34887
35678
  }
34888
35679
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterCommandToolbarDirective, decorators: [{
@@ -34891,7 +35682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34891
35682
  selector: '[kendoGridFilterTool]',
34892
35683
  standalone: true
34893
35684
  }]
34894
- }], ctorParameters: function () { return [{ type: i52.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: FilterService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }]; } });
35685
+ }], ctorParameters: function () { return [{ type: i53.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: FilterService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }]; } });
34895
35686
 
34896
35687
  /**
34897
35688
  * Represents the `edit` command in the Grid. Apply this directive to any `kendo-toolbar-button`
@@ -34927,7 +35718,7 @@ class EditCommandToolbarDirective extends ToolbarEditingToolBase {
34927
35718
  }
34928
35719
  this.editService.beginEdit(this.lastSelectionIndex);
34929
35720
  }
34930
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditCommandToolbarDirective, deps: [{ token: EditService }, { token: i52.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
35721
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditCommandToolbarDirective, deps: [{ token: EditService }, { token: i53.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
34931
35722
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EditCommandToolbarDirective, isStandalone: true, selector: "[kendoGridEditTool]", usesInheritance: true, ngImport: i0 });
34932
35723
  }
34933
35724
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditCommandToolbarDirective, decorators: [{
@@ -34936,7 +35727,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34936
35727
  selector: '[kendoGridEditTool]',
34937
35728
  standalone: true
34938
35729
  }]
34939
- }], ctorParameters: function () { return [{ type: EditService }, { type: i52.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
35730
+ }], ctorParameters: function () { return [{ type: EditService }, { type: i53.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
34940
35731
 
34941
35732
  /**
34942
35733
  * Represents the `save` command in the Grid. Apply this directive to any `kendo-toolbar-button`
@@ -34977,7 +35768,7 @@ class SaveCommandToolbarDirective extends ToolbarEditingToolBase {
34977
35768
  this.editService.editedIndices.forEach(i => this.editService.save(i.index));
34978
35769
  }
34979
35770
  }
34980
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SaveCommandToolbarDirective, deps: [{ token: EditService }, { token: i52.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
35771
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SaveCommandToolbarDirective, deps: [{ token: EditService }, { token: i53.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
34981
35772
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SaveCommandToolbarDirective, isStandalone: true, selector: "[kendoGridSaveTool]", usesInheritance: true, ngImport: i0 });
34982
35773
  }
34983
35774
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SaveCommandToolbarDirective, decorators: [{
@@ -34986,7 +35777,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34986
35777
  selector: '[kendoGridSaveTool]',
34987
35778
  standalone: true
34988
35779
  }]
34989
- }], ctorParameters: function () { return [{ type: EditService }, { type: i52.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
35780
+ }], ctorParameters: function () { return [{ type: EditService }, { type: i53.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
34990
35781
 
34991
35782
  /**
34992
35783
  * Represents the `remove` command in the Grid. Apply this directive to any `kendo-toolbar-button`
@@ -35023,7 +35814,7 @@ class RemoveCommandToolbarDirective extends ToolbarEditingToolBase {
35023
35814
  this.editService.remove(this.lastSelectionIndex);
35024
35815
  }
35025
35816
  }
35026
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveCommandToolbarDirective, deps: [{ token: EditService }, { token: i52.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
35817
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveCommandToolbarDirective, deps: [{ token: EditService }, { token: i53.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
35027
35818
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RemoveCommandToolbarDirective, isStandalone: true, selector: "[kendoGridRemoveTool]", usesInheritance: true, ngImport: i0 });
35028
35819
  }
35029
35820
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveCommandToolbarDirective, decorators: [{
@@ -35032,7 +35823,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
35032
35823
  selector: '[kendoGridRemoveTool]',
35033
35824
  standalone: true
35034
35825
  }]
35035
- }], ctorParameters: function () { return [{ type: EditService }, { type: i52.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
35826
+ }], ctorParameters: function () { return [{ type: EditService }, { type: i53.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
35036
35827
 
35037
35828
  /**
35038
35829
  * Represents the `cancel` command in the Grid.
@@ -35072,7 +35863,7 @@ class CancelCommandToolbarDirective extends ToolbarEditingToolBase {
35072
35863
  this.editService.editedIndices.forEach(i => this.editService.endEdit(i.index));
35073
35864
  }
35074
35865
  }
35075
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CancelCommandToolbarDirective, deps: [{ token: EditService }, { token: i52.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
35866
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CancelCommandToolbarDirective, deps: [{ token: EditService }, { token: i53.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
35076
35867
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CancelCommandToolbarDirective, isStandalone: true, selector: "[kendoGridCancelTool]", usesInheritance: true, ngImport: i0 });
35077
35868
  }
35078
35869
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CancelCommandToolbarDirective, decorators: [{
@@ -35081,7 +35872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
35081
35872
  selector: '[kendoGridCancelTool]',
35082
35873
  standalone: true
35083
35874
  }]
35084
- }], ctorParameters: function () { return [{ type: EditService }, { type: i52.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
35875
+ }], ctorParameters: function () { return [{ type: EditService }, { type: i53.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
35085
35876
 
35086
35877
  let incrementingId = 0;
35087
35878
  /**
@@ -35262,7 +36053,7 @@ class GroupCommandToolbarDirective {
35262
36053
  isGroupingApplied(group) {
35263
36054
  return isPresent$1(group) && group.length > 0;
35264
36055
  }
35265
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GroupCommandToolbarDirective, deps: [{ token: i52.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
36056
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GroupCommandToolbarDirective, deps: [{ token: i53.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
35266
36057
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GroupCommandToolbarDirective, isStandalone: true, selector: "[kendoGridGroupTool]", ngImport: i0 });
35267
36058
  }
35268
36059
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GroupCommandToolbarDirective, decorators: [{
@@ -35271,7 +36062,130 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
35271
36062
  selector: '[kendoGridGroupTool]',
35272
36063
  standalone: true
35273
36064
  }]
35274
- }], ctorParameters: function () { return [{ type: i52.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }]; } });
36065
+ }], ctorParameters: function () { return [{ type: i53.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }]; } });
36066
+
36067
+ /**
36068
+ * Stores the row and cell highlight state of the Grid.
36069
+ *
36070
+ * @example
36071
+ * ```typescript
36072
+ * <kendo-grid kendoGridHighlight="ProductID"></kendo-grid>
36073
+ *
36074
+ * <kendo-grid [kendoGridHighlight]="myKey"></kendo-grid>
36075
+ * ```
36076
+ * @remarks
36077
+ * Applied to: {@link GridComponent}.
36078
+ */
36079
+ class HighlightDirective {
36080
+ ctx;
36081
+ /**
36082
+ * Stores the highlighted items keys.
36083
+ * @default []
36084
+ */
36085
+ highlightedKeys = [];
36086
+ /**
36087
+ * Sets the item key to store in `highlightedKeys`. The Grid uses the row index as the default item key.
36088
+ */
36089
+ highlightItemKey;
36090
+ /**
36091
+ * Sets the column key for a data cell. The Grid uses the column index as the default column key.
36092
+ */
36093
+ highlightColumnKey;
36094
+ rowHighlightState = new Set();
36095
+ cellHighlightState = new PairSet();
36096
+ constructor(ctx) {
36097
+ this.ctx = ctx;
36098
+ this.ctx.highlightDirective = this;
36099
+ }
36100
+ ngOnChanges(changes) {
36101
+ if (isPresent$1(changes['highlightedKeys'])) {
36102
+ this.setState(this.highlightedKeys);
36103
+ }
36104
+ }
36105
+ ngOnDestroy() {
36106
+ this.reset();
36107
+ this.ctx.highlightDirective = null;
36108
+ }
36109
+ /**
36110
+ * @hidden
36111
+ */
36112
+ isRowHighlighted(row) {
36113
+ return this.rowHighlightState.has(this.getItemKey(row));
36114
+ }
36115
+ /**
36116
+ * @hidden
36117
+ */
36118
+ isCellHighlighted(row, column, colIndex) {
36119
+ const highlightItem = this.getHighlightItem(row, column, colIndex);
36120
+ return this.cellHighlightState.has(highlightItem.itemKey, highlightItem.columnKey);
36121
+ }
36122
+ getItemKey(row) {
36123
+ if (this.highlightItemKey) {
36124
+ if (typeof this.highlightItemKey === "string") {
36125
+ return row.data?.[this.highlightItemKey];
36126
+ }
36127
+ if (typeof this.highlightItemKey === "function") {
36128
+ return this.highlightItemKey(row);
36129
+ }
36130
+ }
36131
+ return row.index;
36132
+ }
36133
+ getHighlightItem(row, col, colIndex) {
36134
+ const itemIdentifiers = {};
36135
+ itemIdentifiers.itemKey = this.getItemKey(row);
36136
+ if (!isPresent$1(col) && !isPresent$1(colIndex)) {
36137
+ return itemIdentifiers;
36138
+ }
36139
+ if (this.highlightColumnKey) {
36140
+ if (typeof this.highlightColumnKey === "string") {
36141
+ itemIdentifiers.columnKey = row.dataItem[this.highlightColumnKey];
36142
+ }
36143
+ if (typeof this.highlightColumnKey === "function") {
36144
+ itemIdentifiers.columnKey = this.highlightColumnKey(col, colIndex);
36145
+ }
36146
+ }
36147
+ return {
36148
+ itemKey: itemIdentifiers.itemKey,
36149
+ columnKey: itemIdentifiers.columnKey ? itemIdentifiers.columnKey : colIndex
36150
+ };
36151
+ }
36152
+ setState(highlightedKeys) {
36153
+ this.reset();
36154
+ if (!highlightedKeys || highlightedKeys.length === 0) {
36155
+ return;
36156
+ }
36157
+ const rowHighlights = highlightedKeys.filter(item => !isPresent$1(item.columnKey));
36158
+ const cellHighlights = highlightedKeys.filter(item => isPresent$1(item.columnKey));
36159
+ if (cellHighlights.length > 0) {
36160
+ this.cellHighlightState = new PairSet(cellHighlights, 'itemKey', 'columnKey');
36161
+ }
36162
+ if (rowHighlights.length > 0) {
36163
+ rowHighlights.forEach(item => {
36164
+ this.rowHighlightState.add(item.itemKey);
36165
+ });
36166
+ }
36167
+ }
36168
+ reset() {
36169
+ this.rowHighlightState.clear();
36170
+ this.cellHighlightState.clear();
36171
+ }
36172
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HighlightDirective, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Directive });
36173
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: HighlightDirective, isStandalone: true, selector: "[kendoGridHighlight]", inputs: { highlightedKeys: "highlightedKeys", highlightItemKey: ["kendoGridHighlight", "highlightItemKey"], highlightColumnKey: "highlightColumnKey" }, usesOnChanges: true, ngImport: i0 });
36174
+ }
36175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HighlightDirective, decorators: [{
36176
+ type: Directive,
36177
+ args: [{
36178
+ selector: '[kendoGridHighlight]',
36179
+ standalone: true
36180
+ }]
36181
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { highlightedKeys: [{
36182
+ type: Input
36183
+ }], highlightItemKey: [{
36184
+ type: Input,
36185
+ args: ["kendoGridHighlight"]
36186
+ }], highlightColumnKey: [{
36187
+ type: Input
36188
+ }] } });
35275
36189
 
35276
36190
  // DRAGGABLE COLUMN
35277
36191
  /**
@@ -35502,6 +36416,7 @@ const KENDO_GRID_BODY_EXPORTS = [
35502
36416
  RowReorderColumnComponent,
35503
36417
  SortCommandToolbarDirective,
35504
36418
  FilterCommandToolbarDirective,
36419
+ AIAssistantToolbarDirective,
35505
36420
  GroupCommandToolbarDirective
35506
36421
  ];
35507
36422
  /**
@@ -35518,6 +36433,7 @@ const KENDO_GRID_DECLARATIONS = [
35518
36433
  DataBindingDirective,
35519
36434
  ToolbarTemplateDirective,
35520
36435
  SelectionDirective,
36436
+ HighlightDirective,
35521
36437
  TemplateEditingDirective,
35522
36438
  ReactiveEditingDirective,
35523
36439
  InCellEditingDirective,
@@ -35549,6 +36465,7 @@ const KENDO_GRID_EXPORTS = [
35549
36465
  StatusBarTemplateDirective,
35550
36466
  DataBindingDirective,
35551
36467
  SelectionDirective,
36468
+ HighlightDirective,
35552
36469
  CustomMessagesComponent,
35553
36470
  GroupBindingDirective,
35554
36471
  TemplateEditingDirective,
@@ -35642,9 +36559,9 @@ const KENDO_GRID = [
35642
36559
  */
35643
36560
  class GridModule {
35644
36561
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35645
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridModule, imports: [GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, EditCommandToolbarDirective, SaveCommandToolbarDirective, RemoveCommandToolbarDirective, CancelCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, SortCommandToolbarDirective, FilterCommandToolbarDirective, GroupCommandToolbarDirective, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FooterComponent, i51.CustomMessagesComponent, i51.PagerFocusableDirective, i51.PagerInfoComponent, i51.PagerInputComponent, i51.PagerNextButtonsComponent, i51.PagerNumericButtonsComponent, i51.PagerPageSizesComponent, i51.PagerPrevButtonsComponent, i51.PagerTemplateDirective, i51.PagerComponent, i51.PagerSpacerComponent, i52.ToolBarComponent, i52.ToolbarCustomMessagesComponent, i52.ToolBarButtonComponent, i52.ToolBarButtonGroupComponent, i52.ToolBarDropDownButtonComponent, i52.ToolBarSeparatorComponent, i52.ToolBarSpacerComponent, i52.ToolBarSplitButtonComponent, i52.ToolBarToolComponent, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellHostDirective, FilterCellWrapperComponent, DateFilterCellComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, FilterMenuHostDirective, BooleanFilterMenuComponent, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, ColumnMenuChooserItemCheckedDirective, ColumnListComponent, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnMenuChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuComponent, ColumnMenuLockComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridComponent, ListComponent, ToolbarComponent, LocalizedMessagesDirective, CustomMessagesComponent, DataBindingDirective, ToolbarTemplateDirective, SelectionDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GroupBindingDirective, GridMarqueeDirective, GridSpacerComponent, GridToolbarFocusableDirective, StatusBarComponent, StatusBarTemplateDirective, GridClipboardDirective, FormComponent, DialogFormComponent, FormFormFieldComponent, UndoRedoDirective, i52.ToolBarComponent, i52.ToolbarCustomMessagesComponent, i52.ToolBarButtonComponent, i52.ToolBarButtonGroupComponent, i52.ToolBarDropDownButtonComponent, i52.ToolBarSeparatorComponent, i52.ToolBarSpacerComponent, i52.ToolBarSplitButtonComponent, i52.ToolBarToolComponent, TableDirective,
36562
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridModule, imports: [GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, EditCommandToolbarDirective, SaveCommandToolbarDirective, RemoveCommandToolbarDirective, CancelCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, SortCommandToolbarDirective, FilterCommandToolbarDirective, AIAssistantToolbarDirective, GroupCommandToolbarDirective, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FooterComponent, i52.CustomMessagesComponent, i52.PagerFocusableDirective, i52.PagerInfoComponent, i52.PagerInputComponent, i52.PagerNextButtonsComponent, i52.PagerNumericButtonsComponent, i52.PagerPageSizesComponent, i52.PagerPrevButtonsComponent, i52.PagerTemplateDirective, i52.PagerComponent, i52.PagerSpacerComponent, i53.ToolBarComponent, i53.ToolbarCustomMessagesComponent, i53.ToolBarButtonComponent, i53.ToolBarButtonGroupComponent, i53.ToolBarDropDownButtonComponent, i53.ToolBarSeparatorComponent, i53.ToolBarSpacerComponent, i53.ToolBarSplitButtonComponent, i53.ToolBarToolComponent, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellHostDirective, FilterCellWrapperComponent, DateFilterCellComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, FilterMenuHostDirective, BooleanFilterMenuComponent, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, ColumnMenuChooserItemCheckedDirective, ColumnListComponent, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnMenuChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuComponent, ColumnMenuLockComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridComponent, ListComponent, ToolbarComponent, LocalizedMessagesDirective, CustomMessagesComponent, DataBindingDirective, ToolbarTemplateDirective, SelectionDirective, HighlightDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GroupBindingDirective, GridMarqueeDirective, GridSpacerComponent, GridToolbarFocusableDirective, StatusBarComponent, StatusBarTemplateDirective, GridClipboardDirective, FormComponent, DialogFormComponent, FormFormFieldComponent, UndoRedoDirective, i53.ToolBarComponent, i53.ToolbarCustomMessagesComponent, i53.ToolBarButtonComponent, i53.ToolBarButtonGroupComponent, i53.ToolBarDropDownButtonComponent, i53.ToolBarSeparatorComponent, i53.ToolBarSpacerComponent, i53.ToolBarSplitButtonComponent, i53.ToolBarToolComponent, TableDirective,
35646
36563
  UndoCommandToolbarDirective,
35647
- RedoCommandToolbarDirective], exports: [GridComponent, ToolbarTemplateDirective, ToolbarComponent, GridSpacerComponent, StatusBarTemplateDirective, DataBindingDirective, SelectionDirective, CustomMessagesComponent, GroupBindingDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GridToolbarFocusableDirective, GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, EditCommandToolbarDirective, SaveCommandToolbarDirective, RemoveCommandToolbarDirective, CancelCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, SortCommandToolbarDirective, FilterCommandToolbarDirective, GroupCommandToolbarDirective, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellHostDirective, FilterCellWrapperComponent, DateFilterCellComponent, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, FilterMenuHostDirective, BooleanFilterMenuComponent, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridClipboardDirective, UndoRedoDirective, UndoCommandToolbarDirective, RedoCommandToolbarDirective, i52.ToolBarComponent, i52.ToolbarCustomMessagesComponent, i52.ToolBarButtonComponent, i52.ToolBarButtonGroupComponent, i52.ToolBarDropDownButtonComponent, i52.ToolBarSeparatorComponent, i52.ToolBarSpacerComponent, i52.ToolBarSplitButtonComponent, i52.ToolBarToolComponent, i51.CustomMessagesComponent, i51.PagerFocusableDirective, i51.PagerInfoComponent, i51.PagerInputComponent, i51.PagerNextButtonsComponent, i51.PagerNumericButtonsComponent, i51.PagerPageSizesComponent, i51.PagerPrevButtonsComponent, i51.PagerTemplateDirective, i51.PagerComponent, i51.PagerSpacerComponent] });
36564
+ RedoCommandToolbarDirective], exports: [GridComponent, ToolbarTemplateDirective, ToolbarComponent, GridSpacerComponent, StatusBarTemplateDirective, DataBindingDirective, SelectionDirective, HighlightDirective, CustomMessagesComponent, GroupBindingDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GridToolbarFocusableDirective, GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, EditCommandToolbarDirective, SaveCommandToolbarDirective, RemoveCommandToolbarDirective, CancelCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, SortCommandToolbarDirective, FilterCommandToolbarDirective, AIAssistantToolbarDirective, GroupCommandToolbarDirective, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellHostDirective, FilterCellWrapperComponent, DateFilterCellComponent, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, FilterMenuHostDirective, BooleanFilterMenuComponent, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridClipboardDirective, UndoRedoDirective, UndoCommandToolbarDirective, RedoCommandToolbarDirective, i53.ToolBarComponent, i53.ToolbarCustomMessagesComponent, i53.ToolBarButtonComponent, i53.ToolBarButtonGroupComponent, i53.ToolBarDropDownButtonComponent, i53.ToolBarSeparatorComponent, i53.ToolBarSpacerComponent, i53.ToolBarSplitButtonComponent, i53.ToolBarToolComponent, i52.CustomMessagesComponent, i52.PagerFocusableDirective, i52.PagerInfoComponent, i52.PagerInputComponent, i52.PagerNextButtonsComponent, i52.PagerNumericButtonsComponent, i52.PagerPageSizesComponent, i52.PagerPrevButtonsComponent, i52.PagerTemplateDirective, i52.PagerComponent, i52.PagerSpacerComponent] });
35648
36565
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, providers: [
35649
36566
  PopupService,
35650
36567
  ResizeBatchService,
@@ -35659,7 +36576,7 @@ class GridModule {
35659
36576
  MonthViewService,
35660
36577
  YearViewService,
35661
36578
  NavigationService$1
35662
- ], imports: [GroupHeaderComponent, GroupPanelComponent, TableBodyComponent, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, HeaderComponent, i51.CustomMessagesComponent, i51.PagerInfoComponent, i51.PagerInputComponent, i51.PagerNextButtonsComponent, i51.PagerNumericButtonsComponent, i51.PagerPageSizesComponent, i51.PagerPrevButtonsComponent, i51.PagerComponent, i51.PagerSpacerComponent, i52.ToolBarComponent, i52.ToolbarCustomMessagesComponent, i52.ToolBarButtonComponent, i52.ToolBarButtonGroupComponent, i52.ToolBarDropDownButtonComponent, i52.ToolBarSeparatorComponent, i52.ToolBarSpacerComponent, i52.ToolBarSplitButtonComponent, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellWrapperComponent, DateFilterCellComponent, FilterCellOperatorsComponent, FilterCellOperatorsComponent, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, BooleanFilterMenuComponent, ColumnListComponent, ColumnChooserComponent, ColumnMenuChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuSortComponent, ColumnMenuComponent, ColumnMenuLockComponent, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridComponent, ListComponent, FormComponent, DialogFormComponent, FormFormFieldComponent, i52.ToolBarComponent, i52.ToolbarCustomMessagesComponent, i52.ToolBarButtonComponent, i52.ToolBarButtonGroupComponent, i52.ToolBarDropDownButtonComponent, i52.ToolBarSeparatorComponent, i52.ToolBarSpacerComponent, i52.ToolBarSplitButtonComponent] });
36579
+ ], imports: [GroupHeaderComponent, GroupPanelComponent, TableBodyComponent, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, HeaderComponent, i52.CustomMessagesComponent, i52.PagerInfoComponent, i52.PagerInputComponent, i52.PagerNextButtonsComponent, i52.PagerNumericButtonsComponent, i52.PagerPageSizesComponent, i52.PagerPrevButtonsComponent, i52.PagerComponent, i52.PagerSpacerComponent, i53.ToolBarComponent, i53.ToolbarCustomMessagesComponent, i53.ToolBarButtonComponent, i53.ToolBarButtonGroupComponent, i53.ToolBarDropDownButtonComponent, i53.ToolBarSeparatorComponent, i53.ToolBarSpacerComponent, i53.ToolBarSplitButtonComponent, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellWrapperComponent, DateFilterCellComponent, FilterCellOperatorsComponent, FilterCellOperatorsComponent, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, BooleanFilterMenuComponent, ColumnListComponent, ColumnChooserComponent, ColumnMenuChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuSortComponent, ColumnMenuComponent, ColumnMenuLockComponent, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridComponent, ListComponent, FormComponent, DialogFormComponent, FormFormFieldComponent, i53.ToolBarComponent, i53.ToolbarCustomMessagesComponent, i53.ToolBarButtonComponent, i53.ToolBarButtonGroupComponent, i53.ToolBarDropDownButtonComponent, i53.ToolBarSeparatorComponent, i53.ToolBarSpacerComponent, i53.ToolBarSplitButtonComponent] });
35663
36580
  }
35664
36581
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, decorators: [{
35665
36582
  type: NgModule,
@@ -35771,5 +36688,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
35771
36688
  * Generated bundle index. Do not edit.
35772
36689
  */
35773
36690
 
35774
- export { AddCommandDirective, AddCommandToolbarDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CancelCommandToolbarDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionAggregateService, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditCommandToolbarDirective, EditService as EditServiceClass, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, ExternalEditingDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterCommandToolbarDirective, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridClipboardDirective, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupCommandToolbarDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupPanelComponent, GroupsService, HeaderComponent, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, KENDO_GRID, KENDO_GRID_BODY_EXPORTS, KENDO_GRID_COLUMN_DRAGANDDROP, KENDO_GRID_COLUMN_MENU_DECLARATIONS, KENDO_GRID_COLUMN_MENU_EXPORTS, KENDO_GRID_DECLARATIONS, KENDO_GRID_EXCEL_EXPORT, KENDO_GRID_EXPORTS, KENDO_GRID_FILTER_MENU, KENDO_GRID_FILTER_MENU_EXPORTS, KENDO_GRID_FILTER_OPERATORS, KENDO_GRID_FILTER_ROW, KENDO_GRID_FILTER_ROW_EXPORTS, KENDO_GRID_FILTER_SHARED, KENDO_GRID_FOOTER_EXPORTS, KENDO_GRID_GROUP_EXPORTS, KENDO_GRID_HEADER_EXPORTS, KENDO_GRID_PDF_EXPORT, KENDO_GRID_SHARED, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFCommandToolbarDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RedoCommandToolbarDirective, RemoveCommandDirective, RemoveCommandToolbarDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, RowEditingDirectiveBase, RowReorderColumnComponent, RowReorderService, SaveCommandDirective, SaveCommandToolbarDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SinglePopupService, SizingOptionsService, Skip, SortCommandToolbarDirective, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, UndoCommandToolbarDirective, UndoRedoDirective, UndoRedoEvent, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
36691
+ export { AIAssistantToolbarDirective, AddCommandDirective, AddCommandToolbarDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CancelCommandToolbarDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionAggregateService, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_AI_REQUEST_OPTIONS, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditCommandToolbarDirective, EditService as EditServiceClass, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, ExternalEditingDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterCommandToolbarDirective, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridClipboardDirective, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupCommandToolbarDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupPanelComponent, GroupsService, HeaderComponent, HeaderTemplateDirective, HighlightDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, KENDO_GRID, KENDO_GRID_BODY_EXPORTS, KENDO_GRID_COLUMN_DRAGANDDROP, KENDO_GRID_COLUMN_MENU_DECLARATIONS, KENDO_GRID_COLUMN_MENU_EXPORTS, KENDO_GRID_DECLARATIONS, KENDO_GRID_EXCEL_EXPORT, KENDO_GRID_EXPORTS, KENDO_GRID_FILTER_MENU, KENDO_GRID_FILTER_MENU_EXPORTS, KENDO_GRID_FILTER_OPERATORS, KENDO_GRID_FILTER_ROW, KENDO_GRID_FILTER_ROW_EXPORTS, KENDO_GRID_FILTER_SHARED, KENDO_GRID_FOOTER_EXPORTS, KENDO_GRID_GROUP_EXPORTS, KENDO_GRID_HEADER_EXPORTS, KENDO_GRID_PDF_EXPORT, KENDO_GRID_SHARED, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFCommandToolbarDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RedoCommandToolbarDirective, RemoveCommandDirective, RemoveCommandToolbarDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, RowEditingDirectiveBase, RowReorderColumnComponent, RowReorderService, SaveCommandDirective, SaveCommandToolbarDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SinglePopupService, SizingOptionsService, Skip, SortCommandToolbarDirective, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, UndoCommandToolbarDirective, UndoRedoDirective, UndoRedoEvent, convertDateStringsInFilter, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isDateField, isFilterable, slice };
35775
36692