@progress/kendo-angular-grid 18.5.0-develop.2 → 18.5.0-develop.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/column-menu/column-menu-item.component.d.ts +3 -4
  2. package/columns/column.component.d.ts +3 -2
  3. package/common/field-datatype.d.ts +9 -0
  4. package/directives.d.ts +5 -3
  5. package/editing/form/dialog-form.component.d.ts +27 -0
  6. package/editing/form/form-formfield.component.d.ts +24 -0
  7. package/editing/form/form.component.d.ts +28 -0
  8. package/editing/form/index.d.ts +8 -0
  9. package/editing/form/models.d.ts +196 -0
  10. package/editing-directives/editing-directive-base.d.ts +10 -3
  11. package/editing-directives/external-editing.directive.d.ts +46 -0
  12. package/esm2022/column-menu/column-menu-item.component.mjs +3 -4
  13. package/esm2022/common/field-datatype.mjs +5 -0
  14. package/esm2022/directives.mjs +8 -1
  15. package/esm2022/editing/edit.service.mjs +1 -1
  16. package/esm2022/editing/form/dialog-form.component.mjs +102 -0
  17. package/esm2022/editing/form/form-formfield.component.mjs +161 -0
  18. package/esm2022/editing/form/form.component.mjs +153 -0
  19. package/esm2022/editing/form/index.mjs +8 -0
  20. package/esm2022/editing/form/models.mjs +5 -0
  21. package/esm2022/editing-directives/editing-directive-base.mjs +33 -5
  22. package/esm2022/editing-directives/external-editing.directive.mjs +130 -0
  23. package/esm2022/grid.component.mjs +55 -8
  24. package/esm2022/grid.module.mjs +15 -11
  25. package/esm2022/index.mjs +1 -0
  26. package/esm2022/localization/messages.mjs +62 -1
  27. package/esm2022/package-metadata.mjs +2 -2
  28. package/esm2022/utils.mjs +1 -1
  29. package/fesm2022/progress-kendo-angular-grid.mjs +669 -39
  30. package/grid.component.d.ts +0 -6
  31. package/grid.module.d.ts +15 -11
  32. package/index.d.ts +3 -0
  33. package/localization/messages.d.ts +46 -1
  34. package/package.json +19 -19
  35. package/schematics/ngAdd/index.js +4 -4
@@ -3,44 +3,49 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { EventEmitter, Injectable, SecurityContext, InjectionToken, Optional, Inject, Directive, SkipSelf, Input, isDevMode, QueryList, Component, ContentChildren, ContentChild, forwardRef, Host, Output, HostBinding, Pipe, TemplateRef, ChangeDetectionStrategy, ViewChildren, ViewChild, Self, NgZone, HostListener, ViewEncapsulation, NgModule } from '@angular/core';
6
+ import { EventEmitter, Injectable, SecurityContext, InjectionToken, Optional, Inject, Directive, SkipSelf, Input, isDevMode, QueryList, Component, ContentChildren, ContentChild, forwardRef, Host, Output, HostBinding, Pipe, TemplateRef, ChangeDetectionStrategy, ViewChildren, ViewChild, Self, NgZone, HostListener, ViewEncapsulation, inject, NgModule } from '@angular/core';
7
7
  import { merge, of, Subject, zip as zip$1, from, Subscription, interval, fromEvent, Observable, BehaviorSubject } from 'rxjs';
8
8
  import * as i1$3 from '@progress/kendo-angular-common';
9
9
  import { isDocumentAvailable, Keys, isPresent as isPresent$1, anyChanged, TemplateContextDirective, DraggableDirective, EventsOutsideAngularDirective, isChanged as isChanged$1, KendoInput, guid, hasObservers, ResizeSensorComponent, closest as closest$1, isFocusable as isFocusable$1, shouldShowValidationUI, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
10
10
  import * as i1 from '@angular/platform-browser';
11
11
  import * as i1$1 from '@progress/kendo-angular-icons';
12
12
  import { IconWrapperComponent, IconsService, KENDO_ICONS } from '@progress/kendo-angular-icons';
13
- import { plusIcon, cancelIcon, lockIcon, unlockIcon, caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, arrowLeftIcon, arrowRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterClearIcon, filterIcon, columnsIcon, chevronUpIcon, chevronDownIcon, displayInlineFlexIcon, maxWidthIcon, stickIcon, unstickIcon, setColumnPositionIcon, slidersIcon, moreVerticalIcon, reorderIcon, minusIcon, insertMiddleIcon, filePdfIcon, fileExcelIcon } from '@progress/kendo-svg-icons';
13
+ import { plusIcon, cancelIcon, lockIcon, unlockIcon, caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, arrowLeftIcon, arrowRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterClearIcon, filterIcon, columnsIcon, chevronUpIcon, chevronDownIcon, displayInlineFlexIcon, maxWidthIcon, stickIcon, unstickIcon, setColumnPositionIcon, slidersIcon, moreVerticalIcon, reorderIcon, minusIcon, insertMiddleIcon, checkIcon, xIcon, saveIcon, filePdfIcon, fileExcelIcon } from '@progress/kendo-svg-icons';
14
14
  import { switchMap, take, map, filter, takeUntil, switchMapTo, delay, tap, throttleTime, debounceTime, distinctUntilChanged, skip, auditTime, bufferCount } 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
17
  import * as i44 from '@progress/kendo-angular-pager';
18
18
  import { PagerContextService, PagerNavigationService, PagerTemplateDirective, KENDO_PAGER } from '@progress/kendo-angular-pager';
19
19
  import { orderBy, isCompositeFilterDescriptor, groupBy, process, filterBy } from '@progress/kendo-data-query';
20
- import { NgFor, NgIf, NgTemplateOutlet, NgSwitch, NgSwitchCase, NgClass, NgStyle, NgSwitchDefault } from '@angular/common';
20
+ import { NgFor, NgIf, NgTemplateOutlet, NgSwitch, NgSwitchCase, NgClass, NgStyle, NgSwitchDefault, KeyValuePipe } from '@angular/common';
21
21
  import { getter } from '@progress/kendo-common';
22
22
  import * as i1$4 from '@progress/kendo-angular-intl';
23
23
  import * as i5 from '@progress/kendo-angular-popup';
24
24
  import { PopupService } from '@progress/kendo-angular-popup';
25
- import { ChipListComponent, ChipComponent, ButtonComponent, Button } from '@progress/kendo-angular-buttons';
25
+ import * as i2 from '@progress/kendo-angular-buttons';
26
+ import { ChipListComponent, ChipComponent, ButtonComponent, Button, KENDO_BUTTON } from '@progress/kendo-angular-buttons';
26
27
  import * as i1$5 from '@progress/kendo-angular-dropdowns';
27
28
  import { DropDownListComponent, AutoCompleteComponent } from '@progress/kendo-angular-dropdowns';
28
29
  import * as i4 from '@angular/forms';
29
30
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule, FormControl, FormGroup } from '@angular/forms';
30
- import * as i3 from '@progress/kendo-angular-inputs';
31
- import { TextBoxComponent, NumericTextBoxComponent, NumericTextBoxCustomMessagesComponent, RadioButtonComponent, CheckBoxComponent } from '@progress/kendo-angular-inputs';
32
- import { DatePickerComponent, DatePickerCustomMessagesComponent, CalendarDOMService, CenturyViewService, DecadeViewService, MonthViewService, YearViewService, NavigationService as NavigationService$1 } from '@progress/kendo-angular-dateinputs';
31
+ import * as i4$1 from '@progress/kendo-angular-inputs';
32
+ import { TextBoxComponent, NumericTextBoxComponent, NumericTextBoxCustomMessagesComponent, RadioButtonComponent, CheckBoxComponent, KENDO_FORMFIELD, KENDO_TEXTBOX, KENDO_NUMERICTEXTBOX, KENDO_CHECKBOX } from '@progress/kendo-angular-inputs';
33
+ import * as i5$1 from '@progress/kendo-angular-dateinputs';
34
+ import { DatePickerComponent, DatePickerCustomMessagesComponent, KENDO_DATEPICKER, CalendarDOMService, CenturyViewService, DecadeViewService, MonthViewService, YearViewService, NavigationService as NavigationService$1 } from '@progress/kendo-angular-dateinputs';
33
35
  import { trigger, state, style, transition, animate } from '@angular/animations';
34
36
  import { TabStripComponent, TabStripTabComponent, TabTitleDirective, TabContentDirective } from '@progress/kendo-angular-layout';
35
37
  import { saveAs } from '@progress/kendo-file-saver';
36
- import * as i5$1 from '@progress/kendo-angular-excel-export';
38
+ import * as i5$2 from '@progress/kendo-angular-excel-export';
37
39
  import { workbookOptions, toDataURL, ColumnBase as ColumnBase$1, ColumnComponent as ColumnComponent$1, ColumnGroupComponent as ColumnGroupComponent$1, FooterTemplateDirective as FooterTemplateDirective$1, GroupFooterTemplateDirective as GroupFooterTemplateDirective$1, GroupHeaderColumnTemplateDirective as GroupHeaderColumnTemplateDirective$1, GroupHeaderTemplateDirective as GroupHeaderTemplateDirective$1 } from '@progress/kendo-angular-excel-export';
38
40
  import { PDFExportMarginComponent, PDFExportTemplateDirective, PDFExportComponent } from '@progress/kendo-angular-pdf-export';
39
41
  import { validatePackage } from '@progress/kendo-licensing';
40
42
  import { DragTargetContainerDirective, DropTargetContainerDirective } from '@progress/kendo-angular-utils';
43
+ import * as i1$6 from '@progress/kendo-angular-dialog';
44
+ import { DialogContainerDirective, DialogService, DialogContentBase, DialogActionsComponent, DialogContainerService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
45
+ import * as i3 from '@progress/kendo-angular-label';
46
+ import { KENDO_LABELS } from '@progress/kendo-angular-label';
41
47
  import * as i45 from '@progress/kendo-angular-toolbar';
42
48
  import { KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';
43
- import { DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
44
49
 
45
50
  /* eslint-disable no-bitwise */
46
51
  /**
@@ -444,7 +449,7 @@ const nodesToArray = (nodes) => [].slice.call(nodes);
444
449
  /**
445
450
  * @hidden
446
451
  */
447
- const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
452
+ const replaceMessagePlaceholder = (message, name, value) => (message ?? '').replace(new RegExp(`{\\s*${name}\\s*}`, 'g'), value);
448
453
  /**
449
454
  * @hidden
450
455
  */
@@ -1639,7 +1644,7 @@ class EditService {
1639
1644
  this.changes.emit({ action: 'edit', rowIndex });
1640
1645
  }
1641
1646
  beginAdd() {
1642
- this.changes.emit({ action: 'add' });
1647
+ this.changes.emit({ action: 'add', isNew: true });
1643
1648
  }
1644
1649
  endEdit(rowIndex) {
1645
1650
  const { group: formGroup } = this.context(rowIndex);
@@ -11737,13 +11742,12 @@ class ColumnMenuItemComponent {
11737
11742
  */
11738
11743
  collapse = new EventEmitter();
11739
11744
  /**
11740
- * Specifies the name of the [font icon](slug:icons#icons-list)
11741
- * that will be rendered for the item.
11745
+ * Specifies the name of the [font icon](slug:icon_list)
11746
+ * that will be rendered within the item.
11742
11747
  */
11743
11748
  icon;
11744
11749
  /**
11745
- * Specifies the name of the [SVG icon]({% slug svgicon_list %})
11746
- * that will be rendered for the item.
11750
+ * Defines the [SVG icon](slug:svgicon_list) to be rendered within the item.
11747
11751
  */
11748
11752
  svgIcon;
11749
11753
  /**
@@ -16255,7 +16259,7 @@ class SelectAllCheckboxDirective {
16255
16259
  return undefined;
16256
16260
  }
16257
16261
  }
16258
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectAllCheckboxDirective, deps: [{ token: SelectionService }, { token: CellSelectionService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i3.CheckBoxComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
16262
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectAllCheckboxDirective, deps: [{ token: SelectionService }, { token: CellSelectionService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i4$1.CheckBoxComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
16259
16263
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SelectAllCheckboxDirective, isStandalone: true, selector: "[kendoGridSelectAllCheckbox]", inputs: { state: "state" }, outputs: { selectAllChange: "selectAllChange" }, usesOnChanges: true, ngImport: i0 });
16260
16264
  }
16261
16265
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectAllCheckboxDirective, decorators: [{
@@ -16264,7 +16268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
16264
16268
  selector: '[kendoGridSelectAllCheckbox]',
16265
16269
  standalone: true
16266
16270
  }]
16267
- }], ctorParameters: function () { return [{ type: SelectionService }, { type: CellSelectionService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i3.CheckBoxComponent, decorators: [{
16271
+ }], ctorParameters: function () { return [{ type: SelectionService }, { type: CellSelectionService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i4$1.CheckBoxComponent, decorators: [{
16268
16272
  type: Host
16269
16273
  }, {
16270
16274
  type: Optional
@@ -17635,7 +17639,7 @@ class SelectionCheckboxDirective {
17635
17639
  this.renderer.setProperty(this.el.nativeElement, 'checked', isSelected);
17636
17640
  }
17637
17641
  }
17638
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectionCheckboxDirective, deps: [{ token: SelectionService }, { token: CellSelectionService }, { token: CellSelectionAggregateService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i3.CheckBoxComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
17642
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectionCheckboxDirective, deps: [{ token: SelectionService }, { token: CellSelectionService }, { token: CellSelectionAggregateService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i4$1.CheckBoxComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
17639
17643
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SelectionCheckboxDirective, isStandalone: true, selector: "[kendoGridSelectionCheckbox]", inputs: { itemIndex: ["kendoGridSelectionCheckbox", "itemIndex"] }, ngImport: i0 });
17640
17644
  }
17641
17645
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectionCheckboxDirective, decorators: [{
@@ -17644,7 +17648,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17644
17648
  selector: '[kendoGridSelectionCheckbox]',
17645
17649
  standalone: true
17646
17650
  }]
17647
- }], ctorParameters: function () { return [{ type: SelectionService }, { type: CellSelectionService }, { type: CellSelectionAggregateService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i3.CheckBoxComponent, decorators: [{
17651
+ }], ctorParameters: function () { return [{ type: SelectionService }, { type: CellSelectionService }, { type: CellSelectionAggregateService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i4$1.CheckBoxComponent, decorators: [{
17648
17652
  type: Host
17649
17653
  }, {
17650
17654
  type: Optional
@@ -19813,8 +19817,8 @@ const packageMetadata = {
19813
19817
  productName: 'Kendo UI for Angular',
19814
19818
  productCode: 'KENDOUIANGULAR',
19815
19819
  productCodes: ['KENDOUIANGULAR'],
19816
- publishDate: 1743750610,
19817
- version: '18.5.0-develop.2',
19820
+ publishDate: 1743751458,
19821
+ version: '18.5.0-develop.3',
19818
19822
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
19819
19823
  };
19820
19824
 
@@ -23308,8 +23312,53 @@ class GridMessages extends ComponentMessages {
23308
23312
  * The text for the Group pane Chip Menu Move as next item.
23309
23313
  */
23310
23314
  groupChipMenuNext;
23315
+ /**
23316
+ * The default text of a form validation error when using the built-in external editing.
23317
+ * <br/><br/>
23318
+ * The text consists of a three-part message&mdash;the name of the data item property the respective Grid column is bound to,
23319
+ * the name of the error, coming from the respective `FormControl` object, and a localizable string.
23320
+ * <br/><br/>
23321
+ * For a field named `ProductName`, and an error named `required`, the default error text will be `ProductName has required validation error`.
23322
+ * <br/><br/>
23323
+ * To customize the default text of the form validation error, use the `{errorName}` and `{fieldName}` placeholders and a custom localizable string.
23324
+ * For example, `{errorName} detected for {fieldName} field`.
23325
+ * <br/><br/>
23326
+ * The `{errorName}` and `{fieldName}` placeholders will be replaced internally with the field and error names for the respective invalid form control,
23327
+ * and the resulting error message will be rendered as `required error detected for ProductName field`.
23328
+ * [See example](slug:globalization_grid#toc-custom-messages).
23329
+ *
23330
+ */
23331
+ formValidationErrorText;
23332
+ /**
23333
+ * The title of the remove item confirmation Dialog.
23334
+ */
23335
+ removeConfirmationDialogTitle;
23336
+ /**
23337
+ * The content of the remove item confirmation Dialog.
23338
+ */
23339
+ removeConfirmationDialogContent;
23340
+ /**
23341
+ * The text of the confirm action button in the remove confirmation Dialog.
23342
+ */
23343
+ removeConfirmationDialogConfirmText;
23344
+ /**
23345
+ * The text of the reject action button in the remove confirmation Dialog.
23346
+ */
23347
+ removeConfirmationDialogRejectText;
23348
+ /**
23349
+ * The title of the external editing Dialog.
23350
+ */
23351
+ externalEditingTitle;
23352
+ /**
23353
+ * The text of the external editing Dialog <b>Save</b> button.
23354
+ */
23355
+ externalEditingSaveText;
23356
+ /**
23357
+ * The text of the external editing Dialog <b>Cancel</b> button.
23358
+ */
23359
+ externalEditingCancelText;
23311
23360
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23312
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerInputLabel: "pagerInputLabel", pagerSelectPage: "pagerSelectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterCellOperatorLabel: "filterCellOperatorLabel", booleanFilterCellLabel: "booleanFilterCellLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", 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", groupPanelLabel: "groupPanelLabel", dragRowHandleLabel: "dragRowHandleLabel", columnMenuFilterTabTitle: "columnMenuFilterTabTitle", columnMenuGeneralTabTitle: "columnMenuGeneralTabTitle", columnMenuColumnsTabTitle: "columnMenuColumnsTabTitle", groupChipMenuPrevious: "groupChipMenuPrevious", groupChipMenuNext: "groupChipMenuNext" }, usesInheritance: true, ngImport: i0 });
23361
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerInputLabel: "pagerInputLabel", pagerSelectPage: "pagerSelectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterCellOperatorLabel: "filterCellOperatorLabel", booleanFilterCellLabel: "booleanFilterCellLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", 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", groupPanelLabel: "groupPanelLabel", dragRowHandleLabel: "dragRowHandleLabel", columnMenuFilterTabTitle: "columnMenuFilterTabTitle", columnMenuGeneralTabTitle: "columnMenuGeneralTabTitle", columnMenuColumnsTabTitle: "columnMenuColumnsTabTitle", groupChipMenuPrevious: "groupChipMenuPrevious", groupChipMenuNext: "groupChipMenuNext", formValidationErrorText: "formValidationErrorText", removeConfirmationDialogTitle: "removeConfirmationDialogTitle", removeConfirmationDialogContent: "removeConfirmationDialogContent", removeConfirmationDialogConfirmText: "removeConfirmationDialogConfirmText", removeConfirmationDialogRejectText: "removeConfirmationDialogRejectText", externalEditingTitle: "externalEditingTitle", externalEditingSaveText: "externalEditingSaveText", externalEditingCancelText: "externalEditingCancelText" }, usesInheritance: true, ngImport: i0 });
23313
23362
  }
23314
23363
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridMessages, decorators: [{
23315
23364
  type: Directive,
@@ -23485,6 +23534,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
23485
23534
  type: Input
23486
23535
  }], groupChipMenuNext: [{
23487
23536
  type: Input
23537
+ }], formValidationErrorText: [{
23538
+ type: Input
23539
+ }], removeConfirmationDialogTitle: [{
23540
+ type: Input
23541
+ }], removeConfirmationDialogContent: [{
23542
+ type: Input
23543
+ }], removeConfirmationDialogConfirmText: [{
23544
+ type: Input
23545
+ }], removeConfirmationDialogRejectText: [{
23546
+ type: Input
23547
+ }], externalEditingTitle: [{
23548
+ type: Input
23549
+ }], externalEditingSaveText: [{
23550
+ type: Input
23551
+ }], externalEditingCancelText: [{
23552
+ type: Input
23488
23553
  }] } });
23489
23554
 
23490
23555
  /**
@@ -24257,9 +24322,6 @@ class GridComponent {
24257
24322
  columnList;
24258
24323
  selectionDirective = false;
24259
24324
  ariaRootId = `k-${guid()}`;
24260
- /**
24261
- * @hidden
24262
- */
24263
24325
  showLicenseWatermark = false;
24264
24326
  columnsContainer = new ColumnsContainer(() => this.columnList.filterHierarchy(column => {
24265
24327
  if (!isUniversal()) {
@@ -25058,9 +25120,6 @@ class GridComponent {
25058
25120
  updateNavigationMetadata() {
25059
25121
  this.navigationService.metadata = this.navigationMetadata();
25060
25122
  }
25061
- /**
25062
- * @hidden
25063
- */
25064
25123
  reorder({ target, source, before, changeContainer }) {
25065
25124
  this.ngZone.run(() => {
25066
25125
  const columnsForLevel = sortColumns(this.allColumnsForLevel(source.level));
@@ -25899,6 +25958,30 @@ class GridComponent {
25899
25958
 
25900
25959
  i18n-groupChipMenuNext="kendo.grid.groupChipMenuNext|The text for the Group pane Chip Menu Move as next item"
25901
25960
  groupChipMenuNext="Move as next"
25961
+
25962
+ i18n-formValidationErrorText="kendo.grid.formValidationErrorText|The default text of a form validation error when using external editing."
25963
+ formValidationErrorText="{{ 'The {fieldName} field has {errorName} validation error' }}"
25964
+
25965
+ i18n-removeConfirmationDialogTitle="kendo.grid.removeConfirmationDialogTitle|The title of the built-in remove item confirmation Dialog"
25966
+ removeConfirmationDialogTitle="Please confirm"
25967
+
25968
+ i18n-removeConfirmationDialogContent="kendo.grid.removeConfirmationDialogContent|The content of the built-in remove item confirmation Dialog"
25969
+ removeConfirmationDialogContent="Are you sure you want to delete this item?"
25970
+
25971
+ i18n-removeConfirmationDialogConfirmText="kendo.grid.removeConfirmationDialogConfirmText|The text of the built-in remove item confirmation Dialog confirm action button"
25972
+ removeConfirmationDialogConfirmText="Yes"
25973
+
25974
+ i18n-removeConfirmationDialogRejectText="kendo.grid.removeConfirmationDialogRejectText|The text of the built-in remove item confirmation Dialog reject action button"
25975
+ removeConfirmationDialogRejectText="No"
25976
+
25977
+ i18n-externalEditingTitle="kendo.grid.externalEditingTitle|The title of the built-in external editing form container"
25978
+ externalEditingTitle="Edit"
25979
+
25980
+ i18n-externalEditingSaveText="kendo.grid.externalEditingSaveText|The text of the external editing form Save button"
25981
+ externalEditingSaveText="Save"
25982
+
25983
+ i18n-externalEditingCancelText="kendo.grid.externalEditingCancelText|The text of the external editing form Cancel button"
25984
+ externalEditingCancelText="Cancel"
25902
25985
  >
25903
25986
  </ng-container>
25904
25987
  <kendo-grid-toolbar
@@ -26300,8 +26383,10 @@ class GridComponent {
26300
26383
  <kendo-pager-info *ngIf="normalizedPageableSettings.info">
26301
26384
  </kendo-pager-info>
26302
26385
  </ng-template>
26386
+ <div kendoDialogContainer></div>
26387
+
26303
26388
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
26304
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "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"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i44.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i44.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i44.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i44.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i44.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i44.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i44.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i44.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i44.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
26389
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "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"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i44.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i44.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i44.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i44.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i44.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i44.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i44.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i44.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i44.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DialogContainerDirective, selector: "[kendoDialogContainer]" }], encapsulation: i0.ViewEncapsulation.None });
26305
26390
  }
26306
26391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
26307
26392
  type: Component,
@@ -26610,6 +26695,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
26610
26695
 
26611
26696
  i18n-groupChipMenuNext="kendo.grid.groupChipMenuNext|The text for the Group pane Chip Menu Move as next item"
26612
26697
  groupChipMenuNext="Move as next"
26698
+
26699
+ i18n-formValidationErrorText="kendo.grid.formValidationErrorText|The default text of a form validation error when using external editing."
26700
+ formValidationErrorText="{{ 'The {fieldName} field has {errorName} validation error' }}"
26701
+
26702
+ i18n-removeConfirmationDialogTitle="kendo.grid.removeConfirmationDialogTitle|The title of the built-in remove item confirmation Dialog"
26703
+ removeConfirmationDialogTitle="Please confirm"
26704
+
26705
+ i18n-removeConfirmationDialogContent="kendo.grid.removeConfirmationDialogContent|The content of the built-in remove item confirmation Dialog"
26706
+ removeConfirmationDialogContent="Are you sure you want to delete this item?"
26707
+
26708
+ i18n-removeConfirmationDialogConfirmText="kendo.grid.removeConfirmationDialogConfirmText|The text of the built-in remove item confirmation Dialog confirm action button"
26709
+ removeConfirmationDialogConfirmText="Yes"
26710
+
26711
+ i18n-removeConfirmationDialogRejectText="kendo.grid.removeConfirmationDialogRejectText|The text of the built-in remove item confirmation Dialog reject action button"
26712
+ removeConfirmationDialogRejectText="No"
26713
+
26714
+ i18n-externalEditingTitle="kendo.grid.externalEditingTitle|The title of the built-in external editing form container"
26715
+ externalEditingTitle="Edit"
26716
+
26717
+ i18n-externalEditingSaveText="kendo.grid.externalEditingSaveText|The text of the external editing form Save button"
26718
+ externalEditingSaveText="Save"
26719
+
26720
+ i18n-externalEditingCancelText="kendo.grid.externalEditingCancelText|The text of the external editing form Cancel button"
26721
+ externalEditingCancelText="Cancel"
26613
26722
  >
26614
26723
  </ng-container>
26615
26724
  <kendo-grid-toolbar
@@ -27011,6 +27120,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
27011
27120
  <kendo-pager-info *ngIf="normalizedPageableSettings.info">
27012
27121
  </kendo-pager-info>
27013
27122
  </ng-template>
27123
+ <div kendoDialogContainer></div>
27124
+
27014
27125
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
27015
27126
  `,
27016
27127
  standalone: true,
@@ -27019,7 +27130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
27019
27130
  TableDirective, GridTableDirective, ColGroupComponent, HeaderComponent, ResizableContainerDirective,
27020
27131
  ListComponent, DragTargetContainerDirective, DropTargetContainerDirective, DraggableDirective,
27021
27132
  GridMarqueeDirective, FooterComponent, TableBodyComponent, LoadingComponent, StatusBarComponent,
27022
- IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet
27133
+ IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet, DialogContainerDirective
27023
27134
  ]
27024
27135
  }]
27025
27136
  }], ctorParameters: function () { return [{ type: BrowserSupportService }, { type: SelectionService }, { type: CellSelectionService }, { type: i0.ElementRef }, { type: GroupInfoService }, { type: GroupsService }, { type: ChangeNotificationService }, { type: DetailsService }, { type: EditService }, { type: FilterService }, { type: PDFService }, { type: ResponsiveService }, { type: i0.Renderer2 }, { type: ExcelService }, { type: i0.NgZone }, { type: ScrollSyncService }, { type: DomEventsService }, { type: ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: ColumnReorderService }, { type: ColumnInfoService }, { type: NavigationService }, { type: SortService }, { type: ScrollRequestService }, { type: i1$2.LocalizationService }, { type: ContextService }, { type: SizingOptionsService }, { type: RowReorderService }]; }, propDecorators: { data: [{
@@ -27568,10 +27679,32 @@ class EditingDirectiveBase {
27568
27679
  get editService() {
27569
27680
  return this.userEditService || this.defaultEditService;
27570
27681
  }
27682
+ removeConfirmationSubject = new Subject();
27683
+ dialogService;
27684
+ localization;
27685
+ defaultRemoveConfirmation = (_item) => {
27686
+ const dialog = this.dialogService.open({
27687
+ title: this.localization.get('removeConfirmationDialogTitle'),
27688
+ content: this.localization.get('removeConfirmationDialogContent'),
27689
+ actions: [{
27690
+ text: this.localization.get('removeConfirmationDialogConfirmText'),
27691
+ themeColor: 'primary',
27692
+ svgIcon: checkIcon,
27693
+ icon: 'check'
27694
+ }, {
27695
+ text: this.localization.get('removeConfirmationDialogRejectText'),
27696
+ svgIcon: xIcon,
27697
+ icon: 'x'
27698
+ }],
27699
+ });
27700
+ dialog.result.pipe(take(1)).subscribe((e) => this.removeConfirmationSubject.next(e.text === this.localization.get('removeConfirmationDialogConfirmText')));
27701
+ return this.removeConfirmationSubject;
27702
+ };
27571
27703
  /**
27572
27704
  * A function that is called to confirm if the `dataItem` will be removed.
27705
+ * Setting to `true` will result in displaying a default confirmation dialog.
27573
27706
  */
27574
- removeConfirmation;
27707
+ removeConfirmation = false;
27575
27708
  subscriptions = new Subscription();
27576
27709
  defaultEditService;
27577
27710
  userEditService;
@@ -27579,6 +27712,8 @@ class EditingDirectiveBase {
27579
27712
  this.grid = grid;
27580
27713
  this.localDataChangesService = localDataChangesService;
27581
27714
  this.defaultEditService = this.createDefaultService();
27715
+ this.dialogService = inject(DialogService);
27716
+ this.localization = inject(LocalizationService);
27582
27717
  }
27583
27718
  /**
27584
27719
  * @hidden
@@ -27599,7 +27734,7 @@ class EditingDirectiveBase {
27599
27734
  createDefaultService() {
27600
27735
  return new LocalEditService(this.grid, this.localDataChangesService);
27601
27736
  }
27602
- addHandler() {
27737
+ addHandler(_args) {
27603
27738
  this.grid.addRow(this.createModel({ isNew: true }));
27604
27739
  }
27605
27740
  saveHandler(args) {
@@ -27624,7 +27759,8 @@ class EditingDirectiveBase {
27624
27759
  }
27625
27760
  };
27626
27761
  if (this.removeConfirmation) {
27627
- const result = this.removeConfirmation(dataItem);
27762
+ const confirmationCallback = typeof this.removeConfirmation === 'boolean' ? this.defaultRemoveConfirmation : this.removeConfirmation;
27763
+ const result = confirmationCallback(dataItem);
27628
27764
  if (result instanceof Promise) {
27629
27765
  result.then(removeItem);
27630
27766
  }
@@ -27905,6 +28041,495 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
27905
28041
  args: ['kendoGridInCellEditing']
27906
28042
  }] } });
27907
28043
 
28044
+ /**
28045
+ * @hidden
28046
+ */
28047
+ class FormFormFieldComponent {
28048
+ localization;
28049
+ cdr;
28050
+ control;
28051
+ floatingLabel;
28052
+ showError;
28053
+ input;
28054
+ constructor(localization, cdr) {
28055
+ this.localization = localization;
28056
+ this.cdr = cdr;
28057
+ }
28058
+ // required to avoid ExpressionChangedAfterItHasBeenCheckedError caused by
28059
+ // binding to the label's 'for' attribute dynamically
28060
+ ngAfterContentInit() {
28061
+ this.cdr.detectChanges();
28062
+ }
28063
+ messageFor(key, errorName, field) {
28064
+ return replaceMessagePlaceholder(replaceMessagePlaceholder(this.localization.get(key), 'fieldName', field), 'errorName', errorName);
28065
+ }
28066
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFormFieldComponent, deps: [{ token: i1$2.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
28067
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFormFieldComponent, isStandalone: true, selector: "kendo-form-formfield", inputs: { control: "control", floatingLabel: "floatingLabel", showError: "showError" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: `
28068
+ <kendo-formfield
28069
+ [orientation]="control.orientation">
28070
+ <kendo-floatinglabel
28071
+ *ngIf="control.label && floatingLabel && $any(control.dataType) !== 'boolean'"
28072
+ labelCssClass="k-form-label"
28073
+ [text]="control.label">
28074
+ <kendo-textbox
28075
+ *ngIf="$any(control.dataType) === 'text'"
28076
+ [formControl]="control.formControl"></kendo-textbox>
28077
+ <kendo-numerictextbox
28078
+ *ngIf="$any(control.dataType) === 'numeric'"
28079
+ [formControl]="control.formControl"></kendo-numerictextbox>
28080
+ <kendo-datepicker
28081
+ *ngIf="$any(control.dataType) === 'date'"
28082
+ [formControl]="control.formControl"></kendo-datepicker>
28083
+ </kendo-floatinglabel>
28084
+ <kendo-label [style.align-items]="'start'"
28085
+ *ngIf="control.label && !floatingLabel && $any(control.dataType) !== 'boolean'"
28086
+ labelCssClass="k-form-label"
28087
+ [text]="control.label"
28088
+ [for]="input">
28089
+ </kendo-label>
28090
+ <kendo-textbox #input
28091
+ *ngIf="!floatingLabel && (control.dataType) === 'text'"
28092
+ [formControl]="control.formControl"></kendo-textbox>
28093
+ <kendo-numerictextbox #input
28094
+ *ngIf="!floatingLabel && $any(control.dataType) === 'numeric'"
28095
+ [formControl]="control.formControl"></kendo-numerictextbox>
28096
+ <kendo-datepicker #input
28097
+ *ngIf="!floatingLabel && $any(control.dataType) === 'date'"
28098
+ [formControl]="control.formControl"></kendo-datepicker>
28099
+ <div
28100
+ *ngIf="control.label && $any(control.dataType) === 'boolean'"
28101
+ class="k-form-field-checkbox-wrap">
28102
+ <kendo-checkbox #cb [formControl]="control.formControl"></kendo-checkbox>
28103
+ <kendo-label
28104
+ *ngIf="control.label"
28105
+ class="k-checkbox-label"
28106
+ [for]="cb"
28107
+ [text]="control.label">
28108
+ </kendo-label>
28109
+ </div>
28110
+
28111
+ <kendo-formhint *ngIf="control?.hint">{{control.hint}}</kendo-formhint>
28112
+ <ng-container *ngIf="showError && control.formControl?.invalid && control.formControl.touched">
28113
+ <kendo-formerror *ngFor="let err of control?.formControl?.errors | keyvalue">{{control.errors ? control.errors[err.key] : messageFor('formValidationError', err.key, control.name)}}</kendo-formerror>
28114
+ </ng-container>
28115
+ </kendo-formfield>
28116
+ `, isInline: true, dependencies: [{ kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: i3.FloatingLabelComponent, selector: "kendo-floatinglabel", inputs: ["labelCssStyle", "labelCssClass", "id", "text", "optional"], outputs: ["positionChange"], exportAs: ["kendoFloatingLabel"] }, { kind: "component", type: i4$1.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { kind: "component", type: i4$1.HintComponent, selector: "kendo-formhint", inputs: ["align"] }, { kind: "component", type: i4$1.ErrorComponent, selector: "kendo-formerror", inputs: ["align"] }, { kind: "component", type: i4$1.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: i4$1.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: i4$1.CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: i5$1.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }] });
28117
+ }
28118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFormFieldComponent, decorators: [{
28119
+ type: Component,
28120
+ args: [{
28121
+ selector: 'kendo-form-formfield',
28122
+ standalone: true,
28123
+ imports: [KeyValuePipe, NgFor, NgIf, ReactiveFormsModule,
28124
+ KENDO_LABELS, KENDO_FORMFIELD, KENDO_TEXTBOX, KENDO_NUMERICTEXTBOX, KENDO_BUTTON, KENDO_CHECKBOX, KENDO_DATEPICKER],
28125
+ template: `
28126
+ <kendo-formfield
28127
+ [orientation]="control.orientation">
28128
+ <kendo-floatinglabel
28129
+ *ngIf="control.label && floatingLabel && $any(control.dataType) !== 'boolean'"
28130
+ labelCssClass="k-form-label"
28131
+ [text]="control.label">
28132
+ <kendo-textbox
28133
+ *ngIf="$any(control.dataType) === 'text'"
28134
+ [formControl]="control.formControl"></kendo-textbox>
28135
+ <kendo-numerictextbox
28136
+ *ngIf="$any(control.dataType) === 'numeric'"
28137
+ [formControl]="control.formControl"></kendo-numerictextbox>
28138
+ <kendo-datepicker
28139
+ *ngIf="$any(control.dataType) === 'date'"
28140
+ [formControl]="control.formControl"></kendo-datepicker>
28141
+ </kendo-floatinglabel>
28142
+ <kendo-label [style.align-items]="'start'"
28143
+ *ngIf="control.label && !floatingLabel && $any(control.dataType) !== 'boolean'"
28144
+ labelCssClass="k-form-label"
28145
+ [text]="control.label"
28146
+ [for]="input">
28147
+ </kendo-label>
28148
+ <kendo-textbox #input
28149
+ *ngIf="!floatingLabel && (control.dataType) === 'text'"
28150
+ [formControl]="control.formControl"></kendo-textbox>
28151
+ <kendo-numerictextbox #input
28152
+ *ngIf="!floatingLabel && $any(control.dataType) === 'numeric'"
28153
+ [formControl]="control.formControl"></kendo-numerictextbox>
28154
+ <kendo-datepicker #input
28155
+ *ngIf="!floatingLabel && $any(control.dataType) === 'date'"
28156
+ [formControl]="control.formControl"></kendo-datepicker>
28157
+ <div
28158
+ *ngIf="control.label && $any(control.dataType) === 'boolean'"
28159
+ class="k-form-field-checkbox-wrap">
28160
+ <kendo-checkbox #cb [formControl]="control.formControl"></kendo-checkbox>
28161
+ <kendo-label
28162
+ *ngIf="control.label"
28163
+ class="k-checkbox-label"
28164
+ [for]="cb"
28165
+ [text]="control.label">
28166
+ </kendo-label>
28167
+ </div>
28168
+
28169
+ <kendo-formhint *ngIf="control?.hint">{{control.hint}}</kendo-formhint>
28170
+ <ng-container *ngIf="showError && control.formControl?.invalid && control.formControl.touched">
28171
+ <kendo-formerror *ngFor="let err of control?.formControl?.errors | keyvalue">{{control.errors ? control.errors[err.key] : messageFor('formValidationError', err.key, control.name)}}</kendo-formerror>
28172
+ </ng-container>
28173
+ </kendo-formfield>
28174
+ `
28175
+ }]
28176
+ }], ctorParameters: function () { return [{ type: i1$2.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { control: [{
28177
+ type: Input
28178
+ }], floatingLabel: [{
28179
+ type: Input
28180
+ }], showError: [{
28181
+ type: Input
28182
+ }], input: [{
28183
+ type: ViewChild,
28184
+ args: ['input']
28185
+ }] } });
28186
+
28187
+ let idx = 0;
28188
+ /**
28189
+ * @hidden
28190
+ */
28191
+ class FormComponent {
28192
+ controls = [];
28193
+ set formSettings(value) {
28194
+ this._formSettings = { ...this._formSettings, ...value };
28195
+ }
28196
+ get formSettings() {
28197
+ return this._formSettings;
28198
+ }
28199
+ formGroup;
28200
+ set actionButtons(value) {
28201
+ if (typeof value === 'boolean') {
28202
+ this.normalizeActionButtonSettings(value);
28203
+ }
28204
+ else {
28205
+ this._actionButtons = value;
28206
+ }
28207
+ }
28208
+ get actionButtons() {
28209
+ return this._actionButtons;
28210
+ }
28211
+ formSubmit = new EventEmitter();
28212
+ get componentIndex() {
28213
+ return idx++;
28214
+ }
28215
+ _formSettings = {
28216
+ orientation: 'vertical',
28217
+ showErrors: true,
28218
+ floatingLabels: false
28219
+ };
28220
+ defaultActionButtons = [{
28221
+ actionType: 'submit',
28222
+ text: 'Submit',
28223
+ svgIcon: saveIcon,
28224
+ icon: 'save',
28225
+ themeColor: 'primary'
28226
+ }, {
28227
+ actionType: 'reset',
28228
+ svgIcon: cancelIcon,
28229
+ text: 'Reset',
28230
+ icon: 'cancel'
28231
+ }];
28232
+ _actionButtons = this.defaultActionButtons;
28233
+ ngOnInit() {
28234
+ idx++;
28235
+ }
28236
+ normalizeActionButtonSettings(value) {
28237
+ this._actionButtons = value ? this.defaultActionButtons : [];
28238
+ }
28239
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28240
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormComponent, isStandalone: true, selector: "kendo-grid-external-form", inputs: { controls: "controls", formSettings: "formSettings", formGroup: "formGroup", actionButtons: "actionButtons" }, outputs: { formSubmit: "formSubmit" }, ngImport: i0, template: `
28241
+ <div role="form"
28242
+ class="k-form k-form-md"
28243
+ [class.k-form-horizontal]="formSettings.orientation === 'horizontal'"
28244
+ [formGroup]="formGroup"
28245
+ (ngSubmit)="formSubmit.next({originalEvent: $event, formGroup})"
28246
+ (reset)="$event.preventDefault()">
28247
+ <ng-container *ngFor="let control of controls; let idx = index;">
28248
+ <ng-container *ngIf="!control.template; else template">
28249
+ <kendo-form-formfield
28250
+ [control]="control"
28251
+ [showError]="formSettings.showErrors"
28252
+ [floatingLabel]="formSettings.floatingLabels"></kendo-form-formfield>
28253
+ </ng-container>
28254
+ <ng-template #template>
28255
+ <ng-container
28256
+ [ngTemplateOutlet]="control.template"
28257
+ [ngTemplateOutletContext]="control.templateContext"></ng-container>
28258
+ </ng-template>
28259
+ </ng-container>
28260
+ <div class="k-form-buttons" *ngIf="$any(actionButtons).length">
28261
+ <button kendoButton *ngFor="let button of $any(actionButtons)"
28262
+ [class.k-form-submit]="button.actionType === 'submit'"
28263
+ [size]="button.size"
28264
+ [themeColor]="button.themeColor || button.actionType === 'submit' ? 'primary' : undefined"
28265
+ [rounded]="button.rounded"
28266
+ [attr.type]="button.actionType"
28267
+ [svgIcon]="button.svgIcon"
28268
+ [icon]="button.icon">
28269
+ {{button.text}}
28270
+ </button>
28271
+ </div>
28272
+ </div>
28273
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormFormFieldComponent, selector: "kendo-form-formfield", inputs: ["control", "floatingLabel", "showError"] }, { kind: "component", type: i2.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"] }] });
28274
+ }
28275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormComponent, decorators: [{
28276
+ type: Component,
28277
+ args: [{
28278
+ selector: 'kendo-grid-external-form',
28279
+ standalone: true,
28280
+ template: `
28281
+ <div role="form"
28282
+ class="k-form k-form-md"
28283
+ [class.k-form-horizontal]="formSettings.orientation === 'horizontal'"
28284
+ [formGroup]="formGroup"
28285
+ (ngSubmit)="formSubmit.next({originalEvent: $event, formGroup})"
28286
+ (reset)="$event.preventDefault()">
28287
+ <ng-container *ngFor="let control of controls; let idx = index;">
28288
+ <ng-container *ngIf="!control.template; else template">
28289
+ <kendo-form-formfield
28290
+ [control]="control"
28291
+ [showError]="formSettings.showErrors"
28292
+ [floatingLabel]="formSettings.floatingLabels"></kendo-form-formfield>
28293
+ </ng-container>
28294
+ <ng-template #template>
28295
+ <ng-container
28296
+ [ngTemplateOutlet]="control.template"
28297
+ [ngTemplateOutletContext]="control.templateContext"></ng-container>
28298
+ </ng-template>
28299
+ </ng-container>
28300
+ <div class="k-form-buttons" *ngIf="$any(actionButtons).length">
28301
+ <button kendoButton *ngFor="let button of $any(actionButtons)"
28302
+ [class.k-form-submit]="button.actionType === 'submit'"
28303
+ [size]="button.size"
28304
+ [themeColor]="button.themeColor || button.actionType === 'submit' ? 'primary' : undefined"
28305
+ [rounded]="button.rounded"
28306
+ [attr.type]="button.actionType"
28307
+ [svgIcon]="button.svgIcon"
28308
+ [icon]="button.icon">
28309
+ {{button.text}}
28310
+ </button>
28311
+ </div>
28312
+ </div>
28313
+ `,
28314
+ imports: [NgFor, NgIf, NgTemplateOutlet, ReactiveFormsModule, FormFormFieldComponent, KENDO_BUTTON],
28315
+ }]
28316
+ }], propDecorators: { controls: [{
28317
+ type: Input
28318
+ }], formSettings: [{
28319
+ type: Input
28320
+ }], formGroup: [{
28321
+ type: Input
28322
+ }], actionButtons: [{
28323
+ type: Input
28324
+ }], formSubmit: [{
28325
+ type: Output
28326
+ }] } });
28327
+
28328
+ /**
28329
+ * @hidden
28330
+ */
28331
+ class DialogFormComponent extends DialogContentBase {
28332
+ localization;
28333
+ controls;
28334
+ formGroup;
28335
+ formSettings;
28336
+ saveIcon = saveIcon;
28337
+ cancelIcon = cancelIcon;
28338
+ constructor(dialogRef, localization) {
28339
+ super(dialogRef);
28340
+ this.localization = localization;
28341
+ }
28342
+ save() {
28343
+ this.dialog.close({ text: this.localization.get('externalEditingSaveText') });
28344
+ }
28345
+ cancel() {
28346
+ this.dialog.close({ text: this.localization.get('externalEditingCancelText') });
28347
+ }
28348
+ messageFor(key) {
28349
+ return this.localization.get(key);
28350
+ }
28351
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogFormComponent, deps: [{ token: i1$6.DialogRef }, { token: i1$2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
28352
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogFormComponent, isStandalone: true, selector: "kendo-grid-dialog-form", inputs: { controls: "controls", formGroup: "formGroup", formSettings: "formSettings" }, usesInheritance: true, ngImport: i0, template: `
28353
+ <kendo-grid-external-form
28354
+ [controls]="controls"
28355
+ [formGroup]="formGroup"
28356
+ [formSettings]="formSettings"
28357
+ [actionButtons]="false"></kendo-grid-external-form>
28358
+ <kendo-dialog-actions [layout]="this.dialog?.dialog?.instance?.actionsLayout">
28359
+ <button
28360
+ kendoButton
28361
+ themeColor="primary"
28362
+ [svgIcon]="saveIcon"
28363
+ [disabled]="!formGroup.valid"
28364
+ (click)="save()"
28365
+ >
28366
+ {{messageFor('externalEditingSaveText')}}
28367
+ </button>
28368
+ <button
28369
+ kendoButton
28370
+ [svgIcon]="cancelIcon"
28371
+ (click)="cancel()">
28372
+ {{messageFor('externalEditingCancelText')}}
28373
+ </button>
28374
+ </kendo-dialog-actions>
28375
+ `, isInline: true, dependencies: [{ kind: "component", type: FormComponent, selector: "kendo-grid-external-form", inputs: ["controls", "formSettings", "formGroup", "actionButtons"], outputs: ["formSubmit"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: i2.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"] }] });
28376
+ }
28377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogFormComponent, decorators: [{
28378
+ type: Component,
28379
+ args: [{
28380
+ selector: 'kendo-grid-dialog-form',
28381
+ standalone: true,
28382
+ imports: [FormComponent, DialogActionsComponent, KENDO_BUTTON],
28383
+ template: `
28384
+ <kendo-grid-external-form
28385
+ [controls]="controls"
28386
+ [formGroup]="formGroup"
28387
+ [formSettings]="formSettings"
28388
+ [actionButtons]="false"></kendo-grid-external-form>
28389
+ <kendo-dialog-actions [layout]="this.dialog?.dialog?.instance?.actionsLayout">
28390
+ <button
28391
+ kendoButton
28392
+ themeColor="primary"
28393
+ [svgIcon]="saveIcon"
28394
+ [disabled]="!formGroup.valid"
28395
+ (click)="save()"
28396
+ >
28397
+ {{messageFor('externalEditingSaveText')}}
28398
+ </button>
28399
+ <button
28400
+ kendoButton
28401
+ [svgIcon]="cancelIcon"
28402
+ (click)="cancel()">
28403
+ {{messageFor('externalEditingCancelText')}}
28404
+ </button>
28405
+ </kendo-dialog-actions>
28406
+ `
28407
+ }]
28408
+ }], ctorParameters: function () { return [{ type: i1$6.DialogRef }, { type: i1$2.LocalizationService }]; }, propDecorators: { controls: [{
28409
+ type: Input
28410
+ }], formGroup: [{
28411
+ type: Input
28412
+ }], formSettings: [{
28413
+ type: Input
28414
+ }] } });
28415
+
28416
+ /**
28417
+ * A directive which encapsulates the editing operations of the Grid when using the
28418
+ * External Form ([see example](slug:editing_directives_grid#external-editing)).
28419
+ */
28420
+ class ExternalEditingDirective extends EditingDirectiveBase {
28421
+ grid;
28422
+ localDataChangesService;
28423
+ /**
28424
+ * The function that creates the `FormGroup` for the edited model.
28425
+ */
28426
+ createFormGroup;
28427
+ /**
28428
+ * Allows you to customize form orientation, hints, labels and error messages.
28429
+ */
28430
+ formSettings;
28431
+ /**
28432
+ * Allows you to customize the Dialog that contains the edit form.
28433
+ */
28434
+ dialogSettings;
28435
+ constructor(grid, localDataChangesService) {
28436
+ super(grid, localDataChangesService);
28437
+ this.grid = grid;
28438
+ this.localDataChangesService = localDataChangesService;
28439
+ }
28440
+ ngOnInit() {
28441
+ super.ngOnInit();
28442
+ this.subscriptions
28443
+ .add(this.grid.edit.subscribe(this.editHandler.bind(this)));
28444
+ }
28445
+ /**
28446
+ * @hidden
28447
+ * Opens a Dialog that contains the edit form.
28448
+ */
28449
+ openEditFormDialog(editEventArgs, formGroup, formSettings) {
28450
+ const settings = { content: DialogFormComponent, title: this.localization.get('externalEditingTitle'), ...this.dialogSettings };
28451
+ const dialog = this.dialogService.open(settings);
28452
+ const formControls = this.normalizeFormSettings(formGroup, editEventArgs);
28453
+ dialog.content.setInput('controls', formControls);
28454
+ formSettings && dialog.content.setInput('formSettings', formSettings);
28455
+ dialog.content.setInput('formGroup', formGroup);
28456
+ dialog.result.subscribe((r) => {
28457
+ const resultType = r['text'];
28458
+ if (resultType === this.localization.get('externalEditingSaveText')) {
28459
+ this.saveHandler({ ...editEventArgs, formGroup });
28460
+ }
28461
+ dialog.close();
28462
+ });
28463
+ }
28464
+ createModel(args) {
28465
+ return this.createFormGroup(args);
28466
+ }
28467
+ editHandler(args) {
28468
+ const formGroup = this.createModel(args);
28469
+ this.openEditFormDialog(args, formGroup, this.formSettings);
28470
+ }
28471
+ saveModel({ dataItem, formGroup, isNew }) {
28472
+ if (!formGroup.dirty && !isNew) {
28473
+ return;
28474
+ }
28475
+ if (formGroup.valid) {
28476
+ const item = dataItem || [];
28477
+ this.editService.assignValues(item, formGroup.value);
28478
+ return item;
28479
+ }
28480
+ markAllAsTouched(formGroup);
28481
+ }
28482
+ addHandler(args) {
28483
+ const formGroup = this.createModel(args);
28484
+ this.openEditFormDialog(args, formGroup, this.formSettings);
28485
+ }
28486
+ normalizeFormSettings(args, editEventArgs) {
28487
+ const editableColumnFields = this.grid.columns.toArray().filter(c => c.field && c.editable && isPresent$1(args.get(c.field))).map(c => c.field);
28488
+ const settings = editableColumnFields.map(k => {
28489
+ const column = this.grid.columns.toArray().find(c => c.field === k);
28490
+ const title = column.title || k;
28491
+ const template = column.editTemplateRef;
28492
+ const templateContext = template ? {
28493
+ $implicit: args,
28494
+ isNew: editEventArgs.isNew,
28495
+ column,
28496
+ dataItem: editEventArgs.dataItem,
28497
+ formGroup: args,
28498
+ rowIndex: editEventArgs.rowIndex
28499
+ } : null;
28500
+ const customSettings = this.formSettings?.fields?.[k];
28501
+ return {
28502
+ name: k,
28503
+ label: customSettings?.label || title,
28504
+ hint: customSettings?.hint,
28505
+ errors: customSettings?.errors,
28506
+ formControl: args.get(k),
28507
+ dataType: column.editor,
28508
+ orientation: this.formSettings?.orientation || 'vertical',
28509
+ template: template,
28510
+ templateContext: templateContext
28511
+ };
28512
+ });
28513
+ return settings.filter(item => isPresent$1(item));
28514
+ }
28515
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalEditingDirective, deps: [{ token: GridComponent }, { token: LocalDataChangesService }], target: i0.ɵɵFactoryTarget.Directive });
28516
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ExternalEditingDirective, isStandalone: true, selector: "[kendoGridExternalEditing]", inputs: { createFormGroup: ["kendoGridExternalEditing", "createFormGroup"], formSettings: "formSettings", dialogSettings: "dialogSettings" }, usesInheritance: true, ngImport: i0 });
28517
+ }
28518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalEditingDirective, decorators: [{
28519
+ type: Directive,
28520
+ args: [{
28521
+ selector: '[kendoGridExternalEditing]',
28522
+ standalone: true
28523
+ }]
28524
+ }], ctorParameters: function () { return [{ type: GridComponent }, { type: LocalDataChangesService }]; }, propDecorators: { createFormGroup: [{
28525
+ type: Input,
28526
+ args: ['kendoGridExternalEditing']
28527
+ }], formSettings: [{
28528
+ type: Input
28529
+ }], dialogSettings: [{
28530
+ type: Input
28531
+ }] } });
28532
+
27908
28533
  /**
27909
28534
  * A directive which controls the expanded state of the master detail rows. ([see example](slug:master_detail_expanded_state_grid#toc-built-in-directive))
27910
28535
  */
@@ -29148,6 +29773,7 @@ const KENDO_GRID_DECLARATIONS = [
29148
29773
  TemplateEditingDirective,
29149
29774
  ReactiveEditingDirective,
29150
29775
  InCellEditingDirective,
29776
+ ExternalEditingDirective,
29151
29777
  ExpandDetailsDirective,
29152
29778
  ExpandGroupDirective,
29153
29779
  GroupBindingDirective,
@@ -29156,7 +29782,10 @@ const KENDO_GRID_DECLARATIONS = [
29156
29782
  GridToolbarFocusableDirective,
29157
29783
  StatusBarComponent,
29158
29784
  StatusBarTemplateDirective,
29159
- GridClipboardDirective
29785
+ GridClipboardDirective,
29786
+ FormComponent,
29787
+ DialogFormComponent,
29788
+ FormFormFieldComponent
29160
29789
  ];
29161
29790
  /**
29162
29791
  * @hidden
@@ -29176,6 +29805,7 @@ const KENDO_GRID_EXPORTS = [
29176
29805
  TemplateEditingDirective,
29177
29806
  ReactiveEditingDirective,
29178
29807
  InCellEditingDirective,
29808
+ ExternalEditingDirective,
29179
29809
  ExpandDetailsDirective,
29180
29810
  ExpandGroupDirective,
29181
29811
  GridToolbarFocusableDirective,
@@ -29250,7 +29880,7 @@ const KENDO_GRID = [
29250
29880
  */
29251
29881
  class GridModule {
29252
29882
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29253
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridModule, imports: [GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FooterComponent, i44.CustomMessagesComponent, i44.PagerFocusableDirective, i44.PagerInfoComponent, i44.PagerInputComponent, i44.PagerNextButtonsComponent, i44.PagerNumericButtonsComponent, i44.PagerPageSizesComponent, i44.PagerPrevButtonsComponent, i44.PagerTemplateDirective, i44.PagerComponent, i44.PagerSpacerComponent, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i45.ToolBarToolComponent, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellHostDirective, FilterCellWrapperComponent, DateFilterCellComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, FilterMenuHostDirective, BooleanFilterMenuComponent, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, ColumnMenuChooserItemCheckedDirective, ColumnListComponent, ColumnChooserComponent, ColumnMenuChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuComponent, ColumnMenuLockComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridComponent, ListComponent, ToolbarComponent, LocalizedMessagesDirective, CustomMessagesComponent, DataBindingDirective, ToolbarTemplateDirective, SelectionDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GroupBindingDirective, GridMarqueeDirective, GridSpacerComponent, GridToolbarFocusableDirective, StatusBarComponent, StatusBarTemplateDirective, GridClipboardDirective, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i45.ToolBarToolComponent, TableDirective], exports: [GridComponent, ToolbarTemplateDirective, ToolbarComponent, GridSpacerComponent, StatusBarTemplateDirective, DataBindingDirective, SelectionDirective, CustomMessagesComponent, GroupBindingDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, 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, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, 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, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridClipboardDirective, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i45.ToolBarToolComponent, i44.CustomMessagesComponent, i44.PagerFocusableDirective, i44.PagerInfoComponent, i44.PagerInputComponent, i44.PagerNextButtonsComponent, i44.PagerNumericButtonsComponent, i44.PagerPageSizesComponent, i44.PagerPrevButtonsComponent, i44.PagerTemplateDirective, i44.PagerComponent, i44.PagerSpacerComponent] });
29883
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridModule, imports: [GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FooterComponent, i44.CustomMessagesComponent, i44.PagerFocusableDirective, i44.PagerInfoComponent, i44.PagerInputComponent, i44.PagerNextButtonsComponent, i44.PagerNumericButtonsComponent, i44.PagerPageSizesComponent, i44.PagerPrevButtonsComponent, i44.PagerTemplateDirective, i44.PagerComponent, i44.PagerSpacerComponent, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i45.ToolBarToolComponent, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellHostDirective, FilterCellWrapperComponent, DateFilterCellComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, FilterMenuHostDirective, BooleanFilterMenuComponent, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, ColumnMenuChooserItemCheckedDirective, ColumnListComponent, ColumnChooserComponent, ColumnMenuChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuComponent, ColumnMenuLockComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridComponent, ListComponent, ToolbarComponent, LocalizedMessagesDirective, CustomMessagesComponent, DataBindingDirective, ToolbarTemplateDirective, SelectionDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GroupBindingDirective, GridMarqueeDirective, GridSpacerComponent, GridToolbarFocusableDirective, StatusBarComponent, StatusBarTemplateDirective, GridClipboardDirective, FormComponent, DialogFormComponent, FormFormFieldComponent, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i45.ToolBarToolComponent, TableDirective], exports: [GridComponent, ToolbarTemplateDirective, ToolbarComponent, GridSpacerComponent, StatusBarTemplateDirective, DataBindingDirective, SelectionDirective, CustomMessagesComponent, GroupBindingDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GridToolbarFocusableDirective, GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, 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, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridClipboardDirective, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i45.ToolBarToolComponent, i44.CustomMessagesComponent, i44.PagerFocusableDirective, i44.PagerInfoComponent, i44.PagerInputComponent, i44.PagerNextButtonsComponent, i44.PagerNumericButtonsComponent, i44.PagerPageSizesComponent, i44.PagerPrevButtonsComponent, i44.PagerTemplateDirective, i44.PagerComponent, i44.PagerSpacerComponent] });
29254
29884
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, providers: [
29255
29885
  PopupService,
29256
29886
  ResizeBatchService,
@@ -29265,7 +29895,7 @@ class GridModule {
29265
29895
  MonthViewService,
29266
29896
  YearViewService,
29267
29897
  NavigationService$1
29268
- ], imports: [GroupHeaderComponent, GroupPanelComponent, TableBodyComponent, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, HeaderComponent, i44.CustomMessagesComponent, i44.PagerInfoComponent, i44.PagerInputComponent, i44.PagerNextButtonsComponent, i44.PagerNumericButtonsComponent, i44.PagerPageSizesComponent, i44.PagerPrevButtonsComponent, i44.PagerComponent, i44.PagerSpacerComponent, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.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, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent] });
29898
+ ], imports: [GroupHeaderComponent, GroupPanelComponent, TableBodyComponent, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, HeaderComponent, i44.CustomMessagesComponent, i44.PagerInfoComponent, i44.PagerInputComponent, i44.PagerNextButtonsComponent, i44.PagerNumericButtonsComponent, i44.PagerPageSizesComponent, i44.PagerPrevButtonsComponent, i44.PagerComponent, i44.PagerSpacerComponent, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.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, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent] });
29269
29899
  }
29270
29900
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, decorators: [{
29271
29901
  type: NgModule,
@@ -29365,8 +29995,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29365
29995
  */
29366
29996
  class ExcelModule {
29367
29997
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29368
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ExcelModule, imports: [i1$1.IconComponent, i1$1.SVGIconComponent, ExcelComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, i5$1.ColumnComponent, i5$1.ColumnGroupComponent, i5$1.FooterTemplateDirective, i5$1.GroupFooterTemplateDirective, i5$1.GroupHeaderColumnTemplateDirective, i5$1.GroupHeaderTemplateDirective], exports: [ExcelComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, i5$1.ColumnComponent, i5$1.ColumnGroupComponent, i5$1.FooterTemplateDirective, i5$1.GroupFooterTemplateDirective, i5$1.GroupHeaderColumnTemplateDirective, i5$1.GroupHeaderTemplateDirective] });
29369
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelModule, providers: [IconsService], imports: [KENDO_ICONS, ExcelCommandDirective, i5$1.ColumnComponent, i5$1.ColumnGroupComponent] });
29998
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ExcelModule, imports: [i1$1.IconComponent, i1$1.SVGIconComponent, ExcelComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, i5$2.ColumnComponent, i5$2.ColumnGroupComponent, i5$2.FooterTemplateDirective, i5$2.GroupFooterTemplateDirective, i5$2.GroupHeaderColumnTemplateDirective, i5$2.GroupHeaderTemplateDirective], exports: [ExcelComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, i5$2.ColumnComponent, i5$2.ColumnGroupComponent, i5$2.FooterTemplateDirective, i5$2.GroupFooterTemplateDirective, i5$2.GroupHeaderColumnTemplateDirective, i5$2.GroupHeaderTemplateDirective] });
29999
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelModule, providers: [IconsService], imports: [KENDO_ICONS, ExcelCommandDirective, i5$2.ColumnComponent, i5$2.ColumnGroupComponent] });
29370
30000
  }
29371
30001
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelModule, decorators: [{
29372
30002
  type: NgModule,
@@ -29381,5 +30011,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29381
30011
  * Generated bundle index. Do not edit.
29382
30012
  */
29383
30013
 
29384
- export { AddCommandDirective, AddCommandToolbarDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionAggregateService, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridClipboardDirective, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupPanelComponent, GroupsService, HeaderComponent, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, KENDO_GRID, KENDO_GRID_BODY_EXPORTS, KENDO_GRID_COLUMN_DRAGANDDROP, KENDO_GRID_COLUMN_MENU_DECLARATIONS, KENDO_GRID_COLUMN_MENU_EXPORTS, KENDO_GRID_DECLARATIONS, KENDO_GRID_EXCEL_EXPORT, KENDO_GRID_EXPORTS, KENDO_GRID_FILTER_MENU, KENDO_GRID_FILTER_MENU_EXPORTS, KENDO_GRID_FILTER_OPERATORS, KENDO_GRID_FILTER_ROW, KENDO_GRID_FILTER_ROW_EXPORTS, KENDO_GRID_FILTER_SHARED, KENDO_GRID_FOOTER_EXPORTS, KENDO_GRID_GROUP_EXPORTS, KENDO_GRID_HEADER_EXPORTS, KENDO_GRID_PDF_EXPORT, KENDO_GRID_SHARED, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFCommandToolbarDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, RowEditingDirectiveBase, RowReorderColumnComponent, RowReorderService, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
30014
+ export { AddCommandDirective, AddCommandToolbarDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionAggregateService, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, ExternalEditingDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridClipboardDirective, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupPanelComponent, GroupsService, HeaderComponent, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, KENDO_GRID, KENDO_GRID_BODY_EXPORTS, KENDO_GRID_COLUMN_DRAGANDDROP, KENDO_GRID_COLUMN_MENU_DECLARATIONS, KENDO_GRID_COLUMN_MENU_EXPORTS, KENDO_GRID_DECLARATIONS, KENDO_GRID_EXCEL_EXPORT, KENDO_GRID_EXPORTS, KENDO_GRID_FILTER_MENU, KENDO_GRID_FILTER_MENU_EXPORTS, KENDO_GRID_FILTER_OPERATORS, KENDO_GRID_FILTER_ROW, KENDO_GRID_FILTER_ROW_EXPORTS, KENDO_GRID_FILTER_SHARED, KENDO_GRID_FOOTER_EXPORTS, KENDO_GRID_GROUP_EXPORTS, KENDO_GRID_HEADER_EXPORTS, KENDO_GRID_PDF_EXPORT, KENDO_GRID_SHARED, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFCommandToolbarDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, RowEditingDirectiveBase, RowReorderColumnComponent, RowReorderService, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
29385
30015