@progress/kendo-angular-grid 23.0.0-develop.4 → 23.0.0-develop.6

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.
@@ -10,11 +10,11 @@ import { isDocumentAvailable, Keys, hasClasses as hasClasses$1, isPresent as isP
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, searchIcon, checkIcon, arrowRotateCcwIcon, columnsIcon, sparklesIcon, fileCsvIcon, filePdfIcon, fileExcelIcon, trashIcon, saveIcon, pencilIcon, chevronUpIcon, chevronDownIcon, chevronRightIcon, displayInlineFlexIcon, maxWidthIcon, stickIcon, unstickIcon, setColumnPositionIcon, slidersIcon, moreVerticalIcon, reorderIcon, minusIcon, insertMiddleIcon, xIcon, xCircleIcon, plusCircleIcon, chevronLeftIcon, undoIcon, redoIcon, arrowsSwapIcon, groupIcon, tableWizardIcon } from '@progress/kendo-svg-icons';
13
+ import { plusIcon, cancelIcon, lockIcon, unlockIcon, caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, arrowLeftIcon, arrowRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterClearIcon, filterIcon, searchIcon, checkIcon, arrowRotateCcwIcon, columnsIcon, sparklesIcon, fileCsvIcon, filePdfIcon, fileExcelIcon, trashIcon, saveIcon, pencilIcon, chevronUpIcon, chevronDownIcon, chevronRightIcon, displayInlineFlexIcon, maxWidthIcon, stickIcon, unstickIcon, setColumnPositionIcon, slidersIcon, moreVerticalIcon, reorderIcon, minusIcon, insertMiddleIcon, xIcon, xCircleIcon, plusCircleIcon, chevronLeftIcon, undoIcon, redoIcon, arrowsSwapIcon, groupIcon, tableWizardIcon, clockArrowRotateIcon, fileClockOutlineIcon, zoomSparkleIcon, arrowUpOutlineIcon, stopSmIcon, lightbulbOutlineIcon } 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 i53 from '@progress/kendo-angular-pager';
17
+ import * as i56 from '@progress/kendo-angular-pager';
18
18
  import { PagerTemplateDirective, PagerContextService, PagerNavigationService, KENDO_PAGER } from '@progress/kendo-angular-pager';
19
19
  import { orderBy, isCompositeFilterDescriptor, filterBy, groupBy, process } from '@progress/kendo-data-query';
20
20
  import { NgTemplateOutlet, NgClass, NgStyle, KeyValuePipe } from '@angular/common';
@@ -24,9 +24,9 @@ import { parseDate } from '@progress/kendo-angular-intl';
24
24
  import * as i2 from '@progress/kendo-angular-popup';
25
25
  import { PopupService } from '@progress/kendo-angular-popup';
26
26
  import * as i1$6 from '@progress/kendo-angular-buttons';
27
- import { ChipListComponent, ChipComponent, ButtonComponent, Button, KENDO_BUTTON, ButtonDirective } from '@progress/kendo-angular-buttons';
27
+ import { ChipListComponent, ChipComponent, ButtonComponent, Button, KENDO_BUTTON, ButtonDirective, KENDO_BUTTONS } from '@progress/kendo-angular-buttons';
28
28
  import * as i1$5 from '@progress/kendo-angular-dropdowns';
29
- import { DropDownListComponent, AutoCompleteComponent } from '@progress/kendo-angular-dropdowns';
29
+ import { DropDownListComponent, AutoCompleteComponent, DataService, SelectionService as SelectionService$1, NavigationService as NavigationService$1, DisabledItemsService } from '@progress/kendo-angular-dropdowns';
30
30
  import * as i2$2 from '@angular/forms';
31
31
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule, FormControl, FormGroup } from '@angular/forms';
32
32
  import * as i2$1 from '@progress/kendo-angular-utils';
@@ -34,8 +34,8 @@ import { DragTargetContainerDirective, DropTargetContainerDirective } from '@pro
34
34
  import * as i4 from '@progress/kendo-angular-inputs';
35
35
  import { TextBoxComponent, NumericTextBoxComponent, NumericTextBoxCustomMessagesComponent, RadioButtonComponent, CheckBoxComponent, TextBoxPrefixTemplateDirective, KENDO_FORMFIELD, KENDO_TEXTBOX, KENDO_NUMERICTEXTBOX, KENDO_CHECKBOX } from '@progress/kendo-angular-inputs';
36
36
  import * as i5 from '@progress/kendo-angular-dateinputs';
37
- import { DatePickerComponent, DatePickerCustomMessagesComponent, KENDO_DATEPICKER, CalendarDOMService, CenturyViewService, DecadeViewService, MonthViewService, YearViewService, NavigationService as NavigationService$1 } from '@progress/kendo-angular-dateinputs';
38
- import * as i54 from '@progress/kendo-angular-toolbar';
37
+ import { DatePickerComponent, DatePickerCustomMessagesComponent, KENDO_DATEPICKER, CalendarDOMService, CenturyViewService, DecadeViewService, MonthViewService, YearViewService, NavigationService as NavigationService$2 } from '@progress/kendo-angular-dateinputs';
38
+ import * as i57 from '@progress/kendo-angular-toolbar';
39
39
  import { ToolBarToolComponent, KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';
40
40
  import { trigger, state, transition, style, animate } from '@angular/animations';
41
41
  import { TabStripComponent, TabStripTabComponent, TabTitleDirective, TabContentDirective } from '@progress/kendo-angular-layout';
@@ -4494,12 +4494,12 @@ class NavigationService {
4494
4494
  }
4495
4495
  }
4496
4496
  }
4497
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: i53.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 });
4497
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: i56.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 });
4498
4498
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService });
4499
4499
  }
4500
4500
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService, decorators: [{
4501
4501
  type: Injectable
4502
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: DomEventsService }, { type: i53.PagerContextService }, { type: ScrollRequestService }, { type: GroupsService }, { type: DetailsService }, { type: FocusRoot }, { type: EditService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: ColumnResizingService }, { type: FocusableDirective, decorators: [{
4502
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: DomEventsService }, { type: i56.PagerContextService }, { type: ScrollRequestService }, { type: GroupsService }, { type: DetailsService }, { type: FocusRoot }, { type: EditService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: ColumnResizingService }, { type: FocusableDirective, decorators: [{
4503
4503
  type: Optional
4504
4504
  }] }] });
4505
4505
 
@@ -12683,9 +12683,11 @@ class FilterRowComponent {
12683
12683
  const columnName = column.title || column.field;
12684
12684
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
12685
12685
  }
12686
- getLogicalColIndex(columnIndex) {
12687
- const colIndex = this.lockedColumnsCount + columnIndex;
12688
- return this.detailTemplate?.templateRef ? colIndex + 1 : colIndex;
12686
+ getLogicalColIndex(column) {
12687
+ if (!isPresent$1(column.leafIndex)) {
12688
+ return -1;
12689
+ }
12690
+ return column.leafIndex + (this.detailTemplate?.templateRef ? 1 : 0);
12689
12691
  }
12690
12692
  get isStacked() {
12691
12693
  return this.ctx.grid?.isStacked;
@@ -12716,7 +12718,7 @@ class FilterRowComponent {
12716
12718
  [filter]="filter"
12717
12719
  kendoGridLogicalCell
12718
12720
  [logicalRowIndex]="logicalRowIndex"
12719
- [logicalColIndex]="getLogicalColIndex(columnIndex)"
12721
+ [logicalColIndex]="getLogicalColIndex(column)"
12720
12722
  ></td>
12721
12723
  }
12722
12724
  `, isInline: true, dependencies: [{ kind: "component", type: FilterCellComponent, selector: "[kendoGridFilterCell]", inputs: ["column", "filter", "size"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
@@ -12750,7 +12752,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
12750
12752
  [filter]="filter"
12751
12753
  kendoGridLogicalCell
12752
12754
  [logicalRowIndex]="logicalRowIndex"
12753
- [logicalColIndex]="getLogicalColIndex(columnIndex)"
12755
+ [logicalColIndex]="getLogicalColIndex(column)"
12754
12756
  ></td>
12755
12757
  }
12756
12758
  `,
@@ -13930,13 +13932,13 @@ class ToolbarToolBase {
13930
13932
  get buttonElement() {
13931
13933
  return this.host.getButton();
13932
13934
  }
13933
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToolbarToolBase, deps: [{ token: i54.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
13935
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToolbarToolBase, deps: [{ token: i57.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
13934
13936
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ToolbarToolBase, isStandalone: true, ngImport: i0 });
13935
13937
  }
13936
13938
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToolbarToolBase, decorators: [{
13937
13939
  type: Directive,
13938
13940
  args: [{}]
13939
- }], ctorParameters: () => [{ type: i54.ToolBarButtonComponent }, { type: undefined, decorators: [{
13941
+ }], ctorParameters: () => [{ type: i57.ToolBarButtonComponent }, { type: undefined, decorators: [{
13940
13942
  type: Inject,
13941
13943
  args: ['command']
13942
13944
  }] }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
@@ -14138,7 +14140,7 @@ class ColumnChooserToolbarDirective extends ToolbarToolBase {
14138
14140
  this.host.selected = false;
14139
14141
  focusAnchor && this.buttonElement?.focus({ preventScroll: true });
14140
14142
  }
14141
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ColumnChooserToolbarDirective, deps: [{ token: i0.Renderer2 }, { token: i2.PopupService }, { token: i54.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i54.RefreshService }, { token: AdaptiveGridService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
14143
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ColumnChooserToolbarDirective, deps: [{ token: i0.Renderer2 }, { token: i2.PopupService }, { token: i57.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i57.RefreshService }, { token: AdaptiveGridService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
14142
14144
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ColumnChooserToolbarDirective, isStandalone: true, selector: "[kendoGridColumnChooserTool]", inputs: { autoSync: "autoSync", allowHideAll: "allowHideAll", filterable: "filterable", showSelectAll: "showSelectAll" }, usesInheritance: true, ngImport: i0 });
14143
14145
  }
14144
14146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ColumnChooserToolbarDirective, decorators: [{
@@ -14147,7 +14149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
14147
14149
  selector: '[kendoGridColumnChooserTool]',
14148
14150
  standalone: true
14149
14151
  }]
14150
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i2.PopupService }, { type: i54.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i54.RefreshService }, { type: AdaptiveGridService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { autoSync: [{
14152
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i2.PopupService }, { type: i57.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i57.RefreshService }, { type: AdaptiveGridService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { autoSync: [{
14151
14153
  type: Input
14152
14154
  }], allowHideAll: [{
14153
14155
  type: Input
@@ -17497,7 +17499,7 @@ class CSVCommandToolbarDirective extends ToolbarToolBase {
17497
17499
  e.preventDefault();
17498
17500
  this.csvService.exportClick.emit();
17499
17501
  }
17500
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CSVCommandToolbarDirective, deps: [{ token: CSVService }, { token: i54.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
17502
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CSVCommandToolbarDirective, deps: [{ token: CSVService }, { token: i57.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
17501
17503
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: CSVCommandToolbarDirective, isStandalone: true, selector: "[kendoGridCSVTool]", usesInheritance: true, ngImport: i0 });
17502
17504
  }
17503
17505
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CSVCommandToolbarDirective, decorators: [{
@@ -17506,7 +17508,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
17506
17508
  selector: '[kendoGridCSVTool]',
17507
17509
  standalone: true
17508
17510
  }]
17509
- }], ctorParameters: () => [{ type: CSVService }, { type: i54.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
17511
+ }], ctorParameters: () => [{ type: CSVService }, { type: i57.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
17510
17512
 
17511
17513
  /**
17512
17514
  * @hidden
@@ -24124,7 +24126,7 @@ const packageMetadata = {
24124
24126
  productCode: 'KENDOUIANGULAR',
24125
24127
  productCodes: ['KENDOUIANGULAR'],
24126
24128
  publishDate: 0,
24127
- version: '23.0.0-develop.4',
24129
+ version: '23.0.0-develop.6',
24128
24130
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
24129
24131
  };
24130
24132
 
@@ -29097,8 +29099,64 @@ class GridMessages extends ComponentMessages {
29097
29099
  * and the message is rendered as `3 items are selected`.
29098
29100
  */
29099
29101
  multiCheckboxFilterSelectedItemsCount;
29102
+ /**
29103
+ * The aria-label for the Speech to Text button of the Smart Bar tool in AI Assistant mode.
29104
+ */
29105
+ smartBoxSpeechToTextButton;
29106
+ /**
29107
+ * The aria-label for the Submit button of the Smart Bar tool in AI Assistant mode.
29108
+ */
29109
+ smartBoxSubmitPromptButton;
29110
+ /**
29111
+ * The placeholder text for the SmartBox tool Search mode input
29112
+ */
29113
+ smartBoxSearchPlaceholder;
29114
+ /**
29115
+ * The placeholder text for the SmartBox tool Semantic Search mode input
29116
+ */
29117
+ smartBoxSemanticSearchPlaceholder;
29118
+ /**
29119
+ * The placeholder text for the SmartBox tool AI Assistant mode input
29120
+ */
29121
+ smartBoxAIAssistantPlaceholder;
29122
+ /**
29123
+ * The text for the suggested prompts section in the SmartBox tool AI Assistant mode.
29124
+ */
29125
+ smartBoxSuggestedPrompts;
29126
+ /**
29127
+ * The text displayed when there are no previous searches in the SmartBox tool.
29128
+ */
29129
+ smartBoxNoPreviousSearches;
29130
+ /**
29131
+ * The text displayed when there are no previous prompts in the SmartBox tool.
29132
+ */
29133
+ smartBoxNoPreviousPrompts;
29134
+ /**
29135
+ * The text displayed when there is previous search history in the SmartBox tool.
29136
+ */
29137
+ smartBoxPreviouslySearched;
29138
+ /**
29139
+ * The text displayed when there is previous ask history in the SmartBox tool.
29140
+ */
29141
+ smartBoxPreviouslyAsked;
29142
+ /**
29143
+ * The Search mode text displayed in the SmartBox tool search modes list.
29144
+ */
29145
+ searchModeListItemText;
29146
+ /**
29147
+ * The Search mode description displayed in the SmartBox tool search modes list.
29148
+ */
29149
+ searchModeListItemDescription;
29150
+ /**
29151
+ * The Semantic Search mode text displayed in the SmartBox tool search modes list.
29152
+ */
29153
+ semanticSearchModeListItemText;
29154
+ /**
29155
+ * The Semantic Search mode description displayed in the SmartBox tool search modes list.
29156
+ */
29157
+ semanticSearchModeListItemDescription;
29100
29158
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
29101
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: GridMessages, isStandalone: true, 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", aiAssistantSelectionNotEnabled: "aiAssistantSelectionNotEnabled", aiAssistantSelectionRowModeRequired: "aiAssistantSelectionRowModeRequired", aiAssistantSelectionCellModeRequired: "aiAssistantSelectionCellModeRequired", 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", columnChooserSelectAll: "columnChooserSelectAll", columnChooserSearchLabel: "columnChooserSearchLabel", columnChooserSelectedColumnsCount: "columnChooserSelectedColumnsCount", 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", csvExportToolbarToolText: "csvExportToolbarToolText", 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", multiCheckboxFilterSearchPlaceholder: "multiCheckboxFilterSearchPlaceholder", multiCheckboxFilterSelectAllLabel: "multiCheckboxFilterSelectAllLabel", multiCheckboxFilterSelectedItemsCount: "multiCheckboxFilterSelectedItemsCount" }, usesInheritance: true, ngImport: i0 });
29159
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: GridMessages, isStandalone: true, 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", aiAssistantSelectionNotEnabled: "aiAssistantSelectionNotEnabled", aiAssistantSelectionRowModeRequired: "aiAssistantSelectionRowModeRequired", aiAssistantSelectionCellModeRequired: "aiAssistantSelectionCellModeRequired", 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", columnChooserSelectAll: "columnChooserSelectAll", columnChooserSearchLabel: "columnChooserSearchLabel", columnChooserSelectedColumnsCount: "columnChooserSelectedColumnsCount", 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", csvExportToolbarToolText: "csvExportToolbarToolText", 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", multiCheckboxFilterSearchPlaceholder: "multiCheckboxFilterSearchPlaceholder", multiCheckboxFilterSelectAllLabel: "multiCheckboxFilterSelectAllLabel", multiCheckboxFilterSelectedItemsCount: "multiCheckboxFilterSelectedItemsCount", smartBoxSpeechToTextButton: "smartBoxSpeechToTextButton", smartBoxSubmitPromptButton: "smartBoxSubmitPromptButton", smartBoxSearchPlaceholder: "smartBoxSearchPlaceholder", smartBoxSemanticSearchPlaceholder: "smartBoxSemanticSearchPlaceholder", smartBoxAIAssistantPlaceholder: "smartBoxAIAssistantPlaceholder", smartBoxSuggestedPrompts: "smartBoxSuggestedPrompts", smartBoxNoPreviousSearches: "smartBoxNoPreviousSearches", smartBoxNoPreviousPrompts: "smartBoxNoPreviousPrompts", smartBoxPreviouslySearched: "smartBoxPreviouslySearched", smartBoxPreviouslyAsked: "smartBoxPreviouslyAsked", searchModeListItemText: "searchModeListItemText", searchModeListItemDescription: "searchModeListItemDescription", semanticSearchModeListItemText: "semanticSearchModeListItemText", semanticSearchModeListItemDescription: "semanticSearchModeListItemDescription" }, usesInheritance: true, ngImport: i0 });
29102
29160
  }
29103
29161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridMessages, decorators: [{
29104
29162
  type: Directive,
@@ -29374,6 +29432,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
29374
29432
  type: Input
29375
29433
  }], multiCheckboxFilterSelectedItemsCount: [{
29376
29434
  type: Input
29435
+ }], smartBoxSpeechToTextButton: [{
29436
+ type: Input
29437
+ }], smartBoxSubmitPromptButton: [{
29438
+ type: Input
29439
+ }], smartBoxSearchPlaceholder: [{
29440
+ type: Input
29441
+ }], smartBoxSemanticSearchPlaceholder: [{
29442
+ type: Input
29443
+ }], smartBoxAIAssistantPlaceholder: [{
29444
+ type: Input
29445
+ }], smartBoxSuggestedPrompts: [{
29446
+ type: Input
29447
+ }], smartBoxNoPreviousSearches: [{
29448
+ type: Input
29449
+ }], smartBoxNoPreviousPrompts: [{
29450
+ type: Input
29451
+ }], smartBoxPreviouslySearched: [{
29452
+ type: Input
29453
+ }], smartBoxPreviouslyAsked: [{
29454
+ type: Input
29455
+ }], searchModeListItemText: [{
29456
+ type: Input
29457
+ }], searchModeListItemDescription: [{
29458
+ type: Input
29459
+ }], semanticSearchModeListItemText: [{
29460
+ type: Input
29461
+ }], semanticSearchModeListItemDescription: [{
29462
+ type: Input
29377
29463
  }] } });
29378
29464
 
29379
29465
  /**
@@ -31944,6 +32030,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
31944
32030
  args: [GroupToolbarToolComponent]
31945
32031
  }] } });
31946
32032
 
32033
+ /**
32034
+ * @hidden
32035
+ */
32036
+ class SearchService {
32037
+ /**
32038
+ * Fires when the search descriptor is set.
32039
+ */
32040
+ changes = new Subject();
32041
+ /**
32042
+ * Sets the search descriptor.
32043
+ *
32044
+ * @param {CompositeFilterDescriptor} value - The search descriptor to set.
32045
+ */
32046
+ search(value) {
32047
+ this.changes.next(value);
32048
+ }
32049
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32050
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SearchService });
32051
+ }
32052
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SearchService, decorators: [{
32053
+ type: Injectable
32054
+ }] });
32055
+
31947
32056
  const createControl = (source) => (acc, key) => {
31948
32057
  acc[key] = new FormControl(source[key]);
31949
32058
  return acc;
@@ -34407,7 +34516,8 @@ class GridComponent {
34407
34516
  AdaptiveGridService,
34408
34517
  ColumnMenuService,
34409
34518
  MenuTabbingService,
34410
- DataMappingService
34519
+ DataMappingService,
34520
+ SearchService
34411
34521
  ], 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: "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: `
34412
34522
  <ng-container kendoGridLocalizedMessages
34413
34523
  i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
@@ -34811,6 +34921,48 @@ class GridComponent {
34811
34921
 
34812
34922
  i18n-multiCheckboxFilterSelectedItemsCount="kendo.grid.multiCheckboxFilterSelectedItemsCount|The text for the multi-checkbox filter selected items count"
34813
34923
  multiCheckboxFilterSelectedItemsCount="{{ '{selectedItemsCount} selected items' }}"
34924
+
34925
+ i18n-smartBoxSpeechToTextButton="kendo.grid.smartBoxSpeechToTextButton|The aria-label for the Speech to Text button of the SmartBox tool in AI Assistant mode."
34926
+ smartBoxSpeechToTextButton="Voice input"
34927
+
34928
+ i18n-smartBoxSubmitPromptButton="kendo.grid.smartBoxSubmitPromptButton|The aria-label for the Submit button of the SmartBox tool in AI Assistant mode."
34929
+ smartBoxSubmitPromptButton="Submit prompt"
34930
+
34931
+ i18n-smartBoxSearchPlaceholder="kendo.grid.smartBoxSearchPlaceholder|The placeholder text for the SmartBox tool Search mode input"
34932
+ smartBoxSearchPlaceholder="Search..."
34933
+
34934
+ i18n-smartBoxSemanticSearchPlaceholder="kendo.grid.smartBoxSemanticSearchPlaceholder|The placeholder text for the SmartBox tool Semantic Search mode input"
34935
+ smartBoxSemanticSearchPlaceholder="Semantic Search"
34936
+
34937
+ i18n-smartBoxAIAssistantPlaceholder="kendo.grid.smartBoxAIAssistantPlaceholder|The placeholder text for the SmartBox tool AI Assistant mode input"
34938
+ smartBoxAIAssistantPlaceholder="Sort, Filter, or group with AI"
34939
+
34940
+ i18n-smartBoxSuggestedPrompts="kendo.grid.smartBoxSuggestedPrompts|The text for the suggested prompts section in the SmartBox tool AI Assistant mode."
34941
+ smartBoxSuggestedPrompts="Suggested prompts"
34942
+
34943
+ i18n-smartBoxNoPreviousSearches="kendo.grid.smartBoxNoPreviousSearches|The text displayed when there are no previous searches in the SmartBox tool."
34944
+ smartBoxNoPreviousSearches="No previous searches"
34945
+
34946
+ i18n-smartBoxNoPreviousPrompts="kendo.grid.smartBoxNoPreviousPrompts|The text displayed when there are no previous prompts in the SmartBox tool."
34947
+ smartBoxNoPreviousPrompts="No previous prompts"
34948
+
34949
+ i18n-smartBoxPreviouslySearched="kendo.grid.smartBoxPreviouslySearched|The text displayed when there is previous search history in the SmartBox tool."
34950
+ smartBoxPreviouslySearched="Previously Searched"
34951
+
34952
+ i18n-smartBoxPreviouslyAsked="kendo.grid.smartBoxPreviouslyAsked|The text displayed when there is previous ask history in the SmartBox tool."
34953
+ smartBoxPreviouslyAsked="Previously Asked"
34954
+
34955
+ i18n-searchModeListItemText="kendo.grid.searchModeListItemText|The Search mode text displayed in the SmartBox tool search modes list."
34956
+ searchModeListItemText="Search"
34957
+
34958
+ i18n-searchModeListItemDescription="kendo.grid.searchModeListItemDescription|The Search mode description displayed in the SmartBox tool search modes list."
34959
+ searchModeListItemDescription="Looks for exact word matches accross your data."
34960
+
34961
+ i18n-semanticSearchModeListItemText="kendo.grid.semanticSearchModeListItemText|The Semantic Search mode text displayed in the SmartBox tool search modes list."
34962
+ semanticSearchModeListItemText="Semantic Search"
34963
+
34964
+ i18n-semanticSearchModeListItemDescription="kendo.grid.semanticSearchModeListItemDescription|The Semantic Search mode description displayed in the SmartBox tool search modes list."
34965
+ semanticSearchModeListItemDescription="Understands context to surface the most relevant results."
34814
34966
  >
34815
34967
  </ng-container>
34816
34968
  @if (showTopToolbar) {
@@ -35274,7 +35426,7 @@ class GridComponent {
35274
35426
  @if (showLicenseWatermark) {
35275
35427
  <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
35276
35428
  }
35277
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { 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", "rowHeight", "detailRowHeight"] }, { 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: i53.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i53.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i53.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["showPageText", "size"] }, { kind: "component", type: i53.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i53.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i53.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["showItemsText", "pageSizes", "size", "adaptiveMode"] }, { kind: "component", type: i53.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i53.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i53.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" }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], encapsulation: i0.ViewEncapsulation.None });
35429
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { 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", "rowHeight", "detailRowHeight"] }, { 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: i56.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i56.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i56.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["showPageText", "size"] }, { kind: "component", type: i56.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i56.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i56.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["showItemsText", "pageSizes", "size", "adaptiveMode"] }, { kind: "component", type: i56.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i56.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i56.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" }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], encapsulation: i0.ViewEncapsulation.None });
35278
35430
  }
35279
35431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridComponent, decorators: [{
35280
35432
  type: Component,
@@ -35333,7 +35485,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
35333
35485
  AdaptiveGridService,
35334
35486
  ColumnMenuService,
35335
35487
  MenuTabbingService,
35336
- DataMappingService
35488
+ DataMappingService,
35489
+ SearchService
35337
35490
  ],
35338
35491
  selector: 'kendo-grid',
35339
35492
  template: `
@@ -35739,6 +35892,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
35739
35892
 
35740
35893
  i18n-multiCheckboxFilterSelectedItemsCount="kendo.grid.multiCheckboxFilterSelectedItemsCount|The text for the multi-checkbox filter selected items count"
35741
35894
  multiCheckboxFilterSelectedItemsCount="{{ '{selectedItemsCount} selected items' }}"
35895
+
35896
+ i18n-smartBoxSpeechToTextButton="kendo.grid.smartBoxSpeechToTextButton|The aria-label for the Speech to Text button of the SmartBox tool in AI Assistant mode."
35897
+ smartBoxSpeechToTextButton="Voice input"
35898
+
35899
+ i18n-smartBoxSubmitPromptButton="kendo.grid.smartBoxSubmitPromptButton|The aria-label for the Submit button of the SmartBox tool in AI Assistant mode."
35900
+ smartBoxSubmitPromptButton="Submit prompt"
35901
+
35902
+ i18n-smartBoxSearchPlaceholder="kendo.grid.smartBoxSearchPlaceholder|The placeholder text for the SmartBox tool Search mode input"
35903
+ smartBoxSearchPlaceholder="Search..."
35904
+
35905
+ i18n-smartBoxSemanticSearchPlaceholder="kendo.grid.smartBoxSemanticSearchPlaceholder|The placeholder text for the SmartBox tool Semantic Search mode input"
35906
+ smartBoxSemanticSearchPlaceholder="Semantic Search"
35907
+
35908
+ i18n-smartBoxAIAssistantPlaceholder="kendo.grid.smartBoxAIAssistantPlaceholder|The placeholder text for the SmartBox tool AI Assistant mode input"
35909
+ smartBoxAIAssistantPlaceholder="Sort, Filter, or group with AI"
35910
+
35911
+ i18n-smartBoxSuggestedPrompts="kendo.grid.smartBoxSuggestedPrompts|The text for the suggested prompts section in the SmartBox tool AI Assistant mode."
35912
+ smartBoxSuggestedPrompts="Suggested prompts"
35913
+
35914
+ i18n-smartBoxNoPreviousSearches="kendo.grid.smartBoxNoPreviousSearches|The text displayed when there are no previous searches in the SmartBox tool."
35915
+ smartBoxNoPreviousSearches="No previous searches"
35916
+
35917
+ i18n-smartBoxNoPreviousPrompts="kendo.grid.smartBoxNoPreviousPrompts|The text displayed when there are no previous prompts in the SmartBox tool."
35918
+ smartBoxNoPreviousPrompts="No previous prompts"
35919
+
35920
+ i18n-smartBoxPreviouslySearched="kendo.grid.smartBoxPreviouslySearched|The text displayed when there is previous search history in the SmartBox tool."
35921
+ smartBoxPreviouslySearched="Previously Searched"
35922
+
35923
+ i18n-smartBoxPreviouslyAsked="kendo.grid.smartBoxPreviouslyAsked|The text displayed when there is previous ask history in the SmartBox tool."
35924
+ smartBoxPreviouslyAsked="Previously Asked"
35925
+
35926
+ i18n-searchModeListItemText="kendo.grid.searchModeListItemText|The Search mode text displayed in the SmartBox tool search modes list."
35927
+ searchModeListItemText="Search"
35928
+
35929
+ i18n-searchModeListItemDescription="kendo.grid.searchModeListItemDescription|The Search mode description displayed in the SmartBox tool search modes list."
35930
+ searchModeListItemDescription="Looks for exact word matches accross your data."
35931
+
35932
+ i18n-semanticSearchModeListItemText="kendo.grid.semanticSearchModeListItemText|The Semantic Search mode text displayed in the SmartBox tool search modes list."
35933
+ semanticSearchModeListItemText="Semantic Search"
35934
+
35935
+ i18n-semanticSearchModeListItemDescription="kendo.grid.semanticSearchModeListItemDescription|The Semantic Search mode description displayed in the SmartBox tool search modes list."
35936
+ semanticSearchModeListItemDescription="Understands context to surface the most relevant results."
35742
35937
  >
35743
35938
  </ng-container>
35744
35939
  @if (showTopToolbar) {
@@ -36525,6 +36720,7 @@ class DataBindingDirective {
36525
36720
  changeDetector;
36526
36721
  localDataChangesService;
36527
36722
  rowReorderService;
36723
+ searchService;
36528
36724
  /**
36529
36725
  * Sets the number of records to skip in the Grid.
36530
36726
  *
@@ -36586,11 +36782,14 @@ class DataBindingDirective {
36586
36782
  stateChangeSubscription;
36587
36783
  dataChangedSubscription;
36588
36784
  rowReorderSubscription;
36589
- constructor(grid, changeDetector, localDataChangesService, rowReorderService, ctx) {
36785
+ searchSubscription;
36786
+ searchFilter;
36787
+ constructor(grid, changeDetector, localDataChangesService, rowReorderService, searchService, ctx) {
36590
36788
  this.grid = grid;
36591
36789
  this.changeDetector = changeDetector;
36592
36790
  this.localDataChangesService = localDataChangesService;
36593
36791
  this.rowReorderService = rowReorderService;
36792
+ this.searchService = searchService;
36594
36793
  if (localDataChangesService) {
36595
36794
  this.dataChangedSubscription = this.localDataChangesService.changes.subscribe(this.rebind.bind(this));
36596
36795
  }
@@ -36609,6 +36808,13 @@ class DataBindingDirective {
36609
36808
  .rowReorder
36610
36809
  .subscribe(this.onRowReorder.bind(this));
36611
36810
  }
36811
+ if (this.searchService) {
36812
+ this.searchSubscription = this.searchService
36813
+ .changes
36814
+ .subscribe((searchFilter) => {
36815
+ this.onSearch.bind(this)(searchFilter);
36816
+ });
36817
+ }
36612
36818
  }
36613
36819
  /**
36614
36820
  * @hidden
@@ -36623,6 +36829,9 @@ class DataBindingDirective {
36623
36829
  if (this.rowReorderSubscription) {
36624
36830
  this.rowReorderSubscription.unsubscribe();
36625
36831
  }
36832
+ if (this.searchSubscription) {
36833
+ this.searchSubscription.unsubscribe();
36834
+ }
36626
36835
  }
36627
36836
  ngOnChanges(changes) {
36628
36837
  if (anyChanged(["pageSize", "skip", "sort", "group", "filter"], changes)) {
@@ -36648,6 +36857,18 @@ class DataBindingDirective {
36648
36857
  this.rowReorderService.reorderRows(ev, this.originalData);
36649
36858
  this.rebind();
36650
36859
  }
36860
+ /**
36861
+ * @hidden
36862
+ */
36863
+ onSearch(searchFilter) {
36864
+ this.searchFilter = searchFilter;
36865
+ const combinedFilter = this.combineFilters();
36866
+ const state = { ...this.state, filter: combinedFilter };
36867
+ this.grid.data = this.process(state);
36868
+ this.grid.updateNavigationMetadata();
36869
+ this.grid.ngDoCheck();
36870
+ this.dataChanged = false;
36871
+ }
36651
36872
  /**
36652
36873
  * @hidden
36653
36874
  */
@@ -36694,12 +36915,31 @@ class DataBindingDirective {
36694
36915
  this.state.take = this.grid.pageSize;
36695
36916
  }
36696
36917
  }
36697
- this.grid.data = this.process(this.state);
36918
+ let combinedFilter = null;
36919
+ if (this.searchFilter) {
36920
+ combinedFilter = this.combineFilters();
36921
+ const state = { ...this.state, filter: combinedFilter };
36922
+ this.grid.data = this.process(state);
36923
+ }
36924
+ else {
36925
+ this.grid.data = this.process(this.state);
36926
+ }
36698
36927
  this.grid.updateNavigationMetadata();
36699
36928
  this.grid.ngDoCheck();
36700
36929
  this.dataChanged = false;
36701
36930
  }
36702
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DataBindingDirective, deps: [{ token: GridComponent }, { token: i0.ChangeDetectorRef }, { token: LocalDataChangesService }, { token: RowReorderService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Directive });
36931
+ combineFilters() {
36932
+ let combinedFilter = null;
36933
+ if (this.state.filter && this.searchFilter) {
36934
+ combinedFilter = {
36935
+ logic: 'and',
36936
+ filters: [...this.state.filter.filters, this.searchFilter]
36937
+ };
36938
+ return combinedFilter;
36939
+ }
36940
+ return this.searchFilter || this.state.filter;
36941
+ }
36942
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DataBindingDirective, deps: [{ token: GridComponent }, { token: i0.ChangeDetectorRef }, { token: LocalDataChangesService }, { token: RowReorderService }, { token: SearchService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Directive });
36703
36943
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: DataBindingDirective, isStandalone: true, selector: "[kendoGridBinding]", inputs: { skip: "skip", sort: "sort", filter: "filter", pageSize: "pageSize", group: "group", data: ["kendoGridBinding", "data"] }, exportAs: ["kendoGridBinding"], usesOnChanges: true, ngImport: i0 });
36704
36944
  }
36705
36945
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DataBindingDirective, decorators: [{
@@ -36709,7 +36949,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
36709
36949
  exportAs: 'kendoGridBinding',
36710
36950
  standalone: true
36711
36951
  }]
36712
- }], ctorParameters: () => [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }, { type: RowReorderService }, { type: ContextService }], propDecorators: { skip: [{
36952
+ }], ctorParameters: () => [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }, { type: RowReorderService }, { type: SearchService }, { type: ContextService }], propDecorators: { skip: [{
36713
36953
  type: Input
36714
36954
  }], sort: [{
36715
36955
  type: Input
@@ -37994,7 +38234,7 @@ class PDFCommandToolbarDirective extends ToolbarToolBase {
37994
38234
  e.preventDefault();
37995
38235
  this.pdfService.exportClick.emit();
37996
38236
  }
37997
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PDFCommandToolbarDirective, deps: [{ token: PDFService }, { token: i54.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
38237
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PDFCommandToolbarDirective, deps: [{ token: PDFService }, { token: i57.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
37998
38238
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: PDFCommandToolbarDirective, isStandalone: true, selector: "[kendoGridPDFTool]", usesInheritance: true, ngImport: i0 });
37999
38239
  }
38000
38240
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PDFCommandToolbarDirective, decorators: [{
@@ -38003,7 +38243,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
38003
38243
  selector: '[kendoGridPDFTool]',
38004
38244
  standalone: true
38005
38245
  }]
38006
- }], ctorParameters: () => [{ type: PDFService }, { type: i54.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
38246
+ }], ctorParameters: () => [{ type: PDFService }, { type: i57.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
38007
38247
 
38008
38248
  /**
38009
38249
  * Represents the **Export to Excel** toolbar tool of the Grid.
@@ -38039,7 +38279,7 @@ class ExcelCommandToolbarDirective extends ToolbarToolBase {
38039
38279
  e.preventDefault();
38040
38280
  this.excelService.exportClick.emit();
38041
38281
  }
38042
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ExcelCommandToolbarDirective, deps: [{ token: ExcelService }, { token: i54.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
38282
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ExcelCommandToolbarDirective, deps: [{ token: ExcelService }, { token: i57.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
38043
38283
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ExcelCommandToolbarDirective, isStandalone: true, selector: "[kendoGridExcelTool]", usesInheritance: true, ngImport: i0 });
38044
38284
  }
38045
38285
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ExcelCommandToolbarDirective, decorators: [{
@@ -38048,7 +38288,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
38048
38288
  selector: '[kendoGridExcelTool]',
38049
38289
  standalone: true
38050
38290
  }]
38051
- }], ctorParameters: () => [{ type: ExcelService }, { type: i54.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
38291
+ }], ctorParameters: () => [{ type: ExcelService }, { type: i57.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
38052
38292
 
38053
38293
  /**
38054
38294
  * @hidden
@@ -38121,13 +38361,13 @@ class ToolbarEditingToolBase extends ToolbarToolBase {
38121
38361
  get isSelectionPresent() {
38122
38362
  return isPresent$1(this.lastSelectionIndex) && this.lastSelectionIndex > -1;
38123
38363
  }
38124
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToolbarEditingToolBase, deps: [{ token: i54.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: EditService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Directive });
38364
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToolbarEditingToolBase, deps: [{ token: i57.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: EditService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Directive });
38125
38365
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ToolbarEditingToolBase, isStandalone: true, usesInheritance: true, ngImport: i0 });
38126
38366
  }
38127
38367
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToolbarEditingToolBase, decorators: [{
38128
38368
  type: Directive,
38129
38369
  args: [{}]
38130
- }], ctorParameters: () => [{ type: i54.ToolBarButtonComponent }, { type: undefined, decorators: [{
38370
+ }], ctorParameters: () => [{ type: i57.ToolBarButtonComponent }, { type: undefined, decorators: [{
38131
38371
  type: Inject,
38132
38372
  args: ['command']
38133
38373
  }] }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: EditService }, { type: SelectionService }] });
@@ -38167,7 +38407,7 @@ class AddCommandToolbarDirective extends ToolbarEditingToolBase {
38167
38407
  e.preventDefault();
38168
38408
  this.editService.beginAdd();
38169
38409
  }
38170
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AddCommandToolbarDirective, deps: [{ token: EditService }, { token: i54.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
38410
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AddCommandToolbarDirective, deps: [{ token: EditService }, { token: i57.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
38171
38411
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: AddCommandToolbarDirective, isStandalone: true, selector: "[kendoGridAddTool]", usesInheritance: true, ngImport: i0 });
38172
38412
  }
38173
38413
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AddCommandToolbarDirective, decorators: [{
@@ -38176,7 +38416,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
38176
38416
  selector: '[kendoGridAddTool]',
38177
38417
  standalone: true
38178
38418
  }]
38179
- }], ctorParameters: () => [{ type: EditService }, { type: i54.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
38419
+ }], ctorParameters: () => [{ type: EditService }, { type: i57.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
38180
38420
 
38181
38421
  /**
38182
38422
  * @hidden
@@ -38727,7 +38967,7 @@ class UndoCommandToolbarDirective {
38727
38967
  e.preventDefault();
38728
38968
  this.undoRedoService.onUndo.next(undefined);
38729
38969
  }
38730
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: UndoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i54.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
38970
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: UndoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i57.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
38731
38971
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: UndoCommandToolbarDirective, isStandalone: true, selector: "[kendoGridUndoTool]", ngImport: i0 });
38732
38972
  }
38733
38973
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: UndoCommandToolbarDirective, decorators: [{
@@ -38736,7 +38976,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
38736
38976
  selector: '[kendoGridUndoTool]',
38737
38977
  standalone: true,
38738
38978
  }]
38739
- }], ctorParameters: () => [{ type: UndoRedoService }, { type: i54.ToolBarButtonComponent }] });
38979
+ }], ctorParameters: () => [{ type: UndoRedoService }, { type: i57.ToolBarButtonComponent }] });
38740
38980
 
38741
38981
  /**
38742
38982
  * Represents the command that triggers the redo action in the Grid.
@@ -38790,7 +39030,7 @@ class RedoCommandToolbarDirective {
38790
39030
  e.preventDefault();
38791
39031
  this.undoRedoService.onRedo.next(undefined);
38792
39032
  }
38793
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RedoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i54.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
39033
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RedoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i57.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
38794
39034
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: RedoCommandToolbarDirective, isStandalone: true, selector: "[kendoGridRedoTool]", ngImport: i0 });
38795
39035
  }
38796
39036
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RedoCommandToolbarDirective, decorators: [{
@@ -38799,7 +39039,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
38799
39039
  selector: '[kendoGridRedoTool]',
38800
39040
  standalone: true,
38801
39041
  }]
38802
- }], ctorParameters: () => [{ type: UndoRedoService }, { type: i54.ToolBarButtonComponent }] });
39042
+ }], ctorParameters: () => [{ type: UndoRedoService }, { type: i57.ToolBarButtonComponent }] });
38803
39043
 
38804
39044
  let incrementingId$2 = 0;
38805
39045
  /**
@@ -38990,7 +39230,7 @@ class SortCommandToolbarDirective {
38990
39230
  get buttonElement() {
38991
39231
  return this.host.getButton();
38992
39232
  }
38993
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SortCommandToolbarDirective, deps: [{ token: i54.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
39233
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SortCommandToolbarDirective, deps: [{ token: i57.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
38994
39234
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: SortCommandToolbarDirective, isStandalone: true, selector: "[kendoGridSortTool]", ngImport: i0 });
38995
39235
  }
38996
39236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SortCommandToolbarDirective, decorators: [{
@@ -38999,7 +39239,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
38999
39239
  selector: '[kendoGridSortTool]',
39000
39240
  standalone: true
39001
39241
  }]
39002
- }], ctorParameters: () => [{ type: i54.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: SortService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }] });
39242
+ }], ctorParameters: () => [{ type: i57.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: SortService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }] });
39003
39243
 
39004
39244
  /**
39005
39245
  * @hidden
@@ -39322,7 +39562,7 @@ class FilterCommandToolbarDirective {
39322
39562
  get buttonElement() {
39323
39563
  return this.host.getButton();
39324
39564
  }
39325
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FilterCommandToolbarDirective, deps: [{ token: i54.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: FilterService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
39565
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FilterCommandToolbarDirective, deps: [{ token: i57.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: FilterService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
39326
39566
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: FilterCommandToolbarDirective, isStandalone: true, selector: "[kendoGridFilterTool]", ngImport: i0 });
39327
39567
  }
39328
39568
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FilterCommandToolbarDirective, decorators: [{
@@ -39331,7 +39571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
39331
39571
  selector: '[kendoGridFilterTool]',
39332
39572
  standalone: true
39333
39573
  }]
39334
- }], ctorParameters: () => [{ type: i54.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: FilterService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }] });
39574
+ }], ctorParameters: () => [{ type: i57.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: FilterService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }] });
39335
39575
 
39336
39576
  /**
39337
39577
  * Represents the `edit` command in the Grid. Apply this directive to any `kendo-toolbar-button`
@@ -39367,7 +39607,7 @@ class EditCommandToolbarDirective extends ToolbarEditingToolBase {
39367
39607
  }
39368
39608
  this.editService.beginEdit(this.lastSelectionIndex);
39369
39609
  }
39370
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EditCommandToolbarDirective, deps: [{ token: EditService }, { token: i54.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
39610
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EditCommandToolbarDirective, deps: [{ token: EditService }, { token: i57.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
39371
39611
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: EditCommandToolbarDirective, isStandalone: true, selector: "[kendoGridEditTool]", usesInheritance: true, ngImport: i0 });
39372
39612
  }
39373
39613
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EditCommandToolbarDirective, decorators: [{
@@ -39376,7 +39616,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
39376
39616
  selector: '[kendoGridEditTool]',
39377
39617
  standalone: true
39378
39618
  }]
39379
- }], ctorParameters: () => [{ type: EditService }, { type: i54.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
39619
+ }], ctorParameters: () => [{ type: EditService }, { type: i57.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
39380
39620
 
39381
39621
  /**
39382
39622
  * Represents the `save` command in the Grid. Apply this directive to any `kendo-toolbar-button`
@@ -39417,7 +39657,7 @@ class SaveCommandToolbarDirective extends ToolbarEditingToolBase {
39417
39657
  this.editService.editedIndices.forEach(i => this.editService.save(i.index));
39418
39658
  }
39419
39659
  }
39420
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SaveCommandToolbarDirective, deps: [{ token: EditService }, { token: i54.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
39660
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SaveCommandToolbarDirective, deps: [{ token: EditService }, { token: i57.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
39421
39661
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: SaveCommandToolbarDirective, isStandalone: true, selector: "[kendoGridSaveTool]", usesInheritance: true, ngImport: i0 });
39422
39662
  }
39423
39663
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SaveCommandToolbarDirective, decorators: [{
@@ -39426,7 +39666,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
39426
39666
  selector: '[kendoGridSaveTool]',
39427
39667
  standalone: true
39428
39668
  }]
39429
- }], ctorParameters: () => [{ type: EditService }, { type: i54.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
39669
+ }], ctorParameters: () => [{ type: EditService }, { type: i57.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
39430
39670
 
39431
39671
  /**
39432
39672
  * Represents the `remove` command in the Grid. Apply this directive to any `kendo-toolbar-button`
@@ -39463,7 +39703,7 @@ class RemoveCommandToolbarDirective extends ToolbarEditingToolBase {
39463
39703
  this.editService.remove(this.lastSelectionIndex);
39464
39704
  }
39465
39705
  }
39466
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RemoveCommandToolbarDirective, deps: [{ token: EditService }, { token: i54.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
39706
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RemoveCommandToolbarDirective, deps: [{ token: EditService }, { token: i57.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
39467
39707
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: RemoveCommandToolbarDirective, isStandalone: true, selector: "[kendoGridRemoveTool]", usesInheritance: true, ngImport: i0 });
39468
39708
  }
39469
39709
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RemoveCommandToolbarDirective, decorators: [{
@@ -39472,7 +39712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
39472
39712
  selector: '[kendoGridRemoveTool]',
39473
39713
  standalone: true
39474
39714
  }]
39475
- }], ctorParameters: () => [{ type: EditService }, { type: i54.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
39715
+ }], ctorParameters: () => [{ type: EditService }, { type: i57.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
39476
39716
 
39477
39717
  /**
39478
39718
  * Represents the `cancel` command in the Grid.
@@ -39512,7 +39752,7 @@ class CancelCommandToolbarDirective extends ToolbarEditingToolBase {
39512
39752
  this.editService.editedIndices.forEach(i => this.editService.endEdit(i.index));
39513
39753
  }
39514
39754
  }
39515
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CancelCommandToolbarDirective, deps: [{ token: EditService }, { token: i54.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
39755
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CancelCommandToolbarDirective, deps: [{ token: EditService }, { token: i57.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
39516
39756
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: CancelCommandToolbarDirective, isStandalone: true, selector: "[kendoGridCancelTool]", usesInheritance: true, ngImport: i0 });
39517
39757
  }
39518
39758
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CancelCommandToolbarDirective, decorators: [{
@@ -39521,7 +39761,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
39521
39761
  selector: '[kendoGridCancelTool]',
39522
39762
  standalone: true
39523
39763
  }]
39524
- }], ctorParameters: () => [{ type: EditService }, { type: i54.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
39764
+ }], ctorParameters: () => [{ type: EditService }, { type: i57.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
39525
39765
 
39526
39766
  let incrementingId = 0;
39527
39767
  /**
@@ -39702,7 +39942,7 @@ class GroupCommandToolbarDirective {
39702
39942
  isGroupingApplied(group) {
39703
39943
  return isPresent$1(group) && group.length > 0;
39704
39944
  }
39705
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GroupCommandToolbarDirective, deps: [{ token: i54.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
39945
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GroupCommandToolbarDirective, deps: [{ token: i57.ToolBarButtonComponent }, { token: i2.PopupService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Directive });
39706
39946
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: GroupCommandToolbarDirective, isStandalone: true, selector: "[kendoGridGroupTool]", ngImport: i0 });
39707
39947
  }
39708
39948
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GroupCommandToolbarDirective, decorators: [{
@@ -39711,7 +39951,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
39711
39951
  selector: '[kendoGridGroupTool]',
39712
39952
  standalone: true
39713
39953
  }]
39714
- }], ctorParameters: () => [{ type: i54.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }] });
39954
+ }], ctorParameters: () => [{ type: i57.ToolBarButtonComponent }, { type: i2.PopupService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: AdaptiveGridService }] });
39715
39955
 
39716
39956
  /**
39717
39957
  * Stores the row and cell highlight state of the Grid.
@@ -39740,14 +39980,19 @@ class HighlightDirective {
39740
39980
  * Sets the column key for a data cell. The Grid uses the column index as the default column key.
39741
39981
  */
39742
39982
  highlightColumnKey;
39983
+ /**
39984
+ * Emits when the `highlightedKeys` collection changes.
39985
+ */
39986
+ highlightedKeysChange = new EventEmitter();
39743
39987
  rowHighlightState = new Set();
39744
39988
  cellHighlightState = new PairSet();
39989
+ lastHighlightState;
39745
39990
  constructor(ctx) {
39746
39991
  this.ctx = ctx;
39747
39992
  this.ctx.highlightDirective = this;
39748
39993
  }
39749
39994
  ngOnChanges(changes) {
39750
- if (isPresent$1(changes['highlightedKeys'])) {
39995
+ if (isPresent$1(changes['highlightedKeys']) && this.lastHighlightState !== this.highlightedKeys) {
39751
39996
  this.setState(this.highlightedKeys);
39752
39997
  }
39753
39998
  }
@@ -39801,6 +40046,7 @@ class HighlightDirective {
39801
40046
  setState(highlightedKeys) {
39802
40047
  this.reset();
39803
40048
  if (!highlightedKeys || highlightedKeys.length === 0) {
40049
+ this.notifyChange();
39804
40050
  return;
39805
40051
  }
39806
40052
  const rowHighlights = highlightedKeys.filter(item => !isPresent$1(item.columnKey));
@@ -39813,13 +40059,18 @@ class HighlightDirective {
39813
40059
  this.rowHighlightState.add(item.itemKey);
39814
40060
  });
39815
40061
  }
40062
+ this.notifyChange();
40063
+ }
40064
+ notifyChange() {
40065
+ this.lastHighlightState = this.highlightedKeys;
40066
+ this.highlightedKeysChange.emit(this.highlightedKeys);
39816
40067
  }
39817
40068
  reset() {
39818
40069
  this.rowHighlightState.clear();
39819
40070
  this.cellHighlightState.clear();
39820
40071
  }
39821
40072
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HighlightDirective, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Directive });
39822
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: HighlightDirective, isStandalone: true, selector: "[kendoGridHighlight]", inputs: { highlightedKeys: "highlightedKeys", highlightItemKey: ["kendoGridHighlight", "highlightItemKey"], highlightColumnKey: "highlightColumnKey" }, usesOnChanges: true, ngImport: i0 });
40073
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: HighlightDirective, isStandalone: true, selector: "[kendoGridHighlight]", inputs: { highlightedKeys: "highlightedKeys", highlightItemKey: ["kendoGridHighlight", "highlightItemKey"], highlightColumnKey: "highlightColumnKey" }, outputs: { highlightedKeysChange: "highlightedKeysChange" }, usesOnChanges: true, ngImport: i0 });
39823
40074
  }
39824
40075
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HighlightDirective, decorators: [{
39825
40076
  type: Directive,
@@ -39834,6 +40085,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
39834
40085
  args: ["kendoGridHighlight"]
39835
40086
  }], highlightColumnKey: [{
39836
40087
  type: Input
40088
+ }], highlightedKeysChange: [{
40089
+ type: Output
39837
40090
  }] } });
39838
40091
 
39839
40092
  /**
@@ -39881,7 +40134,6 @@ class AiAssistantComponent {
39881
40134
  http;
39882
40135
  ctx;
39883
40136
  columnInfoService;
39884
- zone;
39885
40137
  aiRequestResponseService;
39886
40138
  aiPrompt;
39887
40139
  activeView = 0;
@@ -39900,11 +40152,10 @@ class AiAssistantComponent {
39900
40152
  columns = [];
39901
40153
  leafColumns = [];
39902
40154
  idCounter = 0;
39903
- constructor(http, ctx, columnInfoService, zone, aiRequestResponseService) {
40155
+ constructor(http, ctx, columnInfoService, aiRequestResponseService) {
39904
40156
  this.http = http;
39905
40157
  this.ctx = ctx;
39906
40158
  this.columnInfoService = columnInfoService;
39907
- this.zone = zone;
39908
40159
  this.aiRequestResponseService = aiRequestResponseService;
39909
40160
  }
39910
40161
  ngAfterViewInit() {
@@ -40022,7 +40273,7 @@ class AiAssistantComponent {
40022
40273
  this.currentRequestSubscription = null;
40023
40274
  }
40024
40275
  }
40025
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AiAssistantComponent, deps: [{ token: i1$8.HttpClient }, { token: ContextService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: GridAIRequestResponseService }], target: i0.ɵɵFactoryTarget.Component });
40276
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AiAssistantComponent, deps: [{ token: i1$8.HttpClient }, { token: ContextService }, { token: ColumnInfoService }, { token: GridAIRequestResponseService }], target: i0.ɵɵFactoryTarget.Component });
40026
40277
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: AiAssistantComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "aiPrompt", first: true, predicate: AIPromptComponent, descendants: true }], ngImport: i0, template: `
40027
40278
  <kendo-aiprompt
40028
40279
  #aiPrompt
@@ -40126,7 +40377,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
40126
40377
  </kendo-aiprompt>
40127
40378
  `
40128
40379
  }]
40129
- }], ctorParameters: () => [{ type: i1$8.HttpClient }, { type: ContextService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: GridAIRequestResponseService }], propDecorators: { aiPrompt: [{
40380
+ }], ctorParameters: () => [{ type: i1$8.HttpClient }, { type: ContextService }, { type: ColumnInfoService }, { type: GridAIRequestResponseService }], propDecorators: { aiPrompt: [{
40130
40381
  type: ViewChild,
40131
40382
  args: [AIPromptComponent]
40132
40383
  }] } });
@@ -40350,7 +40601,7 @@ class AIAssistantToolbarDirective extends ToolbarToolBase {
40350
40601
  this.host.selected = false;
40351
40602
  focusAnchor && this.buttonElement?.focus();
40352
40603
  }
40353
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AIAssistantToolbarDirective, deps: [{ token: i1$7.WindowService }, { token: i54.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i54.RefreshService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
40604
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AIAssistantToolbarDirective, deps: [{ token: i1$7.WindowService }, { token: i57.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i57.RefreshService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
40354
40605
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: AIAssistantToolbarDirective, isStandalone: true, selector: "[kendoGridAIAssistantTool]", inputs: { requestUrl: "requestUrl", requestOptions: "requestOptions", aiWindowSettings: "aiWindowSettings", aiPromptSettings: "aiPromptSettings", autoClose: "autoClose", keepOutputHistory: "keepOutputHistory" }, outputs: { promptRequest: "promptRequest", cancelRequest: "cancelRequest", responseSuccess: "responseSuccess", responseError: "responseError", close: "close", open: "open" }, usesInheritance: true, ngImport: i0 });
40355
40606
  }
40356
40607
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AIAssistantToolbarDirective, decorators: [{
@@ -40359,7 +40610,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
40359
40610
  selector: '[kendoGridAIAssistantTool]',
40360
40611
  standalone: true
40361
40612
  }]
40362
- }], ctorParameters: () => [{ type: i1$7.WindowService }, { type: i54.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i54.RefreshService }, { type: i0.ChangeDetectorRef }], propDecorators: { requestUrl: [{
40613
+ }], ctorParameters: () => [{ type: i1$7.WindowService }, { type: i57.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i57.RefreshService }, { type: i0.ChangeDetectorRef }], propDecorators: { requestUrl: [{
40363
40614
  type: Input
40364
40615
  }], requestOptions: [{
40365
40616
  type: Input
@@ -40464,6 +40715,1917 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
40464
40715
  }]
40465
40716
  }], ctorParameters: () => [{ type: IdService }, { type: ContextService }] });
40466
40717
 
40718
+ /**
40719
+ * @hidden
40720
+ */
40721
+ class SmartBoxResponseErrorEvent extends PreventableEvent$1 {
40722
+ /**
40723
+ * The HTTP error response from the AI service.
40724
+ */
40725
+ error;
40726
+ constructor(error) {
40727
+ super();
40728
+ this.error = error;
40729
+ }
40730
+ }
40731
+ /**
40732
+ * @hidden
40733
+ */
40734
+ class SmartBoxResponseSuccessEvent extends PreventableEvent$1 {
40735
+ /**
40736
+ * The HTTP response from the AI service.
40737
+ */
40738
+ response;
40739
+ constructor(response) {
40740
+ super();
40741
+ this.response = response;
40742
+ }
40743
+ }
40744
+ /**
40745
+ * @hidden
40746
+ */
40747
+ class SmartBoxSearchEvent extends PreventableEvent$1 {
40748
+ /**
40749
+ * The user's input value.
40750
+ */
40751
+ searchValue;
40752
+ /**
40753
+ * The input-based filters that will be applied to the Grid.
40754
+ */
40755
+ filters;
40756
+ /**
40757
+ * The logic applied to the filters.
40758
+ */
40759
+ logic;
40760
+ /**
40761
+ * @hidden
40762
+ */
40763
+ constructor() {
40764
+ super();
40765
+ }
40766
+ }
40767
+
40768
+ /**
40769
+ * Represents the event data when the AI Assistant request completes with an error.
40770
+ */
40771
+ class GridSmartBoxResponseErrorEvent extends SmartBoxResponseErrorEvent {
40772
+ /**
40773
+ * @hidden
40774
+ */
40775
+ constructor(error) {
40776
+ super(error);
40777
+ }
40778
+ }
40779
+ /**
40780
+ * Represents the event data when the AI Assistant request completes successfully.
40781
+ */
40782
+ class GridSmartBoxResponseSuccessEvent extends SmartBoxResponseSuccessEvent {
40783
+ /**
40784
+ * @hidden
40785
+ */
40786
+ constructor(response) {
40787
+ super(response);
40788
+ }
40789
+ }
40790
+ /**
40791
+ * Represents the event data when the user types in Search mode.
40792
+ */
40793
+ class GridSmartBoxSearchEvent extends SmartBoxSearchEvent {
40794
+ /**
40795
+ * @hidden
40796
+ */
40797
+ constructor() {
40798
+ super();
40799
+ }
40800
+ }
40801
+
40802
+ const DEFAULT_SIZE$1 = 'medium';
40803
+ const SIZES_MAP = {
40804
+ small: 'sm',
40805
+ medium: 'md',
40806
+ large: 'lg'
40807
+ };
40808
+ /**
40809
+ * @hidden
40810
+ */
40811
+ class SegmentedControlComponent {
40812
+ renderer;
40813
+ wrapper;
40814
+ cdr;
40815
+ zone;
40816
+ hostClasses = true;
40817
+ hostRole = 'group';
40818
+ thumb;
40819
+ /**
40820
+ * Specifies the collection of buttons that will be rendered inside the SegmentedControlComponent.
40821
+ */
40822
+ buttons = [];
40823
+ /**
40824
+ * Sets the padding of the control.
40825
+ *
40826
+ * @default 'medium'
40827
+ */
40828
+ set size(size) {
40829
+ const newSize = size || DEFAULT_SIZE$1;
40830
+ this.handleSizeClass(newSize, this._size);
40831
+ this._size = newSize;
40832
+ }
40833
+ get size() {
40834
+ return this._size;
40835
+ }
40836
+ /**
40837
+ * Fires when a button is clicked.
40838
+ */
40839
+ buttonClick = new EventEmitter();
40840
+ ngAfterViewInit() {
40841
+ this.handleSizeClass(this._size, null);
40842
+ this.selectedButtonIndex = this.buttons.indexOf(this.buttons.find(b => b.selected)) || 0;
40843
+ this.cdr.detectChanges();
40844
+ this.zone.onStable.pipe(take(1)).subscribe(() => this.showSelectionIndicator());
40845
+ }
40846
+ handleClick(button, index) {
40847
+ this.selectedButtonIndex = index;
40848
+ this.cdr.detectChanges();
40849
+ this.buttonClick.emit(button);
40850
+ this.showSelectionIndicator();
40851
+ }
40852
+ getInnerIconClass(button) {
40853
+ const baseClass = 'k-segmented-control-button-icon';
40854
+ return button.iconInnerCssClass ? `${baseClass} ${button.iconInnerCssClass}` : baseClass;
40855
+ }
40856
+ constructor(renderer, wrapper, cdr, zone) {
40857
+ this.renderer = renderer;
40858
+ this.wrapper = wrapper;
40859
+ this.cdr = cdr;
40860
+ this.zone = zone;
40861
+ }
40862
+ showSelectionIndicator() {
40863
+ const element = this.wrapper.nativeElement;
40864
+ const controlRect = element.getBoundingClientRect();
40865
+ const selectedItem = element.querySelector('.k-segmented-control-button.k-selected');
40866
+ const selectionIndicator = this.thumb ? this.thumb.nativeElement : null;
40867
+ if (!selectedItem || !selectionIndicator) {
40868
+ return;
40869
+ }
40870
+ const itemRect = selectedItem.getBoundingClientRect();
40871
+ const left = itemRect.left - controlRect.left;
40872
+ const right = controlRect.right - itemRect.right;
40873
+ this.renderer.setStyle(selectionIndicator, 'left', `${left}px`);
40874
+ this.renderer.setStyle(selectionIndicator, 'right', `${right}px`);
40875
+ }
40876
+ selectedButtonIndex = 0;
40877
+ _size = DEFAULT_SIZE$1;
40878
+ handleSizeClass(newValue, prevValue) {
40879
+ if (!this.wrapper) {
40880
+ return;
40881
+ }
40882
+ const elem = this.wrapper.nativeElement;
40883
+ const classToRemove = prevValue ? `k-segmented-control-${SIZES_MAP[prevValue]}` : null;
40884
+ const classToAdd = newValue ? `k-segmented-control-${SIZES_MAP[newValue]}` : `k-segmented-control-${SIZES_MAP[DEFAULT_SIZE$1]}`;
40885
+ classToRemove && this.renderer.removeClass(elem, classToRemove);
40886
+ classToAdd && this.renderer.addClass(elem, classToAdd);
40887
+ }
40888
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SegmentedControlComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
40889
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: SegmentedControlComponent, isStandalone: true, selector: "kendo-segmented-control", inputs: { buttons: "buttons", size: "size" }, outputs: { buttonClick: "buttonClick" }, host: { properties: { "class.k-segmented-control": "this.hostClasses", "class.k-segmented-control-stretched": "this.hostClasses", "attr.role": "this.hostRole" } }, viewQueries: [{ propertyName: "thumb", first: true, predicate: ["thumb"], descendants: true }], ngImport: i0, template: `
40890
+ <div class="k-segmented-control-thumb" #thumb [attr.aria-hidden]="true"></div>
40891
+ @for (button of buttons; track $index; let idx = $index) {
40892
+ <button type="button"
40893
+ class="k-segmented-control-button"
40894
+ [class.k-disabled]="button.disabled"
40895
+ [attr.disabled]="button.disabled ? true : null"
40896
+ (click)="handleClick(button, idx)"
40897
+ [class.k-selected]="selectedButtonIndex === idx"
40898
+ [attr.aria-pressed]="selectedButtonIndex === idx ? 'true' : 'false'">
40899
+ <kendo-icon-wrapper
40900
+ [innerCssClass]="getInnerIconClass(button)"
40901
+ [name]="button.icon"
40902
+ [svgIcon]="button.svgIcon">
40903
+ </kendo-icon-wrapper>
40904
+ <span class="k-segmented-control-button-text">{{button.text}}</span>
40905
+ </button>
40906
+ }
40907
+ `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
40908
+ }
40909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SegmentedControlComponent, decorators: [{
40910
+ type: Component,
40911
+ args: [{
40912
+ selector: 'kendo-segmented-control',
40913
+ standalone: true,
40914
+ imports: [IconWrapperComponent],
40915
+ template: `
40916
+ <div class="k-segmented-control-thumb" #thumb [attr.aria-hidden]="true"></div>
40917
+ @for (button of buttons; track $index; let idx = $index) {
40918
+ <button type="button"
40919
+ class="k-segmented-control-button"
40920
+ [class.k-disabled]="button.disabled"
40921
+ [attr.disabled]="button.disabled ? true : null"
40922
+ (click)="handleClick(button, idx)"
40923
+ [class.k-selected]="selectedButtonIndex === idx"
40924
+ [attr.aria-pressed]="selectedButtonIndex === idx ? 'true' : 'false'">
40925
+ <kendo-icon-wrapper
40926
+ [innerCssClass]="getInnerIconClass(button)"
40927
+ [name]="button.icon"
40928
+ [svgIcon]="button.svgIcon">
40929
+ </kendo-icon-wrapper>
40930
+ <span class="k-segmented-control-button-text">{{button.text}}</span>
40931
+ </button>
40932
+ }
40933
+ `
40934
+ }]
40935
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }], propDecorators: { hostClasses: [{
40936
+ type: HostBinding,
40937
+ args: ['class.k-segmented-control']
40938
+ }, {
40939
+ type: HostBinding,
40940
+ args: ['class.k-segmented-control-stretched']
40941
+ }], hostRole: [{
40942
+ type: HostBinding,
40943
+ args: ['attr.role']
40944
+ }], thumb: [{
40945
+ type: ViewChild,
40946
+ args: ['thumb']
40947
+ }], buttons: [{
40948
+ type: Input
40949
+ }], size: [{
40950
+ type: Input
40951
+ }], buttonClick: [{
40952
+ type: Output
40953
+ }] } });
40954
+
40955
+ /**
40956
+ * @hidden
40957
+ * Renders the prompt suggestion content.
40958
+ *
40959
+ * To define the suggestion template, nest a `<ng-template>` tag with the `kendoGridSmartBoxPromptSuggestionTemplate` directive inside the component tag.
40960
+ *
40961
+ * The template context is set to the current suggestion. Use the `let-suggestion` directive to reference the current suggestion.
40962
+ *
40963
+ * @example
40964
+ * ```html
40965
+ * <kendo-smartbox>
40966
+ * <ng-template kendoGridSmartBoxPromptSuggestionTemplate let-suggestion>
40967
+ * <kendo-icon-wrapper name="sort-asc" [svgIcon]="sortAscIcon"></kendo-icon-wrapper>
40968
+ * <span>{{suggestion}}</span>
40969
+ * </ng-template>
40970
+ * </kendo-smartbox>
40971
+ * ```
40972
+ */
40973
+ class GridSmartBoxPromptSuggestionTemplateDirective {
40974
+ templateRef;
40975
+ constructor(templateRef) {
40976
+ this.templateRef = templateRef;
40977
+ }
40978
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridSmartBoxPromptSuggestionTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
40979
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: GridSmartBoxPromptSuggestionTemplateDirective, isStandalone: true, selector: "[kendoGridSmartBoxPromptSuggestionTemplate]", ngImport: i0 });
40980
+ }
40981
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridSmartBoxPromptSuggestionTemplateDirective, decorators: [{
40982
+ type: Directive,
40983
+ args: [{
40984
+ selector: '[kendoGridSmartBoxPromptSuggestionTemplate]',
40985
+ standalone: true
40986
+ }]
40987
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
40988
+
40989
+ /**
40990
+ * @hidden
40991
+ * Renders the history item content.
40992
+ *
40993
+ * To define the history item template, nest a `<ng-template>` tag with the `kendoGridSmartBoxHistoryItemTemplate` directive inside the component tag.
40994
+ *
40995
+ * The template context is set to the current history item. Use the `let-item` directive to reference the current history item.
40996
+ *
40997
+ * @example
40998
+ * ```html
40999
+ * <kendo-smartbox>
41000
+ * <ng-template kendoGridSmartBoxHistoryItemTemplate let-item>
41001
+ * <kendo-icon-wrapper name="clock" [svgIcon]="clockIcon"></kendo-icon-wrapper>
41002
+ * <span>{{item.text}} ({{ item.timestamp | date: 'shortTime' }})</span>
41003
+ * </ng-template>
41004
+ * </kendo-smartbox>
41005
+ * ```
41006
+ */
41007
+ class GridSmartBoxHistoryItemTemplateDirective {
41008
+ templateRef;
41009
+ constructor(templateRef) {
41010
+ this.templateRef = templateRef;
41011
+ }
41012
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridSmartBoxHistoryItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
41013
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: GridSmartBoxHistoryItemTemplateDirective, isStandalone: true, selector: "[kendoGridSmartBoxHistoryItemTemplate]", ngImport: i0 });
41014
+ }
41015
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridSmartBoxHistoryItemTemplateDirective, decorators: [{
41016
+ type: Directive,
41017
+ args: [{
41018
+ selector: '[kendoGridSmartBoxHistoryItemTemplate]',
41019
+ standalone: true
41020
+ }]
41021
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
41022
+
41023
+ /**
41024
+ * @hidden
41025
+ */
41026
+ const DEFAULT_HISTORY_SETTINGS = {
41027
+ size: 5,
41028
+ timestampFormat: 'HH:mm:ss'
41029
+ };
41030
+ /**
41031
+ * @hidden
41032
+ */
41033
+ const STB_DEFAULT_SETTINGS = {
41034
+ continuous: false,
41035
+ disabled: false,
41036
+ fillMode: 'clear',
41037
+ integrationMode: 'webSpeech',
41038
+ interimResults: false,
41039
+ lang: 'en-US',
41040
+ maxAlternatives: 1,
41041
+ rounded: 'full',
41042
+ size: 'small',
41043
+ themeColor: 'base'
41044
+ };
41045
+ /**
41046
+ * @hidden
41047
+ */
41048
+ const DEFAULT_SEARCH_SETTINGS = {
41049
+ history: DEFAULT_HISTORY_SETTINGS,
41050
+ placeholder: null,
41051
+ delay: 300,
41052
+ enabled: true,
41053
+ fields: []
41054
+ };
41055
+ /**
41056
+ * @hidden
41057
+ */
41058
+ const DEFAULT_SEMANTIC_SEARCH_SETTINGS = {
41059
+ history: DEFAULT_HISTORY_SETTINGS,
41060
+ placeholder: null,
41061
+ delay: 700,
41062
+ enabled: true
41063
+ };
41064
+ /**
41065
+ * @hidden
41066
+ */
41067
+ const DEFAULT_AI_ASSISTANT_SETTINGS = {
41068
+ history: DEFAULT_HISTORY_SETTINGS,
41069
+ placeholder: null,
41070
+ enabled: true,
41071
+ promptSuggestions: [],
41072
+ requestUrl: '',
41073
+ requestOptions: DEFAULT_AI_REQUEST_OPTIONS,
41074
+ speechToTextButton: true
41075
+ };
41076
+ /**
41077
+ * @hidden
41078
+ */
41079
+ const DEFAULT_SIZE = 'medium';
41080
+ /**
41081
+ * @hidden
41082
+ */
41083
+ const SIZES = {
41084
+ small: 'sm',
41085
+ medium: 'md',
41086
+ large: 'lg'
41087
+ };
41088
+
41089
+ /**
41090
+ * @hidden
41091
+ */
41092
+ class SmartBoxComponent {
41093
+ popupService;
41094
+ wrapper;
41095
+ cdr;
41096
+ zone;
41097
+ intl;
41098
+ ctx;
41099
+ aiRequestResponseService;
41100
+ http;
41101
+ renderer;
41102
+ columnInfoService;
41103
+ searchService;
41104
+ popupTemplate;
41105
+ input;
41106
+ innerWrapper;
41107
+ set searchMode(mode) {
41108
+ const settingsFromComponent = { placeholder: this.placeholder, history: this.history };
41109
+ if (mode === true) {
41110
+ this._searchMode = { ...DEFAULT_SEARCH_SETTINGS, ...settingsFromComponent, enabled: true };
41111
+ }
41112
+ else if (mode === false) {
41113
+ this._searchMode = null;
41114
+ }
41115
+ else {
41116
+ this._searchMode = { ...DEFAULT_SEARCH_SETTINGS, ...settingsFromComponent, ...mode };
41117
+ }
41118
+ this.updateSearchListData();
41119
+ this.updateSelectedView();
41120
+ }
41121
+ get searchMode() {
41122
+ return this._searchMode;
41123
+ }
41124
+ set semanticSearchMode(mode) {
41125
+ const settingsFromComponent = { placeholder: this.placeholder, history: this.history };
41126
+ if (mode === true) {
41127
+ this._semanticSearchMode = { ...DEFAULT_SEMANTIC_SEARCH_SETTINGS, ...settingsFromComponent, enabled: true };
41128
+ }
41129
+ else if (mode === false) {
41130
+ this._semanticSearchMode = null;
41131
+ }
41132
+ else {
41133
+ this._semanticSearchMode = { ...DEFAULT_SEMANTIC_SEARCH_SETTINGS, ...settingsFromComponent, ...mode };
41134
+ }
41135
+ this.updateSearchListData();
41136
+ this.updateSelectedView();
41137
+ }
41138
+ get semanticSearchMode() {
41139
+ return this._semanticSearchMode;
41140
+ }
41141
+ set aiAssistantMode(mode) {
41142
+ const settingsFromComponent = { placeholder: this.placeholder, history: this.history };
41143
+ if (mode === true) {
41144
+ this._aiAssistantMode = { ...DEFAULT_AI_ASSISTANT_SETTINGS, ...settingsFromComponent, enabled: true };
41145
+ }
41146
+ else if (mode === false) {
41147
+ this._aiAssistantMode = null;
41148
+ }
41149
+ else {
41150
+ const mergedRequestOptions = mode?.requestOptions ?
41151
+ { ...DEFAULT_AI_ASSISTANT_SETTINGS.requestOptions, ...mode.requestOptions } :
41152
+ DEFAULT_AI_ASSISTANT_SETTINGS.requestOptions;
41153
+ this._aiAssistantMode = {
41154
+ ...DEFAULT_AI_ASSISTANT_SETTINGS,
41155
+ ...settingsFromComponent,
41156
+ ...mode,
41157
+ requestOptions: mergedRequestOptions
41158
+ };
41159
+ }
41160
+ this.updateSelectedView();
41161
+ this.speechToTextButton = this._aiAssistantMode?.speechToTextButton;
41162
+ }
41163
+ get aiAssistantMode() {
41164
+ return this._aiAssistantMode;
41165
+ }
41166
+ set speechToTextButton(value) {
41167
+ if (value === true) {
41168
+ this._speechToTextButton = STB_DEFAULT_SETTINGS;
41169
+ }
41170
+ else if (value === false) {
41171
+ this._speechToTextButton = null;
41172
+ }
41173
+ else {
41174
+ this._speechToTextButton = { ...STB_DEFAULT_SETTINGS, ...value };
41175
+ }
41176
+ }
41177
+ get speechToTextButton() {
41178
+ return this._speechToTextButton;
41179
+ }
41180
+ get searchHistorySettings() {
41181
+ if (!isPresent$1(this.searchMode?.history)) {
41182
+ return null;
41183
+ }
41184
+ if (typeof this.searchMode.history === 'boolean') {
41185
+ return this.searchMode.history ? DEFAULT_HISTORY_SETTINGS : null;
41186
+ }
41187
+ else {
41188
+ return { ...DEFAULT_HISTORY_SETTINGS, ...this.searchMode.history };
41189
+ }
41190
+ }
41191
+ get semanticSearchHistorySettings() {
41192
+ if (!isPresent$1(this.semanticSearchMode?.history)) {
41193
+ return null;
41194
+ }
41195
+ if (typeof this.semanticSearchMode.history === 'boolean') {
41196
+ return this.semanticSearchMode.history ? DEFAULT_HISTORY_SETTINGS : null;
41197
+ }
41198
+ else {
41199
+ return { ...DEFAULT_HISTORY_SETTINGS, ...this.semanticSearchMode.history };
41200
+ }
41201
+ }
41202
+ get aiAssistantHistorySettings() {
41203
+ if (!isPresent$1(this.aiAssistantMode?.history)) {
41204
+ return null;
41205
+ }
41206
+ if (typeof this.aiAssistantMode.history === 'boolean') {
41207
+ return this.aiAssistantMode.history ? DEFAULT_HISTORY_SETTINGS : null;
41208
+ }
41209
+ else {
41210
+ return { ...DEFAULT_HISTORY_SETTINGS, ...this.aiAssistantMode.history };
41211
+ }
41212
+ }
41213
+ get inputPlaceholder() {
41214
+ return this[`${this.selectedView}Placeholder`] || '';
41215
+ }
41216
+ set activeMode(value) {
41217
+ this._activeMode = value;
41218
+ this.updateSelectedView();
41219
+ }
41220
+ get activeMode() {
41221
+ return this._activeMode;
41222
+ }
41223
+ set history(value) {
41224
+ if (value === true || !isPresent$1(value)) {
41225
+ this._history = DEFAULT_HISTORY_SETTINGS;
41226
+ }
41227
+ else if (value === false) {
41228
+ this._history = null;
41229
+ }
41230
+ else {
41231
+ this._history = {
41232
+ size: value.size ?? DEFAULT_HISTORY_SETTINGS.size,
41233
+ timestampFormat: value.timestampFormat ?? DEFAULT_HISTORY_SETTINGS.timestampFormat
41234
+ };
41235
+ }
41236
+ }
41237
+ get history() {
41238
+ return this._history;
41239
+ }
41240
+ placeholder;
41241
+ set size(size) {
41242
+ const newSize = size || DEFAULT_SIZE;
41243
+ this.handleSizeClass(newSize);
41244
+ this._size = newSize;
41245
+ }
41246
+ get size() {
41247
+ return this._size;
41248
+ }
41249
+ promptSuggestionTemplate;
41250
+ historyItemTemplate;
41251
+ loading = false;
41252
+ open = new EventEmitter();
41253
+ close = new EventEmitter();
41254
+ focus = new EventEmitter();
41255
+ blur = new EventEmitter();
41256
+ aiAssistantPromptRequest = new EventEmitter();
41257
+ aiAssistantResponseSuccess = new EventEmitter();
41258
+ aiAssistantResponseError = new EventEmitter();
41259
+ aiAssistantCancelRequest = new EventEmitter();
41260
+ search = new EventEmitter();
41261
+ semanticSearch = new EventEmitter();
41262
+ constructor(popupService, wrapper, cdr, zone, intl, ctx, aiRequestResponseService, http, renderer, columnInfoService, searchService) {
41263
+ this.popupService = popupService;
41264
+ this.wrapper = wrapper;
41265
+ this.cdr = cdr;
41266
+ this.zone = zone;
41267
+ this.intl = intl;
41268
+ this.ctx = ctx;
41269
+ this.aiRequestResponseService = aiRequestResponseService;
41270
+ this.http = http;
41271
+ this.renderer = renderer;
41272
+ this.columnInfoService = columnInfoService;
41273
+ this.searchService = searchService;
41274
+ }
41275
+ ngOnChanges(changes) {
41276
+ if (changes['history'] || changes['placeholder']) {
41277
+ this.updateModeSettingsFromSharedInputs();
41278
+ }
41279
+ if (changes['searchMode']) {
41280
+ this.updateSearchListData();
41281
+ this.updateSelectedView();
41282
+ this.updateHistoryData();
41283
+ }
41284
+ if (changes['semanticSearchMode']) {
41285
+ this.updateSearchListData();
41286
+ this.updateSelectedView();
41287
+ this.updateHistoryData();
41288
+ }
41289
+ if (changes['aiAssistantMode']) {
41290
+ this.updateSelectedView();
41291
+ this.updateHistoryData();
41292
+ this.speechToTextButton = this._aiAssistantMode?.speechToTextButton;
41293
+ }
41294
+ if (changes['activeMode']) {
41295
+ this.updateSelectedView();
41296
+ }
41297
+ }
41298
+ ngAfterViewInit() {
41299
+ // Preserve a flat columns array (fields) for highlight utilities.
41300
+ // Use leafNamedColumns as the canonical list of leaf columns with display titles.
41301
+ this.leafColumns = this.columnInfoService.leafNamedColumns || [];
41302
+ this.columns = this.leafColumns.map((col) => ({ field: col.field }));
41303
+ this.handleSizeClass(this._size);
41304
+ this.updateSearchListData();
41305
+ this.updateSelectedView();
41306
+ }
41307
+ ngOnDestroy() {
41308
+ this.destroyPopup();
41309
+ this.clearTypingTimeout();
41310
+ this.unsubscribeCurrentRequest();
41311
+ }
41312
+ focusableId = `k-${guid()}`;
41313
+ selectedView;
41314
+ isOpen = false;
41315
+ checkIcon = checkIcon;
41316
+ clockArrowRotateIcon = clockArrowRotateIcon;
41317
+ fileClockOutlineIcon = fileClockOutlineIcon;
41318
+ searchIcon = searchIcon;
41319
+ zoomSparkleIcon = zoomSparkleIcon;
41320
+ sparklesIcon = sparklesIcon;
41321
+ arrowUpOutlineIcon = arrowUpOutlineIcon;
41322
+ stopSmIcon = stopSmIcon;
41323
+ xIcon = xIcon;
41324
+ lightbulbOutlineIcon = lightbulbOutlineIcon;
41325
+ searchListData = [];
41326
+ aiAssistantHistory = [];
41327
+ searchHistory = [];
41328
+ semanticSearchHistory = [];
41329
+ get segmentedControlButtons() {
41330
+ const buttons = [];
41331
+ if ((this.searchMode?.enabled || this.semanticSearchMode?.enabled) && this.aiAssistantMode?.enabled) {
41332
+ if (this.searchMode?.enabled && !this.semanticSearchMode?.enabled) {
41333
+ buttons.push({ text: 'Search', svgIcon: searchIcon, icon: 'search', selected: this.selectedView === 'search' });
41334
+ }
41335
+ else if (!this.searchMode?.enabled && this.semanticSearchMode?.enabled) {
41336
+ buttons.push({ text: 'Search', svgIcon: zoomSparkleIcon, icon: 'zoom-sparkle', selected: this.selectedView === 'semanticSearch', iconInnerCssClass: this.selectedView === 'semanticSearch' ? 'k-accent-icon' : '' });
41337
+ }
41338
+ else if (this.searchMode?.enabled && this.semanticSearchMode?.enabled) {
41339
+ buttons.push({ text: 'Search', svgIcon: searchIcon, icon: 'search', selected: this.selectedView === 'search' || this.selectedView === 'semanticSearch', iconInnerCssClass: this.selectedView === 'semanticSearch' ? 'k-accent-icon' : '' });
41340
+ }
41341
+ buttons.push({ text: 'AI Assistant', svgIcon: sparklesIcon, icon: 'sparkles', selected: this.selectedView === 'aiAssistant', iconInnerCssClass: this.selectedView === 'aiAssistant' ? 'k-accent-icon' : '' });
41342
+ }
41343
+ return buttons;
41344
+ }
41345
+ get prefixIconName() {
41346
+ switch (this.selectedView) {
41347
+ case 'search':
41348
+ return 'search';
41349
+ case 'semanticSearch':
41350
+ return 'zoom-sparkle';
41351
+ case 'aiAssistant':
41352
+ return 'sparkles';
41353
+ default:
41354
+ return 'search';
41355
+ }
41356
+ }
41357
+ get prefixSVGIcon() {
41358
+ switch (this.selectedView) {
41359
+ case 'search':
41360
+ return this.searchIcon;
41361
+ case 'semanticSearch':
41362
+ return this.zoomSparkleIcon;
41363
+ case 'aiAssistant':
41364
+ return this.sparklesIcon;
41365
+ default:
41366
+ return this.searchIcon;
41367
+ }
41368
+ }
41369
+ messageFor(message) {
41370
+ return this.ctx.localization.get(message);
41371
+ }
41372
+ formatDate(date, format) {
41373
+ return this.intl.formatDate(date, format);
41374
+ }
41375
+ onModeChange(button) {
41376
+ let previousView;
41377
+ if (this.searchListData.length > 0) {
41378
+ previousView = this.searchListData.find(i => i.selected)?.text;
41379
+ }
41380
+ if (button.text === 'Search') {
41381
+ if (previousView === 'Search') {
41382
+ this.selectedView = 'search';
41383
+ }
41384
+ else if (previousView === 'Semantic Search') {
41385
+ this.selectedView = 'semanticSearch';
41386
+ }
41387
+ else if (this.searchMode?.enabled) {
41388
+ this.selectedView = 'search';
41389
+ }
41390
+ else if (this.semanticSearchMode?.enabled) {
41391
+ this.selectedView = 'semanticSearch';
41392
+ }
41393
+ }
41394
+ else if (button.text === 'AI Assistant') {
41395
+ this.selectedView = 'aiAssistant';
41396
+ }
41397
+ this.input.nativeElement.value = '';
41398
+ this.cdr.detectChanges();
41399
+ }
41400
+ onSearchItemClick(item) {
41401
+ this.searchListData.forEach(i => i.selected = false);
41402
+ this.searchListData.find(i => i.text === item.text).selected = true;
41403
+ this.selectedView = item.text === 'Search' ? 'search' : 'semanticSearch';
41404
+ this.input.nativeElement.value = '';
41405
+ this.cdr.markForCheck();
41406
+ }
41407
+ onListItemClick(item) {
41408
+ if (!this.selectedView) {
41409
+ return;
41410
+ }
41411
+ this.input.nativeElement.value = item;
41412
+ this.togglePopup(false);
41413
+ this.input.nativeElement.focus();
41414
+ if (this.selectedView === 'aiAssistant') {
41415
+ return;
41416
+ }
41417
+ let ev;
41418
+ const fields = this.searchMode?.fields.length > 0 ? this.searchMode.fields :
41419
+ this.ctx.grid.columnList.toArray().map((item) => item.field);
41420
+ const filters = [];
41421
+ fields.forEach(field => {
41422
+ filters.push({
41423
+ field,
41424
+ operator: 'contains',
41425
+ value: this.input.nativeElement.value
41426
+ });
41427
+ });
41428
+ const eventArgs = {
41429
+ searchValue: this.input.nativeElement.value,
41430
+ filters,
41431
+ logic: 'or'
41432
+ };
41433
+ if (this.selectedView === 'search') {
41434
+ ev = Object.assign(new SmartBoxSearchEvent(), eventArgs);
41435
+ }
41436
+ else if (this.selectedView === 'semanticSearch') {
41437
+ ev = { searchValue: this.input.nativeElement.value };
41438
+ }
41439
+ this[this.selectedView].emit(ev);
41440
+ if (this.selectedView === 'search' && !ev.isDefaultPrevented()) {
41441
+ this.zone.run(() => {
41442
+ if (this.input.nativeElement.value === '' || !this.input.nativeElement.value) {
41443
+ this.searchService.changes.next(undefined);
41444
+ }
41445
+ else {
41446
+ this.searchService.changes.next({ filters: ev.filters, logic: ev.logic });
41447
+ }
41448
+ });
41449
+ }
41450
+ if (this.input.nativeElement.value) {
41451
+ const historyItem = {
41452
+ text: this.input.nativeElement.value,
41453
+ timestamp: new Date(),
41454
+ format: this[`${this.selectedView}HistorySettings`].timestampFormat
41455
+ };
41456
+ this[`${this.selectedView}History`].unshift(historyItem);
41457
+ if (this[`${this.selectedView}History`]?.length > this[`${this.selectedView}HistorySettings`].size) {
41458
+ this[`${this.selectedView}History`].splice(this[`${this.selectedView}HistorySettings`].size);
41459
+ }
41460
+ }
41461
+ }
41462
+ handleInput = (_event) => {
41463
+ if (this.input.nativeElement.value) {
41464
+ this.togglePopup(false);
41465
+ }
41466
+ else {
41467
+ this.togglePopup(true);
41468
+ }
41469
+ this.clearTypingTimeout();
41470
+ if (this.selectedView === 'aiAssistant') {
41471
+ return;
41472
+ }
41473
+ this.handleInputValueChange();
41474
+ };
41475
+ handleInputValueChange() {
41476
+ if (!this.selectedView) {
41477
+ return;
41478
+ }
41479
+ const inputValue = this.input.nativeElement.value;
41480
+ let ev;
41481
+ let delay;
41482
+ if (this.selectedView === 'search') {
41483
+ const fields = this.searchMode.fields.length > 0 ? this.searchMode.fields :
41484
+ this.ctx.grid.columnList.toArray().map((item) => item.field);
41485
+ const filters = [];
41486
+ fields.forEach(field => {
41487
+ filters.push({
41488
+ field,
41489
+ operator: 'contains',
41490
+ value: inputValue
41491
+ });
41492
+ });
41493
+ const eventArgs = {
41494
+ searchValue: inputValue,
41495
+ filters,
41496
+ logic: 'or'
41497
+ };
41498
+ ev = Object.assign(new SmartBoxSearchEvent(), eventArgs);
41499
+ delay = this.searchMode.delay;
41500
+ }
41501
+ else if (this.selectedView === 'semanticSearch') {
41502
+ const fields = this.ctx.grid.columnList.toArray().map((item) => item.field);
41503
+ const filters = [];
41504
+ fields.forEach(field => {
41505
+ filters.push({
41506
+ field,
41507
+ operator: 'contains',
41508
+ value: inputValue
41509
+ });
41510
+ });
41511
+ ev = {
41512
+ searchValue: inputValue,
41513
+ filters,
41514
+ logic: 'or'
41515
+ };
41516
+ delay = this.semanticSearchMode.delay;
41517
+ }
41518
+ this.searchTypingTimeout = setTimeout(() => {
41519
+ this.zone.run(() => {
41520
+ this[this.selectedView].emit(ev);
41521
+ });
41522
+ if (this.selectedView === 'search' && !ev.isDefaultPrevented()) {
41523
+ this.zone.run(() => {
41524
+ if (inputValue === '' || !inputValue) {
41525
+ this.searchService.changes.next(undefined);
41526
+ }
41527
+ else {
41528
+ this.searchService.changes.next({ filters: ev.filters, logic: ev.logic });
41529
+ }
41530
+ });
41531
+ }
41532
+ if (inputValue) {
41533
+ const historyItem = {
41534
+ text: inputValue,
41535
+ timestamp: new Date(),
41536
+ format: this[`${this.selectedView}HistorySettings`].timestampFormat
41537
+ };
41538
+ this[`${this.selectedView}History`].unshift(historyItem);
41539
+ if (this[`${this.selectedView}History`]?.length > this[`${this.selectedView}HistorySettings`].size) {
41540
+ this[`${this.selectedView}History`].splice(this[`${this.selectedView}HistorySettings`].size);
41541
+ }
41542
+ }
41543
+ }, delay);
41544
+ }
41545
+ handleInputFocus = () => {
41546
+ if (hasObservers(this.focus)) {
41547
+ this.zone.run(() => {
41548
+ this.focus.emit();
41549
+ });
41550
+ }
41551
+ this.togglePopup(true);
41552
+ };
41553
+ handleInputBlur = () => {
41554
+ if (hasObservers(this.blur)) {
41555
+ this.zone.run(() => {
41556
+ this.blur.emit();
41557
+ });
41558
+ }
41559
+ this.togglePopup(false);
41560
+ };
41561
+ handleInputClick = () => {
41562
+ if (!this.input.nativeElement.value) {
41563
+ this.togglePopup(true);
41564
+ }
41565
+ };
41566
+ handleInputKeydown = (event) => {
41567
+ const code = normalizeKeys(event);
41568
+ const isEnter = code === Keys.Enter;
41569
+ if (!isEnter) {
41570
+ return;
41571
+ }
41572
+ if (this.selectedView === 'aiAssistant') {
41573
+ this.zone.run(() => {
41574
+ this.onPromptSubmit();
41575
+ });
41576
+ }
41577
+ else if (this.selectedView === 'semanticSearch') {
41578
+ this.zone.run(() => {
41579
+ this.clearTypingTimeout();
41580
+ this.handleInputValueChange();
41581
+ });
41582
+ }
41583
+ };
41584
+ onIconClick = () => {
41585
+ this.togglePopup(!this.isOpen);
41586
+ this.input.nativeElement.focus();
41587
+ };
41588
+ onIconMouseDown = (args) => {
41589
+ args.preventDefault();
41590
+ };
41591
+ clearValue(event) {
41592
+ event.stopImmediatePropagation();
41593
+ this.input.nativeElement.value = '';
41594
+ this.input.nativeElement.focus();
41595
+ this.togglePopup(true);
41596
+ this.clearTypingTimeout();
41597
+ this.handleInputValueChange();
41598
+ }
41599
+ _searchMode;
41600
+ _semanticSearchMode;
41601
+ _aiAssistantMode;
41602
+ _activeMode = 'search';
41603
+ _history;
41604
+ _size = DEFAULT_SIZE;
41605
+ _speechToTextButton;
41606
+ popupRef;
41607
+ popupMouseDownHandler = (event) => event.preventDefault();
41608
+ requestData;
41609
+ currentRequestSubscription = null;
41610
+ columns = [];
41611
+ leafColumns = [];
41612
+ searchTypingTimeout;
41613
+ togglePopup(open) {
41614
+ const sameState = this.isOpen === open;
41615
+ if (sameState) {
41616
+ return;
41617
+ }
41618
+ this._toggle(open);
41619
+ }
41620
+ onPromptSubmit() {
41621
+ if (this.loading) {
41622
+ this.handleResponseCancel();
41623
+ return;
41624
+ }
41625
+ if (this.input.nativeElement.value.length === 0) {
41626
+ return;
41627
+ }
41628
+ this.loading = true;
41629
+ const historyItem = {
41630
+ text: this.input.nativeElement.value,
41631
+ timestamp: new Date(),
41632
+ format: this.aiAssistantHistorySettings?.timestampFormat
41633
+ };
41634
+ this.aiAssistantHistory.unshift(historyItem);
41635
+ if (this.aiAssistantHistory.length > this.aiAssistantHistorySettings?.size) {
41636
+ this.aiAssistantHistory.splice(this.aiAssistantHistorySettings.size);
41637
+ }
41638
+ this.unsubscribeCurrentRequest();
41639
+ this.requestData = {
41640
+ columns: [],
41641
+ promptMessage: this.input.nativeElement.value,
41642
+ url: this.aiAssistantMode.requestUrl,
41643
+ requestOptions: {
41644
+ ...this.aiAssistantMode.requestOptions
41645
+ }
41646
+ };
41647
+ if (!this.aiAssistantMode.requestOptions.body) {
41648
+ this.requestData.requestOptions.body = this.aiRequestResponseService.buildRequestBody(this.requestData.promptMessage, this.requestData.requestOptions.role);
41649
+ }
41650
+ this.zone.run(() => {
41651
+ this.aiAssistantPromptRequest.emit({ requestData: this.requestData });
41652
+ });
41653
+ this.togglePopup(false);
41654
+ this.input.nativeElement.value = '';
41655
+ if (!this.aiAssistantMode.requestUrl) {
41656
+ return;
41657
+ }
41658
+ this.currentRequestSubscription = this.sendPromptRequest().subscribe((res) => {
41659
+ if (res.body) {
41660
+ this.zone.run(() => {
41661
+ this.processResponse(res);
41662
+ this.loading = false;
41663
+ });
41664
+ }
41665
+ this.currentRequestSubscription = null;
41666
+ }, (error) => {
41667
+ this.zone.run(() => {
41668
+ this.handleError(error);
41669
+ this.loading = false;
41670
+ this.currentRequestSubscription = null;
41671
+ });
41672
+ });
41673
+ }
41674
+ onSpeechToTextResult(event) {
41675
+ if (event.alternatives && event.alternatives.length > 0) {
41676
+ if (!isPresent$1(this.input.nativeElement.value)) {
41677
+ this.input.nativeElement.value = '';
41678
+ }
41679
+ const newValue = event.alternatives[0].transcript + ' ';
41680
+ this.input.nativeElement.value = newValue;
41681
+ }
41682
+ }
41683
+ onSpeechToTextError(event) {
41684
+ if (isDevMode()) {
41685
+ console.error('Speech to Text error:', event.errorMessage);
41686
+ }
41687
+ }
41688
+ get searchPlaceholder() {
41689
+ return this.searchMode?.placeholder || this.placeholder || this.messageFor('smartBoxSearchPlaceholder');
41690
+ }
41691
+ get semanticSearchPlaceholder() {
41692
+ return this.semanticSearchMode?.placeholder || this.placeholder || this.messageFor('smartBoxSemanticSearchPlaceholder');
41693
+ }
41694
+ get aiAssistantPlaceholder() {
41695
+ return this.aiAssistantMode?.placeholder || this.placeholder || this.messageFor('smartBoxAIAssistantPlaceholder');
41696
+ }
41697
+ get inputDisabled() {
41698
+ return !(this.searchMode?.enabled || this.semanticSearchMode?.enabled || this.aiAssistantMode?.enabled);
41699
+ }
41700
+ createPopup() {
41701
+ this.popupRef = this.popupService.open({
41702
+ anchor: this.wrapper.nativeElement,
41703
+ content: this.popupTemplate,
41704
+ popupClass: 'k-smart-box-popup',
41705
+ positionMode: 'absolute',
41706
+ margin: { horizontal: 0, vertical: 2 }
41707
+ });
41708
+ const popupWrapper = this.popupRef.popupElement;
41709
+ const { min, max } = this.popupWidth;
41710
+ popupWrapper.style.minWidth = min;
41711
+ popupWrapper.style.width = max;
41712
+ popupWrapper.addEventListener('mousedown', this.popupMouseDownHandler);
41713
+ this.popupRef.popupOpen.subscribe(() => {
41714
+ this.open.emit();
41715
+ });
41716
+ this.popupRef.popupClose.subscribe(() => {
41717
+ this.close.emit();
41718
+ });
41719
+ this.popupRef.popupAnchorViewportLeave.subscribe(() => this.togglePopup(false));
41720
+ }
41721
+ destroyPopup() {
41722
+ if (this.popupRef) {
41723
+ this.popupRef.popupElement
41724
+ .removeEventListener('mousedown', this.popupMouseDownHandler);
41725
+ this.popupRef.close();
41726
+ this.popupRef = null;
41727
+ }
41728
+ }
41729
+ _toggle(open) {
41730
+ this.isOpen = open;
41731
+ this.destroyPopup();
41732
+ if (this.isOpen) {
41733
+ this.createPopup();
41734
+ }
41735
+ }
41736
+ clearTypingTimeout() {
41737
+ if (this.searchTypingTimeout) {
41738
+ clearTimeout(this.searchTypingTimeout);
41739
+ this.searchTypingTimeout = null;
41740
+ }
41741
+ }
41742
+ sendPromptRequest() {
41743
+ const request = new HttpRequest(this.requestData.requestOptions.method, this.requestData.url, this.requestData.requestOptions.body, this.requestData.requestOptions);
41744
+ return this.http.request(request);
41745
+ }
41746
+ handleResponseCancel() {
41747
+ this.aiAssistantCancelRequest.emit();
41748
+ this.unsubscribeCurrentRequest();
41749
+ this.loading = false;
41750
+ }
41751
+ unsubscribeCurrentRequest() {
41752
+ if (this.currentRequestSubscription) {
41753
+ this.currentRequestSubscription.unsubscribe();
41754
+ this.currentRequestSubscription = null;
41755
+ }
41756
+ }
41757
+ get popupWidth() {
41758
+ let wrapperOffsetWidth = 0;
41759
+ if (isDocumentAvailable()) {
41760
+ wrapperOffsetWidth = this.wrapper.nativeElement.offsetWidth;
41761
+ }
41762
+ const width = wrapperOffsetWidth;
41763
+ const minWidth = isNaN(wrapperOffsetWidth) ? wrapperOffsetWidth : `${wrapperOffsetWidth}px`;
41764
+ const maxWidth = isNaN(width) ? width : `${width}px`;
41765
+ return { min: minWidth, max: maxWidth };
41766
+ }
41767
+ handleSizeClass(currentValue) {
41768
+ const elem = this.innerWrapper?.nativeElement;
41769
+ if (!isPresent$1(elem)) {
41770
+ return;
41771
+ }
41772
+ const prevSizeClass = `k-input-${SIZES[this._size]}`;
41773
+ const newSizeClass = `k-input-${SIZES[currentValue]}`;
41774
+ if (prevSizeClass) {
41775
+ this.renderer.removeClass(elem, prevSizeClass);
41776
+ }
41777
+ if (newSizeClass) {
41778
+ this.renderer.addClass(elem, newSizeClass);
41779
+ }
41780
+ }
41781
+ updateModeSettingsFromSharedInputs() {
41782
+ if (this._searchMode && typeof this._searchMode === 'object') {
41783
+ const currentSettings = { ...this._searchMode };
41784
+ const modeSpecificHistory = currentSettings.history;
41785
+ const modeSpecificPlaceholder = currentSettings.placeholder;
41786
+ delete currentSettings.history;
41787
+ delete currentSettings.placeholder;
41788
+ const settingsFromComponent = {
41789
+ placeholder: modeSpecificPlaceholder ?? this.placeholder,
41790
+ history: modeSpecificHistory ?? this.history
41791
+ };
41792
+ this._searchMode = { ...DEFAULT_SEARCH_SETTINGS, ...currentSettings, ...settingsFromComponent };
41793
+ }
41794
+ if (this._semanticSearchMode && typeof this._semanticSearchMode === 'object') {
41795
+ const currentSettings = { ...this._semanticSearchMode };
41796
+ const modeSpecificHistory = currentSettings.history;
41797
+ const modeSpecificPlaceholder = currentSettings.placeholder;
41798
+ delete currentSettings.history;
41799
+ delete currentSettings.placeholder;
41800
+ const settingsFromComponent = {
41801
+ placeholder: modeSpecificPlaceholder ?? this.placeholder,
41802
+ history: modeSpecificHistory ?? this.history
41803
+ };
41804
+ this._semanticSearchMode = { ...DEFAULT_SEMANTIC_SEARCH_SETTINGS, ...currentSettings, ...settingsFromComponent };
41805
+ }
41806
+ if (this._aiAssistantMode && typeof this._aiAssistantMode === 'object') {
41807
+ const currentSettings = { ...this._aiAssistantMode };
41808
+ const modeSpecificHistory = currentSettings.history;
41809
+ const modeSpecificPlaceholder = currentSettings.placeholder;
41810
+ delete currentSettings.history;
41811
+ delete currentSettings.placeholder;
41812
+ const settingsFromComponent = {
41813
+ placeholder: modeSpecificPlaceholder ?? this.placeholder,
41814
+ history: modeSpecificHistory ?? this.history
41815
+ };
41816
+ this._aiAssistantMode = { ...DEFAULT_AI_ASSISTANT_SETTINGS, ...currentSettings, ...settingsFromComponent };
41817
+ }
41818
+ }
41819
+ updateSearchListData() {
41820
+ if (!this.ctx?.localization) {
41821
+ return;
41822
+ }
41823
+ if (this.searchMode?.enabled && this.semanticSearchMode?.enabled) {
41824
+ this.searchListData = [
41825
+ { text: this.messageFor('searchModeListItemText'), description: this.messageFor('searchModeListItemDescription'), selected: this.selectedView === 'search' },
41826
+ { text: this.messageFor('semanticSearchModeListItemText'), description: this.messageFor('semanticSearchModeListItemDescription'), selected: this.selectedView === 'semanticSearch' }
41827
+ ];
41828
+ }
41829
+ else {
41830
+ this.searchListData = [];
41831
+ }
41832
+ }
41833
+ updateSelectedView() {
41834
+ if (this._activeMode) {
41835
+ const modeSettings = this[`${this._activeMode}Mode`];
41836
+ if (modeSettings?.enabled) {
41837
+ this.selectedView = this._activeMode;
41838
+ return;
41839
+ }
41840
+ }
41841
+ if (this.selectedView && this[`${this.selectedView}Mode`]?.enabled) {
41842
+ return;
41843
+ }
41844
+ if (this.searchMode?.enabled) {
41845
+ this.selectedView = 'search';
41846
+ }
41847
+ else if (this.semanticSearchMode?.enabled) {
41848
+ this.selectedView = 'semanticSearch';
41849
+ }
41850
+ else if (this.aiAssistantMode?.enabled) {
41851
+ this.selectedView = 'aiAssistant';
41852
+ }
41853
+ else {
41854
+ this.selectedView = null;
41855
+ }
41856
+ }
41857
+ updateHistoryData() {
41858
+ if (this.searchHistorySettings && this.searchHistory.length > this.searchHistorySettings.size) {
41859
+ this.searchHistory.splice(this.searchHistorySettings.size);
41860
+ }
41861
+ if (this.semanticSearchHistorySettings && this.semanticSearchHistory.length > this.semanticSearchHistorySettings.size) {
41862
+ this.semanticSearchHistory.splice(this.semanticSearchHistorySettings.size);
41863
+ }
41864
+ if (this.aiAssistantHistorySettings && this.aiAssistantHistory.length > this.aiAssistantHistorySettings.size) {
41865
+ this.aiAssistantHistory.splice(this.aiAssistantHistorySettings.size);
41866
+ }
41867
+ if (this.searchHistorySettings && this.searchHistorySettings.timestampFormat !== this.searchHistory[0]?.format) {
41868
+ this.searchHistory = this.searchHistory.map(item => ({ ...item, format: this.searchHistorySettings.timestampFormat }));
41869
+ }
41870
+ if (this.semanticSearchHistorySettings && this.semanticSearchHistorySettings.timestampFormat !== this.semanticSearchHistory[0]?.format) {
41871
+ this.semanticSearchHistory = this.semanticSearchHistory.map(item => ({ ...item, format: this.semanticSearchHistorySettings.timestampFormat }));
41872
+ }
41873
+ if (this.aiAssistantHistorySettings && this.aiAssistantHistorySettings.timestampFormat !== this.aiAssistantHistory[0]?.format) {
41874
+ this.aiAssistantHistory = this.aiAssistantHistory.map(item => ({ ...item, format: this.aiAssistantHistorySettings.timestampFormat }));
41875
+ }
41876
+ }
41877
+ processResponse(response) {
41878
+ const responseBody = response.body || { commands: [] };
41879
+ const responseSuccessEvent = new GridSmartBoxResponseSuccessEvent(response);
41880
+ this.aiAssistantResponseSuccess.emit(responseSuccessEvent);
41881
+ this.aiRequestResponseService.processCommands(responseBody.commands || [], this.columns, this.leafColumns);
41882
+ }
41883
+ handleError(error) {
41884
+ const responseErrorEvent = new GridSmartBoxResponseErrorEvent(error);
41885
+ this.aiAssistantResponseError.emit(responseErrorEvent);
41886
+ }
41887
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SmartBoxComponent, deps: [{ token: i2.PopupService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1$4.IntlService }, { token: ContextService }, { token: GridAIRequestResponseService }, { token: i1$8.HttpClient }, { token: i0.Renderer2 }, { token: ColumnInfoService }, { token: SearchService }], target: i0.ɵɵFactoryTarget.Component });
41888
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: SmartBoxComponent, isStandalone: true, selector: "kendo-smartbox", inputs: { searchMode: "searchMode", semanticSearchMode: "semanticSearchMode", aiAssistantMode: "aiAssistantMode", activeMode: "activeMode", history: "history", placeholder: "placeholder", size: "size", promptSuggestionTemplate: "promptSuggestionTemplate", historyItemTemplate: "historyItemTemplate", loading: "loading" }, outputs: { open: "open", close: "close", focus: "focus", blur: "blur", aiAssistantPromptRequest: "aiAssistantPromptRequest", aiAssistantResponseSuccess: "aiAssistantResponseSuccess", aiAssistantResponseError: "aiAssistantResponseError", aiAssistantCancelRequest: "aiAssistantCancelRequest", search: "search", semanticSearch: "semanticSearch" }, providers: [DataService, SelectionService$1, NavigationService$1, DisabledItemsService], viewQueries: [{ propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "innerWrapper", first: true, predicate: ["innerWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
41889
+ <span #innerWrapper
41890
+ class="k-smart-box k-input"
41891
+ [class.k-loading]="loading">
41892
+ @if (!inputDisabled) {
41893
+ <span class="k-input-prefix k-input-prefix-horizontal">
41894
+ <kendo-icon-wrapper
41895
+ class="k-icon"
41896
+ [name]="prefixIconName"
41897
+ [svgIcon]="prefixSVGIcon"
41898
+ [innerCssClass]="(selectedView === 'aiAssistant' || selectedView === 'semanticSearch') ? 'k-accent-icon' : ''"
41899
+ [kendoEventsOutsideAngular]="{
41900
+ click: onIconClick,
41901
+ mousedown: onIconMouseDown
41902
+ }">
41903
+ </kendo-icon-wrapper>
41904
+ </span>
41905
+ }
41906
+ <input #input
41907
+ type="text"
41908
+ class="k-input-inner"
41909
+ [class.k-disabled]="inputDisabled"
41910
+ [disabled]="inputDisabled"
41911
+ [id]="focusableId"
41912
+ [placeholder]="inputPlaceholder"
41913
+ [kendoEventsOutsideAngular]="{
41914
+ input: handleInput,
41915
+ focus: handleInputFocus,
41916
+ blur: handleInputBlur,
41917
+ click: handleInputClick,
41918
+ keydown: handleInputKeydown
41919
+ }"
41920
+ />
41921
+ @if (input.value.length > 0 && (selectedView === 'search' || selectedView === 'semanticSearch')) {
41922
+ <span
41923
+ class="k-clear-value"
41924
+ [attr.title]="messageFor('smartBoxToolClearTitle')"
41925
+ role="button"
41926
+ tabindex="-1"
41927
+ (click)="clearValue($event)"
41928
+ (mousedown)="$event.preventDefault()">
41929
+ <kendo-icon-wrapper
41930
+ class="k-icon"
41931
+ name="x"
41932
+ [svgIcon]="xIcon">
41933
+ </kendo-icon-wrapper>
41934
+ </span>
41935
+ }
41936
+ @if (selectedView === 'aiAssistant') {
41937
+ <span class="k-input-suffix k-input-suffix-horizontal">
41938
+ @if (speechToTextButton) {
41939
+ <button kendoSpeechToTextButton
41940
+ role="button"
41941
+ [continuous]="speechToTextButton?.continuous"
41942
+ [disabled]="speechToTextButton?.disabled"
41943
+ [fillMode]="speechToTextButton?.fillMode"
41944
+ [integrationMode]="speechToTextButton?.integrationMode"
41945
+ [interimResults]="speechToTextButton?.interimResults"
41946
+ [lang]="speechToTextButton?.lang"
41947
+ [maxAlternatives]="speechToTextButton?.maxAlternatives"
41948
+ [rounded]="speechToTextButton?.rounded"
41949
+ [size]="speechToTextButton?.size"
41950
+ [themeColor]="speechToTextButton?.themeColor"
41951
+ [attr.aria-label]="messageFor('smartBoxSpeechToTextButton')"
41952
+ [attr.title]="messageFor('smartBoxSpeechToTextButton')"
41953
+ [attr.aria-disabled]="speechToTextButton?.disabled"
41954
+ (error)="onSpeechToTextError($event)"
41955
+ (result)="onSpeechToTextResult($event)"
41956
+ ></button>
41957
+ }
41958
+ <button kendoButton
41959
+ class="k-smart-box-send"
41960
+ [class.k-processing]="loading"
41961
+ [class.k-active]="loading"
41962
+ type="button"
41963
+ rounded="full"
41964
+ size="small"
41965
+ [attr.title]="messageFor('smartBoxSubmitPromptButton')"
41966
+ [attr.aria-label]="messageFor('smartBoxSubmitPromptButton')"
41967
+ [attr.aria-disabled]="input.value.length === 0"
41968
+ [svgIcon]="loading ? stopSmIcon : arrowUpOutlineIcon"
41969
+ [icon]="loading ? 'stop-sm' : 'arrow-up-outline'"
41970
+ [disabled]="input.value.length === 0"
41971
+ (click)="onPromptSubmit()">
41972
+ </button>
41973
+ </span>
41974
+ }
41975
+ </span>
41976
+
41977
+ <ng-template #popupTemplate>
41978
+ @if (segmentedControlButtons.length > 0) {
41979
+ <kendo-segmented-control
41980
+ [buttons]="segmentedControlButtons"
41981
+ (buttonClick)="onModeChange($event)">
41982
+ </kendo-segmented-control>
41983
+ }
41984
+ <div class="k-list k-list-md">
41985
+ <div class="k-list-content">
41986
+ <ul class="k-list-ul">
41987
+ @if ((selectedView === 'search' || selectedView === 'semanticSearch') && searchListData.length > 0) {
41988
+ @for (item of searchListData; track item) {
41989
+ <li class="k-list-item"
41990
+ (click)="onSearchItemClick(item)">
41991
+ @if (item.selected) {
41992
+ <kendo-icon-wrapper
41993
+ innerCssClass="k-list-item-icon"
41994
+ name="check"
41995
+ [svgIcon]="checkIcon"
41996
+ class="k-list-item-icon-wrapper">
41997
+ </kendo-icon-wrapper>
41998
+ }
41999
+ @if (item.text) {
42000
+ <span class="k-list-item-text">{{item.text}}</span>
42001
+ }
42002
+ @if (item.description) {
42003
+ <span class="k-list-item-description">{{item.description}}</span>
42004
+ }
42005
+ </li>
42006
+ }
42007
+ } @else if (selectedView === 'aiAssistant' && aiAssistantMode.promptSuggestions.length > 0) {
42008
+ <li class="k-list-group-item">
42009
+ <kendo-icon-wrapper
42010
+ innerCssClass="k-list-item-icon"
42011
+ name="lightbulb-outline"
42012
+ [svgIcon]="lightbulbOutlineIcon"
42013
+ class="k-list-item-icon-wrapper">
42014
+ </kendo-icon-wrapper>
42015
+ <span class="k-list-item-text">{{messageFor('smartBoxSuggestedPrompts')}}</span>
42016
+ </li>
42017
+
42018
+ @for (suggestion of aiAssistantMode.promptSuggestions; track $index) {
42019
+ @if (promptSuggestionTemplate?.templateRef) {
42020
+ <ng-template
42021
+ [templateContext]="{ templateRef: promptSuggestionTemplate?.templateRef, $implicit: suggestion }"
42022
+ ></ng-template>
42023
+ } @else {
42024
+ <li class="k-list-item"
42025
+ (click)="onListItemClick(suggestion)"
42026
+ [attr.title]="suggestion">
42027
+ <span class="k-list-item-text">{{suggestion}}</span>
42028
+ </li>
42029
+ }
42030
+ }
42031
+ }
42032
+ </ul>
42033
+
42034
+ @if (selectedView === 'search') {
42035
+ @if (searchHistory.length === 0 && !semanticSearchMode?.enabled) {
42036
+ <span class="k-no-data k-smart-box-no-data">
42037
+ <kendo-icon-wrapper
42038
+ icon="file-report"
42039
+ [svgIcon]="fileClockOutlineIcon"
42040
+ size="xxxlarge">
42041
+ </kendo-icon-wrapper>
42042
+ <span>{{messageFor('smartBoxNoPreviousSearches')}}</span>
42043
+ </span>
42044
+ } @else if (searchHistory.length > 0) {
42045
+ <ul class="k-list-ul">
42046
+ <li class="k-list-group-item">
42047
+ <kendo-icon-wrapper
42048
+ innerCssClass="k-list-item-icon"
42049
+ name="clock-arrow-rotate"
42050
+ [svgIcon]="clockArrowRotateIcon"
42051
+ class="k-list-item-icon-wrapper">
42052
+ </kendo-icon-wrapper>
42053
+ <span class="k-list-item-text">{{messageFor('smartBoxPreviouslySearched')}}</span>
42054
+ </li>
42055
+
42056
+ @for (item of searchHistory; track $index) {
42057
+ @if (historyItemTemplate?.templateRef) {
42058
+ <ng-template
42059
+ [templateContext]="{ templateRef: historyItemTemplate?.templateRef, $implicit: item }"
42060
+ ></ng-template>
42061
+ } @else {
42062
+ <li class="k-list-item"
42063
+ (click)="onListItemClick(item.text)"
42064
+ [attr.title]="item.text">
42065
+ <span class="k-list-item-text">{{item.text}}</span>
42066
+ <span class="k-list-item-description">{{formatDate(item.timestamp, searchHistorySettings?.timestampFormat)}}</span>
42067
+ </li>
42068
+ }
42069
+ }
42070
+ </ul>
42071
+ }
42072
+ } @else if (selectedView === 'semanticSearch') {
42073
+ @if (semanticSearchHistory.length === 0 && !searchMode?.enabled) {
42074
+ <span class="k-no-data k-smart-box-no-data">
42075
+ <kendo-icon-wrapper
42076
+ icon="file-report"
42077
+ [svgIcon]="fileClockOutlineIcon"
42078
+ size="xxxlarge">
42079
+ </kendo-icon-wrapper>
42080
+ <span>{{messageFor('smartBoxNoPreviousSearches')}}</span>
42081
+ </span>
42082
+ } @else if (semanticSearchHistory.length > 0) {
42083
+ <ul class="k-list-ul">
42084
+ <li class="k-list-group-item">
42085
+ <kendo-icon-wrapper
42086
+ innerCssClass="k-list-item-icon"
42087
+ name="clock-arrow-rotate"
42088
+ [svgIcon]="clockArrowRotateIcon"
42089
+ class="k-list-item-icon-wrapper">
42090
+ </kendo-icon-wrapper>
42091
+ <span class="k-list-item-text">{{messageFor('smartBoxPreviouslySearched')}}</span>
42092
+ </li>
42093
+
42094
+ @for (item of semanticSearchHistory; track $index) {
42095
+ @if (historyItemTemplate?.templateRef) {
42096
+ <ng-template
42097
+ [templateContext]="{ templateRef: historyItemTemplate?.templateRef, $implicit: item }"
42098
+ ></ng-template>
42099
+ } @else {
42100
+ <li class="k-list-item"
42101
+ (click)="onListItemClick(item.text)"
42102
+ [attr.title]="item.text">
42103
+ <span class="k-list-item-text">{{item.text}}</span>
42104
+ <span class="k-list-item-description">{{formatDate(item.timestamp, semanticSearchHistorySettings?.timestampFormat)}}</span>
42105
+ </li>
42106
+ }
42107
+ }
42108
+ </ul>
42109
+ }
42110
+ } @else if (selectedView === 'aiAssistant') {
42111
+ @if (aiAssistantHistory.length === 0 && aiAssistantMode?.promptSuggestions.length === 0) {
42112
+ <span class="k-no-data k-smart-box-no-data">
42113
+ <kendo-icon-wrapper
42114
+ icon="file-report"
42115
+ [svgIcon]="fileClockOutlineIcon"
42116
+ size="xxxlarge">
42117
+ </kendo-icon-wrapper>
42118
+ <span>{{messageFor('smartBoxNoPreviousPrompts')}}</span>
42119
+ </span>
42120
+ } @else if (aiAssistantHistory.length > 0) {
42121
+ <ul class="k-list-ul">
42122
+ <li class="k-list-group-item">
42123
+ <kendo-icon-wrapper
42124
+ innerCssClass="k-list-item-icon"
42125
+ name="clock-arrow-rotate"
42126
+ [svgIcon]="clockArrowRotateIcon"
42127
+ class="k-list-item-icon-wrapper">
42128
+ </kendo-icon-wrapper>
42129
+ <span class="k-list-item-text">{{messageFor('smartBoxPreviouslyAsked')}}</span>
42130
+ </li>
42131
+
42132
+ @for (item of aiAssistantHistory; track $index) {
42133
+ @if (historyItemTemplate?.templateRef) {
42134
+ <ng-template
42135
+ [templateContext]="{ templateRef: historyItemTemplate?.templateRef, $implicit: item }"
42136
+ ></ng-template>
42137
+ } @else {
42138
+ <li class="k-list-item"
42139
+ (click)="onListItemClick(item.text)"
42140
+ [attr.title]="item.text">
42141
+ <span class="k-list-item-text">{{item.text}}</span>
42142
+ <span class="k-list-item-description">{{formatDate(item.timestamp, aiAssistantHistorySettings?.timestampFormat)}}</span>
42143
+ </li>
42144
+ }
42145
+ }
42146
+ </ul>
42147
+ }
42148
+ }
42149
+ </div>
42150
+ </div>
42151
+ </ng-template>
42152
+ `, isInline: true, dependencies: [{ kind: "component", type: SegmentedControlComponent, selector: "kendo-segmented-control", inputs: ["buttons", "size"], outputs: ["buttonClick"] }, { 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"] }, { kind: "component", type: i1$6.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"] }, { kind: "component", type: i1$6.SpeechToTextButtonComponent, selector: "button[kendoSpeechToTextButton]", inputs: ["disabled", "size", "rounded", "fillMode", "themeColor", "integrationMode", "lang", "continuous", "interimResults", "maxAlternatives"], outputs: ["start", "end", "result", "error", "click"], exportAs: ["kendoSpeechToTextButton"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
42153
+ }
42154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SmartBoxComponent, decorators: [{
42155
+ type: Component,
42156
+ args: [{
42157
+ selector: 'kendo-smartbox',
42158
+ standalone: true,
42159
+ imports: [SegmentedControlComponent, EventsOutsideAngularDirective, IconWrapperComponent, KENDO_BUTTONS, TemplateContextDirective],
42160
+ providers: [DataService, SelectionService$1, NavigationService$1, DisabledItemsService],
42161
+ template: `
42162
+ <span #innerWrapper
42163
+ class="k-smart-box k-input"
42164
+ [class.k-loading]="loading">
42165
+ @if (!inputDisabled) {
42166
+ <span class="k-input-prefix k-input-prefix-horizontal">
42167
+ <kendo-icon-wrapper
42168
+ class="k-icon"
42169
+ [name]="prefixIconName"
42170
+ [svgIcon]="prefixSVGIcon"
42171
+ [innerCssClass]="(selectedView === 'aiAssistant' || selectedView === 'semanticSearch') ? 'k-accent-icon' : ''"
42172
+ [kendoEventsOutsideAngular]="{
42173
+ click: onIconClick,
42174
+ mousedown: onIconMouseDown
42175
+ }">
42176
+ </kendo-icon-wrapper>
42177
+ </span>
42178
+ }
42179
+ <input #input
42180
+ type="text"
42181
+ class="k-input-inner"
42182
+ [class.k-disabled]="inputDisabled"
42183
+ [disabled]="inputDisabled"
42184
+ [id]="focusableId"
42185
+ [placeholder]="inputPlaceholder"
42186
+ [kendoEventsOutsideAngular]="{
42187
+ input: handleInput,
42188
+ focus: handleInputFocus,
42189
+ blur: handleInputBlur,
42190
+ click: handleInputClick,
42191
+ keydown: handleInputKeydown
42192
+ }"
42193
+ />
42194
+ @if (input.value.length > 0 && (selectedView === 'search' || selectedView === 'semanticSearch')) {
42195
+ <span
42196
+ class="k-clear-value"
42197
+ [attr.title]="messageFor('smartBoxToolClearTitle')"
42198
+ role="button"
42199
+ tabindex="-1"
42200
+ (click)="clearValue($event)"
42201
+ (mousedown)="$event.preventDefault()">
42202
+ <kendo-icon-wrapper
42203
+ class="k-icon"
42204
+ name="x"
42205
+ [svgIcon]="xIcon">
42206
+ </kendo-icon-wrapper>
42207
+ </span>
42208
+ }
42209
+ @if (selectedView === 'aiAssistant') {
42210
+ <span class="k-input-suffix k-input-suffix-horizontal">
42211
+ @if (speechToTextButton) {
42212
+ <button kendoSpeechToTextButton
42213
+ role="button"
42214
+ [continuous]="speechToTextButton?.continuous"
42215
+ [disabled]="speechToTextButton?.disabled"
42216
+ [fillMode]="speechToTextButton?.fillMode"
42217
+ [integrationMode]="speechToTextButton?.integrationMode"
42218
+ [interimResults]="speechToTextButton?.interimResults"
42219
+ [lang]="speechToTextButton?.lang"
42220
+ [maxAlternatives]="speechToTextButton?.maxAlternatives"
42221
+ [rounded]="speechToTextButton?.rounded"
42222
+ [size]="speechToTextButton?.size"
42223
+ [themeColor]="speechToTextButton?.themeColor"
42224
+ [attr.aria-label]="messageFor('smartBoxSpeechToTextButton')"
42225
+ [attr.title]="messageFor('smartBoxSpeechToTextButton')"
42226
+ [attr.aria-disabled]="speechToTextButton?.disabled"
42227
+ (error)="onSpeechToTextError($event)"
42228
+ (result)="onSpeechToTextResult($event)"
42229
+ ></button>
42230
+ }
42231
+ <button kendoButton
42232
+ class="k-smart-box-send"
42233
+ [class.k-processing]="loading"
42234
+ [class.k-active]="loading"
42235
+ type="button"
42236
+ rounded="full"
42237
+ size="small"
42238
+ [attr.title]="messageFor('smartBoxSubmitPromptButton')"
42239
+ [attr.aria-label]="messageFor('smartBoxSubmitPromptButton')"
42240
+ [attr.aria-disabled]="input.value.length === 0"
42241
+ [svgIcon]="loading ? stopSmIcon : arrowUpOutlineIcon"
42242
+ [icon]="loading ? 'stop-sm' : 'arrow-up-outline'"
42243
+ [disabled]="input.value.length === 0"
42244
+ (click)="onPromptSubmit()">
42245
+ </button>
42246
+ </span>
42247
+ }
42248
+ </span>
42249
+
42250
+ <ng-template #popupTemplate>
42251
+ @if (segmentedControlButtons.length > 0) {
42252
+ <kendo-segmented-control
42253
+ [buttons]="segmentedControlButtons"
42254
+ (buttonClick)="onModeChange($event)">
42255
+ </kendo-segmented-control>
42256
+ }
42257
+ <div class="k-list k-list-md">
42258
+ <div class="k-list-content">
42259
+ <ul class="k-list-ul">
42260
+ @if ((selectedView === 'search' || selectedView === 'semanticSearch') && searchListData.length > 0) {
42261
+ @for (item of searchListData; track item) {
42262
+ <li class="k-list-item"
42263
+ (click)="onSearchItemClick(item)">
42264
+ @if (item.selected) {
42265
+ <kendo-icon-wrapper
42266
+ innerCssClass="k-list-item-icon"
42267
+ name="check"
42268
+ [svgIcon]="checkIcon"
42269
+ class="k-list-item-icon-wrapper">
42270
+ </kendo-icon-wrapper>
42271
+ }
42272
+ @if (item.text) {
42273
+ <span class="k-list-item-text">{{item.text}}</span>
42274
+ }
42275
+ @if (item.description) {
42276
+ <span class="k-list-item-description">{{item.description}}</span>
42277
+ }
42278
+ </li>
42279
+ }
42280
+ } @else if (selectedView === 'aiAssistant' && aiAssistantMode.promptSuggestions.length > 0) {
42281
+ <li class="k-list-group-item">
42282
+ <kendo-icon-wrapper
42283
+ innerCssClass="k-list-item-icon"
42284
+ name="lightbulb-outline"
42285
+ [svgIcon]="lightbulbOutlineIcon"
42286
+ class="k-list-item-icon-wrapper">
42287
+ </kendo-icon-wrapper>
42288
+ <span class="k-list-item-text">{{messageFor('smartBoxSuggestedPrompts')}}</span>
42289
+ </li>
42290
+
42291
+ @for (suggestion of aiAssistantMode.promptSuggestions; track $index) {
42292
+ @if (promptSuggestionTemplate?.templateRef) {
42293
+ <ng-template
42294
+ [templateContext]="{ templateRef: promptSuggestionTemplate?.templateRef, $implicit: suggestion }"
42295
+ ></ng-template>
42296
+ } @else {
42297
+ <li class="k-list-item"
42298
+ (click)="onListItemClick(suggestion)"
42299
+ [attr.title]="suggestion">
42300
+ <span class="k-list-item-text">{{suggestion}}</span>
42301
+ </li>
42302
+ }
42303
+ }
42304
+ }
42305
+ </ul>
42306
+
42307
+ @if (selectedView === 'search') {
42308
+ @if (searchHistory.length === 0 && !semanticSearchMode?.enabled) {
42309
+ <span class="k-no-data k-smart-box-no-data">
42310
+ <kendo-icon-wrapper
42311
+ icon="file-report"
42312
+ [svgIcon]="fileClockOutlineIcon"
42313
+ size="xxxlarge">
42314
+ </kendo-icon-wrapper>
42315
+ <span>{{messageFor('smartBoxNoPreviousSearches')}}</span>
42316
+ </span>
42317
+ } @else if (searchHistory.length > 0) {
42318
+ <ul class="k-list-ul">
42319
+ <li class="k-list-group-item">
42320
+ <kendo-icon-wrapper
42321
+ innerCssClass="k-list-item-icon"
42322
+ name="clock-arrow-rotate"
42323
+ [svgIcon]="clockArrowRotateIcon"
42324
+ class="k-list-item-icon-wrapper">
42325
+ </kendo-icon-wrapper>
42326
+ <span class="k-list-item-text">{{messageFor('smartBoxPreviouslySearched')}}</span>
42327
+ </li>
42328
+
42329
+ @for (item of searchHistory; track $index) {
42330
+ @if (historyItemTemplate?.templateRef) {
42331
+ <ng-template
42332
+ [templateContext]="{ templateRef: historyItemTemplate?.templateRef, $implicit: item }"
42333
+ ></ng-template>
42334
+ } @else {
42335
+ <li class="k-list-item"
42336
+ (click)="onListItemClick(item.text)"
42337
+ [attr.title]="item.text">
42338
+ <span class="k-list-item-text">{{item.text}}</span>
42339
+ <span class="k-list-item-description">{{formatDate(item.timestamp, searchHistorySettings?.timestampFormat)}}</span>
42340
+ </li>
42341
+ }
42342
+ }
42343
+ </ul>
42344
+ }
42345
+ } @else if (selectedView === 'semanticSearch') {
42346
+ @if (semanticSearchHistory.length === 0 && !searchMode?.enabled) {
42347
+ <span class="k-no-data k-smart-box-no-data">
42348
+ <kendo-icon-wrapper
42349
+ icon="file-report"
42350
+ [svgIcon]="fileClockOutlineIcon"
42351
+ size="xxxlarge">
42352
+ </kendo-icon-wrapper>
42353
+ <span>{{messageFor('smartBoxNoPreviousSearches')}}</span>
42354
+ </span>
42355
+ } @else if (semanticSearchHistory.length > 0) {
42356
+ <ul class="k-list-ul">
42357
+ <li class="k-list-group-item">
42358
+ <kendo-icon-wrapper
42359
+ innerCssClass="k-list-item-icon"
42360
+ name="clock-arrow-rotate"
42361
+ [svgIcon]="clockArrowRotateIcon"
42362
+ class="k-list-item-icon-wrapper">
42363
+ </kendo-icon-wrapper>
42364
+ <span class="k-list-item-text">{{messageFor('smartBoxPreviouslySearched')}}</span>
42365
+ </li>
42366
+
42367
+ @for (item of semanticSearchHistory; track $index) {
42368
+ @if (historyItemTemplate?.templateRef) {
42369
+ <ng-template
42370
+ [templateContext]="{ templateRef: historyItemTemplate?.templateRef, $implicit: item }"
42371
+ ></ng-template>
42372
+ } @else {
42373
+ <li class="k-list-item"
42374
+ (click)="onListItemClick(item.text)"
42375
+ [attr.title]="item.text">
42376
+ <span class="k-list-item-text">{{item.text}}</span>
42377
+ <span class="k-list-item-description">{{formatDate(item.timestamp, semanticSearchHistorySettings?.timestampFormat)}}</span>
42378
+ </li>
42379
+ }
42380
+ }
42381
+ </ul>
42382
+ }
42383
+ } @else if (selectedView === 'aiAssistant') {
42384
+ @if (aiAssistantHistory.length === 0 && aiAssistantMode?.promptSuggestions.length === 0) {
42385
+ <span class="k-no-data k-smart-box-no-data">
42386
+ <kendo-icon-wrapper
42387
+ icon="file-report"
42388
+ [svgIcon]="fileClockOutlineIcon"
42389
+ size="xxxlarge">
42390
+ </kendo-icon-wrapper>
42391
+ <span>{{messageFor('smartBoxNoPreviousPrompts')}}</span>
42392
+ </span>
42393
+ } @else if (aiAssistantHistory.length > 0) {
42394
+ <ul class="k-list-ul">
42395
+ <li class="k-list-group-item">
42396
+ <kendo-icon-wrapper
42397
+ innerCssClass="k-list-item-icon"
42398
+ name="clock-arrow-rotate"
42399
+ [svgIcon]="clockArrowRotateIcon"
42400
+ class="k-list-item-icon-wrapper">
42401
+ </kendo-icon-wrapper>
42402
+ <span class="k-list-item-text">{{messageFor('smartBoxPreviouslyAsked')}}</span>
42403
+ </li>
42404
+
42405
+ @for (item of aiAssistantHistory; track $index) {
42406
+ @if (historyItemTemplate?.templateRef) {
42407
+ <ng-template
42408
+ [templateContext]="{ templateRef: historyItemTemplate?.templateRef, $implicit: item }"
42409
+ ></ng-template>
42410
+ } @else {
42411
+ <li class="k-list-item"
42412
+ (click)="onListItemClick(item.text)"
42413
+ [attr.title]="item.text">
42414
+ <span class="k-list-item-text">{{item.text}}</span>
42415
+ <span class="k-list-item-description">{{formatDate(item.timestamp, aiAssistantHistorySettings?.timestampFormat)}}</span>
42416
+ </li>
42417
+ }
42418
+ }
42419
+ </ul>
42420
+ }
42421
+ }
42422
+ </div>
42423
+ </div>
42424
+ </ng-template>
42425
+ `
42426
+ }]
42427
+ }], ctorParameters: () => [{ type: i2.PopupService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1$4.IntlService }, { type: ContextService }, { type: GridAIRequestResponseService }, { type: i1$8.HttpClient }, { type: i0.Renderer2 }, { type: ColumnInfoService }, { type: SearchService }], propDecorators: { popupTemplate: [{
42428
+ type: ViewChild,
42429
+ args: ['popupTemplate']
42430
+ }], input: [{
42431
+ type: ViewChild,
42432
+ args: ['input']
42433
+ }], innerWrapper: [{
42434
+ type: ViewChild,
42435
+ args: ['innerWrapper']
42436
+ }], searchMode: [{
42437
+ type: Input
42438
+ }], semanticSearchMode: [{
42439
+ type: Input
42440
+ }], aiAssistantMode: [{
42441
+ type: Input
42442
+ }], activeMode: [{
42443
+ type: Input
42444
+ }], history: [{
42445
+ type: Input
42446
+ }], placeholder: [{
42447
+ type: Input
42448
+ }], size: [{
42449
+ type: Input
42450
+ }], promptSuggestionTemplate: [{
42451
+ type: Input
42452
+ }], historyItemTemplate: [{
42453
+ type: Input
42454
+ }], loading: [{
42455
+ type: Input
42456
+ }], open: [{
42457
+ type: Output
42458
+ }], close: [{
42459
+ type: Output
42460
+ }], focus: [{
42461
+ type: Output
42462
+ }], blur: [{
42463
+ type: Output
42464
+ }], aiAssistantPromptRequest: [{
42465
+ type: Output
42466
+ }], aiAssistantResponseSuccess: [{
42467
+ type: Output
42468
+ }], aiAssistantResponseError: [{
42469
+ type: Output
42470
+ }], aiAssistantCancelRequest: [{
42471
+ type: Output
42472
+ }], search: [{
42473
+ type: Output
42474
+ }], semanticSearch: [{
42475
+ type: Output
42476
+ }] } });
42477
+
42478
+ /**
42479
+ * Represents the toolbar tool for showing a smart bar.
42480
+ * Use this component inside a ToolbarComponent in the Grid.
42481
+ *
42482
+ * @example
42483
+ * ```html
42484
+ * <kendo-grid>
42485
+ * <kendo-toolbar>
42486
+ * <kendo-grid-smartbox-tool></kendo-grid-smartbox-tool>
42487
+ * </kendo-toolbar>
42488
+ * </kendo-grid>
42489
+ * ```
42490
+ */
42491
+ class SmartBoxToolbarToolComponent extends ToolBarToolComponent {
42492
+ promptSuggestionTemplate;
42493
+ historyItemTemplate;
42494
+ searchMode = true;
42495
+ semanticSearchMode = false;
42496
+ aiAssistantMode = false;
42497
+ activeMode = 'search';
42498
+ history;
42499
+ placeholder;
42500
+ size;
42501
+ open = new EventEmitter();
42502
+ close = new EventEmitter();
42503
+ inputFocus = new EventEmitter();
42504
+ inputBlur = new EventEmitter();
42505
+ aiAssistantPromptRequest = new EventEmitter();
42506
+ aiAssistantResponseSuccess = new EventEmitter();
42507
+ aiAssistantResponseError = new EventEmitter();
42508
+ aiAssistantCancelRequest = new EventEmitter();
42509
+ search = new EventEmitter();
42510
+ semanticSearch = new EventEmitter();
42511
+ loading = false;
42512
+ constructor() { super(); }
42513
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SmartBoxToolbarToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42514
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: SmartBoxToolbarToolComponent, isStandalone: true, selector: "kendo-grid-smartbox-tool", inputs: { searchMode: "searchMode", semanticSearchMode: "semanticSearchMode", aiAssistantMode: "aiAssistantMode", activeMode: "activeMode", history: "history", placeholder: "placeholder", size: "size" }, outputs: { open: "open", close: "close", inputFocus: "inputFocus", inputBlur: "inputBlur", aiAssistantPromptRequest: "aiAssistantPromptRequest", aiAssistantResponseSuccess: "aiAssistantResponseSuccess", aiAssistantResponseError: "aiAssistantResponseError", aiAssistantCancelRequest: "aiAssistantCancelRequest", search: "search", semanticSearch: "semanticSearch" }, providers: [
42515
+ {
42516
+ provide: ToolBarToolComponent,
42517
+ useExisting: forwardRef(() => SmartBoxToolbarToolComponent)
42518
+ }
42519
+ ], queries: [{ propertyName: "promptSuggestionTemplate", first: true, predicate: GridSmartBoxPromptSuggestionTemplateDirective, descendants: true }, { propertyName: "historyItemTemplate", first: true, predicate: GridSmartBoxHistoryItemTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: `
42520
+ <ng-template #toolbarTemplate #sectionTemplate #popupTemplate>
42521
+ <kendo-smartbox
42522
+ [searchMode]="searchMode"
42523
+ [semanticSearchMode]="semanticSearchMode"
42524
+ [aiAssistantMode]="aiAssistantMode"
42525
+ [activeMode]="activeMode"
42526
+ [history]="history"
42527
+ [placeholder]="placeholder"
42528
+ [size]="size"
42529
+ (open)="open.emit($event)"
42530
+ (close)="close.emit($event)"
42531
+ (focus)="inputFocus.emit($event)"
42532
+ (blur)="inputBlur.emit($event)"
42533
+ (search)="search.emit($event)"
42534
+ (semanticSearch)="semanticSearch.emit($event)"
42535
+ (aiAssistantPromptRequest)="aiAssistantPromptRequest.emit($event)"
42536
+ (aiAssistantResponseSuccess)="aiAssistantResponseSuccess.emit($event)"
42537
+ (aiAssistantResponseError)="aiAssistantResponseError.emit($event)"
42538
+ (aiAssistantCancelRequest)="aiAssistantCancelRequest.emit()"
42539
+ [promptSuggestionTemplate]="promptSuggestionTemplate"
42540
+ [historyItemTemplate]="historyItemTemplate"
42541
+ [loading]="loading"
42542
+ >
42543
+ </kendo-smartbox>
42544
+ </ng-template>
42545
+ `, isInline: true, dependencies: [{ kind: "component", type: SmartBoxComponent, selector: "kendo-smartbox", inputs: ["searchMode", "semanticSearchMode", "aiAssistantMode", "activeMode", "history", "placeholder", "size", "promptSuggestionTemplate", "historyItemTemplate", "loading"], outputs: ["open", "close", "focus", "blur", "aiAssistantPromptRequest", "aiAssistantResponseSuccess", "aiAssistantResponseError", "aiAssistantCancelRequest", "search", "semanticSearch"] }] });
42546
+ }
42547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SmartBoxToolbarToolComponent, decorators: [{
42548
+ type: Component,
42549
+ args: [{
42550
+ providers: [
42551
+ {
42552
+ provide: ToolBarToolComponent,
42553
+ useExisting: forwardRef(() => SmartBoxToolbarToolComponent)
42554
+ }
42555
+ ],
42556
+ selector: 'kendo-grid-smartbox-tool',
42557
+ template: `
42558
+ <ng-template #toolbarTemplate #sectionTemplate #popupTemplate>
42559
+ <kendo-smartbox
42560
+ [searchMode]="searchMode"
42561
+ [semanticSearchMode]="semanticSearchMode"
42562
+ [aiAssistantMode]="aiAssistantMode"
42563
+ [activeMode]="activeMode"
42564
+ [history]="history"
42565
+ [placeholder]="placeholder"
42566
+ [size]="size"
42567
+ (open)="open.emit($event)"
42568
+ (close)="close.emit($event)"
42569
+ (focus)="inputFocus.emit($event)"
42570
+ (blur)="inputBlur.emit($event)"
42571
+ (search)="search.emit($event)"
42572
+ (semanticSearch)="semanticSearch.emit($event)"
42573
+ (aiAssistantPromptRequest)="aiAssistantPromptRequest.emit($event)"
42574
+ (aiAssistantResponseSuccess)="aiAssistantResponseSuccess.emit($event)"
42575
+ (aiAssistantResponseError)="aiAssistantResponseError.emit($event)"
42576
+ (aiAssistantCancelRequest)="aiAssistantCancelRequest.emit()"
42577
+ [promptSuggestionTemplate]="promptSuggestionTemplate"
42578
+ [historyItemTemplate]="historyItemTemplate"
42579
+ [loading]="loading"
42580
+ >
42581
+ </kendo-smartbox>
42582
+ </ng-template>
42583
+ `,
42584
+ standalone: true,
42585
+ imports: [SmartBoxComponent]
42586
+ }]
42587
+ }], ctorParameters: () => [], propDecorators: { promptSuggestionTemplate: [{
42588
+ type: ContentChild,
42589
+ args: [GridSmartBoxPromptSuggestionTemplateDirective]
42590
+ }], historyItemTemplate: [{
42591
+ type: ContentChild,
42592
+ args: [GridSmartBoxHistoryItemTemplateDirective]
42593
+ }], searchMode: [{
42594
+ type: Input
42595
+ }], semanticSearchMode: [{
42596
+ type: Input
42597
+ }], aiAssistantMode: [{
42598
+ type: Input
42599
+ }], activeMode: [{
42600
+ type: Input
42601
+ }], history: [{
42602
+ type: Input
42603
+ }], placeholder: [{
42604
+ type: Input
42605
+ }], size: [{
42606
+ type: Input
42607
+ }], open: [{
42608
+ type: Output
42609
+ }], close: [{
42610
+ type: Output
42611
+ }], inputFocus: [{
42612
+ type: Output
42613
+ }], inputBlur: [{
42614
+ type: Output
42615
+ }], aiAssistantPromptRequest: [{
42616
+ type: Output
42617
+ }], aiAssistantResponseSuccess: [{
42618
+ type: Output
42619
+ }], aiAssistantResponseError: [{
42620
+ type: Output
42621
+ }], aiAssistantCancelRequest: [{
42622
+ type: Output
42623
+ }], search: [{
42624
+ type: Output
42625
+ }], semanticSearch: [{
42626
+ type: Output
42627
+ }] } });
42628
+
40467
42629
  // DRAGGABLE COLUMN
40468
42630
  /**
40469
42631
  * @hidden
@@ -40694,7 +42856,10 @@ const KENDO_GRID_BODY_EXPORTS = [
40694
42856
  FilterCommandToolbarDirective,
40695
42857
  AIAssistantToolbarDirective,
40696
42858
  GroupCommandToolbarDirective,
40697
- SelectAllToolbarToolComponent
42859
+ SelectAllToolbarToolComponent,
42860
+ SmartBoxToolbarToolComponent,
42861
+ GridSmartBoxHistoryItemTemplateDirective,
42862
+ GridSmartBoxPromptSuggestionTemplateDirective
40698
42863
  ];
40699
42864
  /**
40700
42865
  * @hidden
@@ -40845,9 +43010,9 @@ const KENDO_GRID = [
40845
43010
  */
40846
43011
  class GridModule {
40847
43012
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
40848
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", 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, SelectAllToolbarToolComponent, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FooterComponent, i53.CustomMessagesComponent, i53.PagerFocusableDirective, i53.PagerInfoComponent, i53.PagerInputComponent, i53.PagerNextButtonsComponent, i53.PagerNumericButtonsComponent, i53.PagerPageSizesComponent, i53.PagerPrevButtonsComponent, i53.PagerTemplateDirective, i53.PagerComponent, i53.PagerSpacerComponent, i54.ToolBarComponent, i54.ToolbarCustomMessagesComponent, i54.ToolBarButtonComponent, i54.ToolBarButtonGroupComponent, i54.ToolBarDropDownButtonComponent, i54.ToolBarSeparatorComponent, i54.ToolBarSpacerComponent, i54.ToolBarSplitButtonComponent, i54.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, 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, GridMarqueeDirective, GridSpacerComponent, GridToolbarFocusableDirective, StatusBarComponent, StatusBarTemplateDirective, GridClipboardDirective, FormComponent, DialogFormComponent, FormFormFieldComponent, UndoRedoDirective, i54.ToolBarComponent, i54.ToolbarCustomMessagesComponent, i54.ToolBarButtonComponent, i54.ToolBarButtonGroupComponent, i54.ToolBarDropDownButtonComponent, i54.ToolBarSeparatorComponent, i54.ToolBarSpacerComponent, i54.ToolBarSplitButtonComponent, i54.ToolBarToolComponent, TableDirective,
43013
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", 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, SelectAllToolbarToolComponent, SmartBoxToolbarToolComponent, GridSmartBoxHistoryItemTemplateDirective, GridSmartBoxPromptSuggestionTemplateDirective, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FooterComponent, i56.CustomMessagesComponent, i56.PagerFocusableDirective, i56.PagerInfoComponent, i56.PagerInputComponent, i56.PagerNextButtonsComponent, i56.PagerNumericButtonsComponent, i56.PagerPageSizesComponent, i56.PagerPrevButtonsComponent, i56.PagerTemplateDirective, i56.PagerComponent, i56.PagerSpacerComponent, i57.ToolBarComponent, i57.ToolbarCustomMessagesComponent, i57.ToolBarButtonComponent, i57.ToolBarButtonGroupComponent, i57.ToolBarDropDownButtonComponent, i57.ToolBarSeparatorComponent, i57.ToolBarSpacerComponent, i57.ToolBarSplitButtonComponent, i57.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, 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, GridMarqueeDirective, GridSpacerComponent, GridToolbarFocusableDirective, StatusBarComponent, StatusBarTemplateDirective, GridClipboardDirective, FormComponent, DialogFormComponent, FormFormFieldComponent, UndoRedoDirective, i57.ToolBarComponent, i57.ToolbarCustomMessagesComponent, i57.ToolBarButtonComponent, i57.ToolBarButtonGroupComponent, i57.ToolBarDropDownButtonComponent, i57.ToolBarSeparatorComponent, i57.ToolBarSpacerComponent, i57.ToolBarSplitButtonComponent, i57.ToolBarToolComponent, TableDirective,
40849
43014
  UndoCommandToolbarDirective,
40850
- RedoCommandToolbarDirective], exports: [GridComponent, ToolbarTemplateDirective, ToolbarComponent, GridSpacerComponent, StatusBarTemplateDirective, DataBindingDirective, SelectionDirective, HighlightDirective, CustomMessagesComponent, 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, SelectAllToolbarToolComponent, 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, i54.ToolBarComponent, i54.ToolbarCustomMessagesComponent, i54.ToolBarButtonComponent, i54.ToolBarButtonGroupComponent, i54.ToolBarDropDownButtonComponent, i54.ToolBarSeparatorComponent, i54.ToolBarSpacerComponent, i54.ToolBarSplitButtonComponent, i54.ToolBarToolComponent, i53.CustomMessagesComponent, i53.PagerFocusableDirective, i53.PagerInfoComponent, i53.PagerInputComponent, i53.PagerNextButtonsComponent, i53.PagerNumericButtonsComponent, i53.PagerPageSizesComponent, i53.PagerPrevButtonsComponent, i53.PagerTemplateDirective, i53.PagerComponent, i53.PagerSpacerComponent] });
43015
+ RedoCommandToolbarDirective], exports: [GridComponent, ToolbarTemplateDirective, ToolbarComponent, GridSpacerComponent, StatusBarTemplateDirective, DataBindingDirective, SelectionDirective, HighlightDirective, CustomMessagesComponent, 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, SelectAllToolbarToolComponent, SmartBoxToolbarToolComponent, GridSmartBoxHistoryItemTemplateDirective, GridSmartBoxPromptSuggestionTemplateDirective, 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, i57.ToolBarComponent, i57.ToolbarCustomMessagesComponent, i57.ToolBarButtonComponent, i57.ToolBarButtonGroupComponent, i57.ToolBarDropDownButtonComponent, i57.ToolBarSeparatorComponent, i57.ToolBarSpacerComponent, i57.ToolBarSplitButtonComponent, i57.ToolBarToolComponent, i56.CustomMessagesComponent, i56.PagerFocusableDirective, i56.PagerInfoComponent, i56.PagerInputComponent, i56.PagerNextButtonsComponent, i56.PagerNumericButtonsComponent, i56.PagerPageSizesComponent, i56.PagerPrevButtonsComponent, i56.PagerTemplateDirective, i56.PagerComponent, i56.PagerSpacerComponent] });
40851
43016
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridModule, providers: [
40852
43017
  PopupService,
40853
43018
  ResizeBatchService,
@@ -40861,8 +43026,8 @@ class GridModule {
40861
43026
  DecadeViewService,
40862
43027
  MonthViewService,
40863
43028
  YearViewService,
40864
- NavigationService$1
40865
- ], imports: [GroupHeaderComponent, GroupPanelComponent, TableBodyComponent, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, SelectAllToolbarToolComponent, HeaderComponent, i53.CustomMessagesComponent, i53.PagerInfoComponent, i53.PagerInputComponent, i53.PagerNextButtonsComponent, i53.PagerNumericButtonsComponent, i53.PagerPageSizesComponent, i53.PagerPrevButtonsComponent, i53.PagerComponent, i53.PagerSpacerComponent, i54.ToolBarComponent, i54.ToolbarCustomMessagesComponent, i54.ToolBarButtonComponent, i54.ToolBarButtonGroupComponent, i54.ToolBarDropDownButtonComponent, i54.ToolBarSeparatorComponent, i54.ToolBarSpacerComponent, i54.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, i54.ToolBarComponent, i54.ToolbarCustomMessagesComponent, i54.ToolBarButtonComponent, i54.ToolBarButtonGroupComponent, i54.ToolBarDropDownButtonComponent, i54.ToolBarSeparatorComponent, i54.ToolBarSpacerComponent, i54.ToolBarSplitButtonComponent] });
43029
+ NavigationService$2
43030
+ ], imports: [GroupHeaderComponent, GroupPanelComponent, TableBodyComponent, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, SelectAllToolbarToolComponent, SmartBoxToolbarToolComponent, HeaderComponent, i56.CustomMessagesComponent, i56.PagerInfoComponent, i56.PagerInputComponent, i56.PagerNextButtonsComponent, i56.PagerNumericButtonsComponent, i56.PagerPageSizesComponent, i56.PagerPrevButtonsComponent, i56.PagerComponent, i56.PagerSpacerComponent, i57.ToolBarComponent, i57.ToolbarCustomMessagesComponent, i57.ToolBarButtonComponent, i57.ToolBarButtonGroupComponent, i57.ToolBarDropDownButtonComponent, i57.ToolBarSeparatorComponent, i57.ToolBarSpacerComponent, i57.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, i57.ToolBarComponent, i57.ToolbarCustomMessagesComponent, i57.ToolBarButtonComponent, i57.ToolBarButtonGroupComponent, i57.ToolBarDropDownButtonComponent, i57.ToolBarSeparatorComponent, i57.ToolBarSpacerComponent, i57.ToolBarSplitButtonComponent] });
40866
43031
  }
40867
43032
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GridModule, decorators: [{
40868
43033
  type: NgModule,
@@ -40898,7 +43063,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
40898
43063
  DecadeViewService,
40899
43064
  MonthViewService,
40900
43065
  YearViewService,
40901
- NavigationService$1
43066
+ NavigationService$2
40902
43067
  ]
40903
43068
  }]
40904
43069
  }] });
@@ -41007,5 +43172,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
41007
43172
  * Generated bundle index. Do not edit.
41008
43173
  */
41009
43174
 
41010
- export { AIAssistantToolbarDirective, AdaptiveGridService, AddCommandDirective, AddCommandToolbarDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CSVCommandDirective, CSVCommandToolbarDirective, CSVComponent, CSVExportEvent, CSVModule, CSVService, 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, FilterOperatorBase, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridAIAssistantResponseErrorEvent, GridAIAssistantResponseSuccessEvent, GridClipboardDirective, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, 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_CSV_EXPORT, 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, MultiCheckboxFilterComponent, 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, SelectAllToolbarToolComponent, SelectionCheckboxDirective, SelectionDirective, SelectionService, SinglePopupService, SizingOptionsService, Skip, SortCommandToolbarDirective, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, UndoCommandToolbarDirective, UndoRedoDirective, UndoRedoEvent, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable };
43175
+ export { AIAssistantToolbarDirective, AdaptiveGridService, AddCommandDirective, AddCommandToolbarDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CSVCommandDirective, CSVCommandToolbarDirective, CSVComponent, CSVExportEvent, CSVModule, CSVService, 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, FilterOperatorBase, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridAIAssistantResponseErrorEvent, GridAIAssistantResponseSuccessEvent, GridClipboardDirective, GridComponent, GridModule, GridSmartBoxHistoryItemTemplateDirective, GridSmartBoxPromptSuggestionTemplateDirective, GridSmartBoxResponseErrorEvent, GridSmartBoxResponseSuccessEvent, GridSmartBoxSearchEvent, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, 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_CSV_EXPORT, 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, MultiCheckboxFilterComponent, 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, SelectAllToolbarToolComponent, SelectionCheckboxDirective, SelectionDirective, SelectionService, SinglePopupService, SizingOptionsService, Skip, SmartBoxToolbarToolComponent, SortCommandToolbarDirective, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, UndoCommandToolbarDirective, UndoRedoDirective, UndoRedoEvent, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable };
41011
43176