@progress/kendo-angular-grid 17.0.0-develop.36 → 17.0.0-develop.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/column-menu/column-chooser-item-checked.directive.d.ts +5 -4
  2. package/column-menu/column-list.component.d.ts +1 -1
  3. package/esm2022/column-menu/column-chooser-item-checked.directive.mjs +12 -9
  4. package/esm2022/column-menu/column-list.component.mjs +59 -66
  5. package/esm2022/filtering/boolean-filter.component.mjs +3 -12
  6. package/esm2022/filtering/cell/string-filter-cell.component.mjs +4 -2
  7. package/esm2022/filtering/filter-row.component.mjs +4 -8
  8. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +8 -10
  9. package/esm2022/filtering/menu/filter-menu.module.mjs +1 -1
  10. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +11 -11
  11. package/esm2022/grid.module.mjs +1 -1
  12. package/esm2022/grouping/group-header.component.mjs +2 -2
  13. package/esm2022/navigation/default-focusable-element.mjs +2 -1
  14. package/esm2022/package-metadata.mjs +2 -2
  15. package/esm2022/rendering/cell.component.mjs +39 -59
  16. package/esm2022/rendering/footer/footer.component.mjs +2 -2
  17. package/esm2022/rendering/header/header.component.mjs +17 -20
  18. package/esm2022/rendering/header/header.module.mjs +1 -1
  19. package/esm2022/rendering/list.component.mjs +4 -4
  20. package/esm2022/rendering/table-body.component.mjs +10 -12
  21. package/esm2022/selection/selectall-checkbox.directive.mjs +19 -21
  22. package/esm2022/selection/selection-checkbox.directive.mjs +14 -10
  23. package/fesm2022/progress-kendo-angular-grid.mjs +202 -248
  24. package/filtering/boolean-filter.component.d.ts +0 -4
  25. package/filtering/menu/boolean-filter-menu.component.d.ts +2 -1
  26. package/package.json +18 -18
  27. package/schematics/ngAdd/index.js +4 -4
  28. package/selection/selectall-checkbox.directive.d.ts +5 -6
  29. package/selection/selection-checkbox.directive.d.ts +4 -3
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-grid',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1730721044,
13
- version: '17.0.0-develop.36',
12
+ publishDate: 1730732307,
13
+ version: '17.0.0-develop.38',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -19,7 +19,7 @@ import { IconWrapperComponent } from '@progress/kendo-angular-icons';
19
19
  import { SelectionCheckboxDirective } from '../selection/selection-checkbox.directive';
20
20
  import { FocusableDirective } from '../navigation/focusable.directive';
21
21
  import { NgSwitch, NgSwitchCase, NgIf, NgTemplateOutlet, NgFor, NgSwitchDefault } from '@angular/common';
22
- import { NumericTextBoxComponent } from '@progress/kendo-angular-inputs';
22
+ import { CheckBoxComponent, NumericTextBoxComponent, TextBoxComponent } from '@progress/kendo-angular-inputs';
23
23
  import { DatePickerComponent } from '@progress/kendo-angular-dateinputs';
24
24
  import * as i0 from "@angular/core";
25
25
  import * as i1 from "../editing/edit.service";
@@ -183,23 +183,19 @@ export class CellComponent {
183
183
  <ng-container *ngIf="isBoundColumn">{{ dataItem | valueOf: column.field: column.format}}</ng-container>
184
184
  <ng-container *ngIf="isCheckboxColumn && !isNew">
185
185
  <ng-container *ngIf="isRowSelectable; else nonSelectableRow">
186
- <span class="k-checkbox-wrap">
187
- <input
188
- class="k-checkbox k-checkbox-md k-rounded-md"
189
- [kendoGridSelectionCheckbox]="rowIndex"
190
- [attr.id]="selectionCheckboxId"
191
- [attr.aria-label]="selectionCheckboxLabel" />
192
- </span>
186
+ <kendo-checkbox
187
+ [kendoGridSelectionCheckbox]="rowIndex"
188
+ [attr.id]="selectionCheckboxId"
189
+ [inputAttributes]="{'aria-label': selectionCheckboxLabel}">
190
+ </kendo-checkbox>
193
191
  </ng-container>
194
192
  <ng-template #nonSelectableRow>
195
- <span class="k-checkbox-wrap" *ngIf="column.showDisabledCheckbox">
196
- <input
197
- class="k-checkbox k-checkbox-md k-rounded-md k-disabled"
198
- [kendoGridSelectionCheckbox]="rowIndex"
199
- [attr.id]="selectionCheckboxId"
200
- [attr.aria-label]="selectionCheckboxLabel"
201
- [disabled]="true" />
202
- </span>
193
+ <kendo-checkbox *ngIf="column.showDisabledCheckbox"
194
+ [kendoGridSelectionCheckbox]="rowIndex"
195
+ [attr.id]="selectionCheckboxId"
196
+ [inputAttributes]="{'aria-label': selectionCheckboxLabel}"
197
+ [disabled]="true"
198
+ ></kendo-checkbox>
203
199
  </ng-template>
204
200
  </ng-container>
205
201
  <ng-container *ngIf="isRowReorderColumn && !isNew">
@@ -239,27 +235,21 @@ export class CellComponent {
239
235
  kendoGridFocusable
240
236
  ></kendo-datepicker>
241
237
 
242
- <span class="k-checkbox-wrap">
243
- <input
244
- *ngSwitchCase="'boolean'"
245
- type="checkbox"
246
- class="k-checkbox k-checkbox-md k-rounded-md"
247
- [formControl]="$any(formGroup.get(column.field))"
248
- kendoGridFocusable
249
- />
250
- </span>
238
+ <kendo-checkbox
239
+ *ngSwitchCase="'boolean'"
240
+ [formControl]="$any(formGroup.get(column.field))"
241
+ kendoGridFocusable
242
+ ></kendo-checkbox>
251
243
 
252
- <input
244
+ <kendo-textbox
253
245
  *ngSwitchDefault
254
- type="text"
255
- class="k-textbox k-input k-input-md k-input-solid k-rounded-md"
256
246
  [formControl]="$any(formGroup.get(column.field))"
257
247
  kendoGridFocusable
258
- />
248
+ ></kendo-textbox>
259
249
  </ng-container>
260
250
  </ng-container>
261
251
  </ng-container>
262
- `, isInline: true, dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "directive", type: SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: 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: 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"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: FieldAccessorPipe, name: "valueOf" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
252
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "directive", type: SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: 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: 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"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: FieldAccessorPipe, name: "valueOf" }, { 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: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: 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"] }] });
263
253
  }
264
254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellComponent, decorators: [{
265
255
  type: Component,
@@ -281,23 +271,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
281
271
  <ng-container *ngIf="isBoundColumn">{{ dataItem | valueOf: column.field: column.format}}</ng-container>
282
272
  <ng-container *ngIf="isCheckboxColumn && !isNew">
283
273
  <ng-container *ngIf="isRowSelectable; else nonSelectableRow">
284
- <span class="k-checkbox-wrap">
285
- <input
286
- class="k-checkbox k-checkbox-md k-rounded-md"
287
- [kendoGridSelectionCheckbox]="rowIndex"
288
- [attr.id]="selectionCheckboxId"
289
- [attr.aria-label]="selectionCheckboxLabel" />
290
- </span>
274
+ <kendo-checkbox
275
+ [kendoGridSelectionCheckbox]="rowIndex"
276
+ [attr.id]="selectionCheckboxId"
277
+ [inputAttributes]="{'aria-label': selectionCheckboxLabel}">
278
+ </kendo-checkbox>
291
279
  </ng-container>
292
280
  <ng-template #nonSelectableRow>
293
- <span class="k-checkbox-wrap" *ngIf="column.showDisabledCheckbox">
294
- <input
295
- class="k-checkbox k-checkbox-md k-rounded-md k-disabled"
296
- [kendoGridSelectionCheckbox]="rowIndex"
297
- [attr.id]="selectionCheckboxId"
298
- [attr.aria-label]="selectionCheckboxLabel"
299
- [disabled]="true" />
300
- </span>
281
+ <kendo-checkbox *ngIf="column.showDisabledCheckbox"
282
+ [kendoGridSelectionCheckbox]="rowIndex"
283
+ [attr.id]="selectionCheckboxId"
284
+ [inputAttributes]="{'aria-label': selectionCheckboxLabel}"
285
+ [disabled]="true"
286
+ ></kendo-checkbox>
301
287
  </ng-template>
302
288
  </ng-container>
303
289
  <ng-container *ngIf="isRowReorderColumn && !isNew">
@@ -337,30 +323,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
337
323
  kendoGridFocusable
338
324
  ></kendo-datepicker>
339
325
 
340
- <span class="k-checkbox-wrap">
341
- <input
342
- *ngSwitchCase="'boolean'"
343
- type="checkbox"
344
- class="k-checkbox k-checkbox-md k-rounded-md"
345
- [formControl]="$any(formGroup.get(column.field))"
346
- kendoGridFocusable
347
- />
348
- </span>
326
+ <kendo-checkbox
327
+ *ngSwitchCase="'boolean'"
328
+ [formControl]="$any(formGroup.get(column.field))"
329
+ kendoGridFocusable
330
+ ></kendo-checkbox>
349
331
 
350
- <input
332
+ <kendo-textbox
351
333
  *ngSwitchDefault
352
- type="text"
353
- class="k-textbox k-input k-input-md k-input-solid k-rounded-md"
354
334
  [formControl]="$any(formGroup.get(column.field))"
355
335
  kendoGridFocusable
356
- />
336
+ ></kendo-textbox>
357
337
  </ng-container>
358
338
  </ng-container>
359
339
  </ng-container>
360
340
  `,
361
341
  standalone: true,
362
342
  imports: [NgSwitch, NgSwitchCase, NgIf, NgTemplateOutlet, NgFor, FocusableDirective, SelectionCheckboxDirective,
363
- IconWrapperComponent, NumericTextBoxComponent, DatePickerComponent, NgSwitchDefault, FieldAccessorPipe, ReactiveFormsModule]
343
+ IconWrapperComponent, NumericTextBoxComponent, DatePickerComponent, NgSwitchDefault, FieldAccessorPipe, ReactiveFormsModule, CheckBoxComponent, TextBoxComponent]
364
344
  }]
365
345
  }], ctorParameters: function () { return [{ type: i1.EditService }, { type: i2.IdService }, { type: i3.ContextService }, { type: undefined, decorators: [{
366
346
  type: Optional
@@ -68,7 +68,7 @@ export class FooterComponent {
68
68
  [totalColumns]="totalColumns"
69
69
  >
70
70
  <td
71
- class="k-table-td k-group-cell"
71
+ class="k-table-td k-group-cell k-table-group-td"
72
72
  role="presentation"
73
73
  *ngFor="let g of groups">
74
74
  </td>
@@ -118,7 +118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
118
118
  [totalColumns]="totalColumns"
119
119
  >
120
120
  <td
121
- class="k-table-td k-group-cell"
121
+ class="k-table-td k-group-cell k-table-group-td"
122
122
  role="presentation"
123
123
  *ngFor="let g of groups">
124
124
  </td>
@@ -41,6 +41,7 @@ import { LogicalCellDirective } from '../../navigation/logical-cell.directive';
41
41
  import { LogicalRowDirective } from '../../navigation/logical-row.directive';
42
42
  import { NgFor, NgIf, NgClass, NgStyle } from '@angular/common';
43
43
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
44
+ import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
44
45
  import * as i0 from "@angular/core";
45
46
  import * as i1 from "../../common/single-popup.service";
46
47
  import * as i2 from "../../dragdrop/drag-hint.service";
@@ -595,7 +596,7 @@ export class HeaderComponent {
595
596
  <ng-container *ngIf="!column.headerTemplateRef">
596
597
  <span class="k-column-title">{{column.displayTitle}}</span>
597
598
  </ng-container>
598
- <span class="k-sort-icon">
599
+ <span [class.k-sort-icon]="sortDescriptor(getColumnComponent(column).field).dir">
599
600
  <kendo-icon-wrapper
600
601
  *ngIf="sortDescriptor(getColumnComponent(column).field).dir"
601
602
  role="note" [attr.aria-label]="sortableLabel"
@@ -625,14 +626,12 @@ export class HeaderComponent {
625
626
  </ng-container>
626
627
 
627
628
  <ng-container *ngIf="isCheckboxColumn(column) && !column.headerTemplateRef && $any(column).showSelectAll">
628
- <span class="k-checkbox-wrap">
629
- <input
630
- class="k-checkbox k-checkbox-md k-rounded-md"
631
- [attr.id]="selectAllCheckboxId()"
632
- [attr.aria-label]="selectAllCheckboxLabel"
633
- kendoGridSelectAllCheckbox
634
- kendoGridFocusable>
635
- </span>
629
+ <kendo-checkbox
630
+ [attr.id]="selectAllCheckboxId()"
631
+ [inputAttributes]="{'aria-label': selectAllCheckboxLabel}"
632
+ kendoGridSelectAllCheckbox
633
+ kendoGridFocusable
634
+ ></kendo-checkbox>
636
635
  </ng-container>
637
636
  <span kendoGridColumnHandle
638
637
  kendoDraggable
@@ -713,7 +712,7 @@ export class HeaderComponent {
713
712
  [totalColumns]="totalColumns"
714
713
  ></tr>
715
714
  </ng-container>
716
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: ["column", "filter", "tabIndex"] }, { kind: "component", type: ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate", "tabIndex"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "directive", type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: ["columns", "column"] }, { kind: "component", type: FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: ["columns", "filter", "groups", "detailTemplate", "logicalRowIndex", "lockedColumnsCount"] }] });
715
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: ["column", "filter", "tabIndex"] }, { kind: "component", type: ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate", "tabIndex"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "directive", type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: ["columns", "column"] }, { kind: "component", type: FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: ["columns", "filter", "groups", "detailTemplate", "logicalRowIndex", "lockedColumnsCount"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }] });
717
716
  }
718
717
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, decorators: [{
719
718
  type: Component,
@@ -822,7 +821,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
822
821
  <ng-container *ngIf="!column.headerTemplateRef">
823
822
  <span class="k-column-title">{{column.displayTitle}}</span>
824
823
  </ng-container>
825
- <span class="k-sort-icon">
824
+ <span [class.k-sort-icon]="sortDescriptor(getColumnComponent(column).field).dir">
826
825
  <kendo-icon-wrapper
827
826
  *ngIf="sortDescriptor(getColumnComponent(column).field).dir"
828
827
  role="note" [attr.aria-label]="sortableLabel"
@@ -852,14 +851,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
852
851
  </ng-container>
853
852
 
854
853
  <ng-container *ngIf="isCheckboxColumn(column) && !column.headerTemplateRef && $any(column).showSelectAll">
855
- <span class="k-checkbox-wrap">
856
- <input
857
- class="k-checkbox k-checkbox-md k-rounded-md"
858
- [attr.id]="selectAllCheckboxId()"
859
- [attr.aria-label]="selectAllCheckboxLabel"
860
- kendoGridSelectAllCheckbox
861
- kendoGridFocusable>
862
- </span>
854
+ <kendo-checkbox
855
+ [attr.id]="selectAllCheckboxId()"
856
+ [inputAttributes]="{'aria-label': selectAllCheckboxLabel}"
857
+ kendoGridSelectAllCheckbox
858
+ kendoGridFocusable
859
+ ></kendo-checkbox>
863
860
  </ng-container>
864
861
  <span kendoGridColumnHandle
865
862
  kendoDraggable
@@ -945,7 +942,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
945
942
  imports: [
946
943
  NgFor, LogicalRowDirective, NgIf, LogicalCellDirective, DropTargetDirective, DraggableDirective, DraggableColumnDirective,
947
944
  NgClass, NgStyle, TemplateContextDirective, FilterMenuComponent, ColumnMenuComponent, IconWrapperComponent, SelectAllCheckboxDirective,
948
- FocusableDirective, ColumnHandleDirective, FilterRowComponent
945
+ FocusableDirective, ColumnHandleDirective, FilterRowComponent, CheckBoxComponent
949
946
  ]
950
947
  }]
951
948
  }], ctorParameters: function () { return [{ type: i1.SinglePopupService }, { type: i2.DragHintService }, { type: i3.DropCueService }, { type: i4.ColumnReorderService }, { type: i5.IdService }, { type: i6.SortService }, { type: i7.ColumnInfoService }, { type: i0.ChangeDetectorRef }, { type: i8.ContextService }, { type: i9.NavigationService }, { type: i0.NgZone }]; }, propDecorators: { totalColumnLevels: [{
@@ -126,7 +126,7 @@ export class HeaderModule {
126
126
  MonthViewService,
127
127
  YearViewService,
128
128
  NavigationService
129
- ], imports: [i4.GroupHeaderComponent, i5.GroupPanelComponent, i9.StringFilterCellComponent, i10.NumericFilterCellComponent, i11.AutoCompleteFilterCellComponent, i12.BooleanFilterCellComponent, i14.FilterCellWrapperComponent, i15.DateFilterCellComponent, i30.FilterCellOperatorsComponent, i30.FilterCellOperatorsComponent, i50.FilterMenuComponent, i51.FilterMenuContainerComponent, i52.FilterMenuInputWrapperComponent, i53.StringFilterMenuInputComponent, i54.StringFilterMenuComponent, i56.NumericFilterMenuComponent, i57.NumericFilterMenuInputComponent, i58.DateFilterMenuInputComponent, i59.DateFilterMenuComponent, i68.ColumnChooserComponent, i69.ColumnMenuChooserComponent, i70.ColumnMenuFilterComponent, i71.ColumnMenuItemComponent, i73.ColumnMenuSortComponent, i74.ColumnMenuComponent, i75.ColumnMenuLockComponent, i79.ColumnMenuStickComponent, i80.ColumnMenuPositionComponent, i81.ColumnMenuAutoSizeColumnComponent, i82.ColumnMenuAutoSizeAllColumnsComponent, i83.HeaderComponent] });
129
+ ], imports: [i4.GroupHeaderComponent, i5.GroupPanelComponent, i9.StringFilterCellComponent, i10.NumericFilterCellComponent, i11.AutoCompleteFilterCellComponent, i12.BooleanFilterCellComponent, i14.FilterCellWrapperComponent, i15.DateFilterCellComponent, i30.FilterCellOperatorsComponent, i30.FilterCellOperatorsComponent, i50.FilterMenuComponent, i51.FilterMenuContainerComponent, i52.FilterMenuInputWrapperComponent, i53.StringFilterMenuInputComponent, i54.StringFilterMenuComponent, i56.NumericFilterMenuComponent, i57.NumericFilterMenuInputComponent, i58.DateFilterMenuInputComponent, i59.DateFilterMenuComponent, i61.BooleanFilterMenuComponent, i67.ColumnListComponent, i68.ColumnChooserComponent, i69.ColumnMenuChooserComponent, i70.ColumnMenuFilterComponent, i71.ColumnMenuItemComponent, i73.ColumnMenuSortComponent, i74.ColumnMenuComponent, i75.ColumnMenuLockComponent, i79.ColumnMenuStickComponent, i80.ColumnMenuPositionComponent, i81.ColumnMenuAutoSizeColumnComponent, i82.ColumnMenuAutoSizeAllColumnsComponent, i83.HeaderComponent] });
130
130
  }
131
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderModule, decorators: [{
132
132
  type: NgModule,
@@ -669,7 +669,7 @@ export class ListComponent {
669
669
  }"
670
670
  [scope]="this"
671
671
  >
672
- <div role="presentation" class="k-grid-table-wrap">
672
+ <div role="presentation">
673
673
  <table
674
674
  kendoGridResizableTable
675
675
  [locked]="true"
@@ -718,7 +718,7 @@ export class ListComponent {
718
718
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
719
719
  [lockedWidth]="lockedWidth + 1"
720
720
  >
721
- <div role="presentation" class="k-grid-table-wrap">
721
+ <div role="presentation">
722
722
  <table
723
723
  [style.width.px]="nonLockedWidth"
724
724
  #table
@@ -792,7 +792,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
792
792
  }"
793
793
  [scope]="this"
794
794
  >
795
- <div role="presentation" class="k-grid-table-wrap">
795
+ <div role="presentation">
796
796
  <table
797
797
  kendoGridResizableTable
798
798
  [locked]="true"
@@ -841,7 +841,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
841
841
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
842
842
  [lockedWidth]="lockedWidth + 1"
843
843
  >
844
- <div role="presentation" class="k-grid-table-wrap">
844
+ <div role="presentation">
845
845
  <table
846
846
  [style.width.px]="nonLockedWidth"
847
847
  #table
@@ -453,7 +453,7 @@ export class TableBodyComponent {
453
453
  [logicalSlaveCellsCount]="unlockedColumnsCount()"
454
454
  [totalColumns]="totalColumns">
455
455
  <ng-container *ngIf="!skipGroupDecoration">
456
- <td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
456
+ <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups" role="presentation"></td>
457
457
  </ng-container>
458
458
  <td class="k-hierarchy-cell k-table-td"
459
459
  *ngIf="detailTemplate?.templateRef"
@@ -530,12 +530,13 @@ export class TableBodyComponent {
530
530
  [class.k-grid-row-sticky]="rowSticky ? rowSticky({ dataItem: item.data, index: $any(item).index }) : false"
531
531
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
532
532
  [class.k-master-row]="true"
533
+ [class.k-expanded]="isDataItem(item) && isExpanded(item)"
533
534
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
534
535
  [attr.aria-selected]="lockedColumnsCount < 1 ? isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) : undefined"
535
536
  [attr.data-kendo-grid-item-index]="$any(item).index"
536
537
  [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)">
537
538
  <ng-container *ngIf="!skipGroupDecoration">
538
- <td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
539
+ <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups" role="presentation"></td>
539
540
  </ng-container>
540
541
  <td class="k-hierarchy-cell k-table-td"
541
542
  *ngIf="detailTemplate?.templateRef"
@@ -579,7 +580,6 @@ export class TableBodyComponent {
579
580
  [attr.aria-selected]="lockedColumnsCount < 1 && isSelectable({ dataItem: item.data, index: $any(item).index }) ? isAriaSelected(item, column) : undefined"
580
581
  [class.k-grid-content-sticky]="column.sticky"
581
582
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag"
582
- [class.k-touch-action-auto]="!(isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag)"
583
583
  [ngClass]="column.cssClass"
584
584
  [class.k-grid-edit-cell]="isEditingCell($any(item).index, column)"
585
585
  [ngStyle]="column.sticky ? addStickyColumnStyles(column) : column.style"
@@ -594,7 +594,6 @@ export class TableBodyComponent {
594
594
  detailTemplate.showIf(item.data, $any(item).index) &&
595
595
  isExpanded(item)"
596
596
  class="k-detail-row"
597
- [class.k-alt]="isOdd(item)"
598
597
  kendoGridLogicalRow
599
598
  [dataRowIndex]="$any(item).index"
600
599
  [dataItem]="item.data"
@@ -602,7 +601,7 @@ export class TableBodyComponent {
602
601
  [logicalSlaveRow]="false"
603
602
  [logicalCellsCount]="1"
604
603
  >
605
- <td class="k-group-cell k-table-td" *ngFor="let g of groups"></td>
604
+ <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups"></td>
606
605
  <td class="k-hierarchy-cell k-table-td"></td>
607
606
  <td class="k-detail-cell k-table-td"
608
607
  [attr.colspan]="columnsSpan"
@@ -637,7 +636,7 @@ export class TableBodyComponent {
637
636
  [logicalCellsCount]="columns.length"
638
637
  [logicalSlaveCellsCount]="unlockedColumnsCount(item)">
639
638
  <ng-container *ngIf="!skipGroupDecoration">
640
- <td class="k-group-cell k-table-td" *ngFor="let g of groups"></td>
639
+ <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups"></td>
641
640
  </ng-container>
642
641
  <td class="k-hierarchy-cell k-table-td"
643
642
  *ngIf="detailTemplate?.templateRef"
@@ -683,7 +682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
683
682
  [logicalSlaveCellsCount]="unlockedColumnsCount()"
684
683
  [totalColumns]="totalColumns">
685
684
  <ng-container *ngIf="!skipGroupDecoration">
686
- <td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
685
+ <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups" role="presentation"></td>
687
686
  </ng-container>
688
687
  <td class="k-hierarchy-cell k-table-td"
689
688
  *ngIf="detailTemplate?.templateRef"
@@ -760,12 +759,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
760
759
  [class.k-grid-row-sticky]="rowSticky ? rowSticky({ dataItem: item.data, index: $any(item).index }) : false"
761
760
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
762
761
  [class.k-master-row]="true"
762
+ [class.k-expanded]="isDataItem(item) && isExpanded(item)"
763
763
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
764
764
  [attr.aria-selected]="lockedColumnsCount < 1 ? isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) : undefined"
765
765
  [attr.data-kendo-grid-item-index]="$any(item).index"
766
766
  [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)">
767
767
  <ng-container *ngIf="!skipGroupDecoration">
768
- <td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
768
+ <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups" role="presentation"></td>
769
769
  </ng-container>
770
770
  <td class="k-hierarchy-cell k-table-td"
771
771
  *ngIf="detailTemplate?.templateRef"
@@ -809,7 +809,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
809
809
  [attr.aria-selected]="lockedColumnsCount < 1 && isSelectable({ dataItem: item.data, index: $any(item).index }) ? isAriaSelected(item, column) : undefined"
810
810
  [class.k-grid-content-sticky]="column.sticky"
811
811
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag"
812
- [class.k-touch-action-auto]="!(isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag)"
813
812
  [ngClass]="column.cssClass"
814
813
  [class.k-grid-edit-cell]="isEditingCell($any(item).index, column)"
815
814
  [ngStyle]="column.sticky ? addStickyColumnStyles(column) : column.style"
@@ -824,7 +823,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
824
823
  detailTemplate.showIf(item.data, $any(item).index) &&
825
824
  isExpanded(item)"
826
825
  class="k-detail-row"
827
- [class.k-alt]="isOdd(item)"
828
826
  kendoGridLogicalRow
829
827
  [dataRowIndex]="$any(item).index"
830
828
  [dataItem]="item.data"
@@ -832,7 +830,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
832
830
  [logicalSlaveRow]="false"
833
831
  [logicalCellsCount]="1"
834
832
  >
835
- <td class="k-group-cell k-table-td" *ngFor="let g of groups"></td>
833
+ <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups"></td>
836
834
  <td class="k-hierarchy-cell k-table-td"></td>
837
835
  <td class="k-detail-cell k-table-td"
838
836
  [attr.colspan]="columnsSpan"
@@ -867,7 +865,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
867
865
  [logicalCellsCount]="columns.length"
868
866
  [logicalSlaveCellsCount]="unlockedColumnsCount(item)">
869
867
  <ng-container *ngIf="!skipGroupDecoration">
870
- <td class="k-group-cell k-table-td" *ngFor="let g of groups"></td>
868
+ <td class="k-group-cell k-table-td k-table-group-td" *ngFor="let g of groups"></td>
871
869
  </ng-container>
872
870
  <td class="k-hierarchy-cell k-table-td"
873
871
  *ngIf="detailTemplate?.templateRef"
@@ -2,14 +2,16 @@
2
2
  * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Directive, HostBinding, Renderer2, ElementRef, Input, Output, EventEmitter, NgZone } from '@angular/core';
5
+ import { Directive, Input, Output, EventEmitter, NgZone, Host, Optional } from '@angular/core';
6
6
  import { SelectionService } from './selection.service';
7
7
  import { isPresent } from '../utils';
8
8
  import { hasObservers } from '@progress/kendo-angular-common';
9
9
  import { CellSelectionService } from './cell-selection.service';
10
+ import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "./selection.service";
12
13
  import * as i2 from "./cell-selection.service";
14
+ import * as i3 from "@progress/kendo-angular-inputs";
13
15
  /**
14
16
  * Represents the select-all checkbox feature of the Grid ([see example](slug:grid_selection_persistence#toc-selecting-all-items)).
15
17
  *
@@ -27,9 +29,8 @@ import * as i2 from "./cell-selection.service";
27
29
  export class SelectAllCheckboxDirective {
28
30
  selectionService;
29
31
  cellSelectionService;
30
- el;
31
- renderer;
32
32
  ngZone;
33
+ checkbox;
33
34
  /**
34
35
  * Explicitly overrides the state of the select-all checkbox.
35
36
  */
@@ -39,7 +40,6 @@ export class SelectAllCheckboxDirective {
39
40
  * ([see example](slug:grid_row_selection#toc-select-all-checkbox)).
40
41
  */
41
42
  selectAllChange = new EventEmitter();
42
- type = 'checkbox';
43
43
  destroyClick;
44
44
  stateSet = false;
45
45
  ngAfterContentChecked() {
@@ -48,28 +48,27 @@ export class SelectAllCheckboxDirective {
48
48
  ngOnChanges() {
49
49
  this.stateSet = true;
50
50
  }
51
- constructor(selectionService, cellSelectionService, el, renderer, ngZone) {
51
+ constructor(selectionService, cellSelectionService, ngZone, checkbox) {
52
52
  this.selectionService = selectionService;
53
53
  this.cellSelectionService = cellSelectionService;
54
- this.el = el;
55
- this.renderer = renderer;
56
54
  this.ngZone = ngZone;
55
+ this.checkbox = checkbox;
57
56
  this.ngZone.runOutsideAngular(() => {
58
- this.destroyClick = this.renderer.listen(this.el.nativeElement, 'click', this.onClick.bind(this));
57
+ this.destroyClick = this.checkbox.checkedStateChange.subscribe(this.onClick.bind(this));
59
58
  });
60
59
  }
61
60
  ngOnDestroy() {
62
61
  if (this.destroyClick) {
63
- this.destroyClick();
62
+ this.destroyClick.unsubscribe();
64
63
  }
65
64
  }
66
65
  /**
67
66
  * @hidden
68
67
  */
69
68
  onClick() {
70
- const uncheckedState = this.el.nativeElement.indeterminate ? 'indeterminate' : 'unchecked';
71
- const checkboxState = this.el.nativeElement.checked ? 'checked' : uncheckedState;
72
- const isChecked = this.selectionService.hasNonSelectable ? !this.selectionService.selectAllChecked : this.el.nativeElement.checked;
69
+ const uncheckedState = this.checkbox.checkedState === 'indeterminate' ? 'indeterminate' : 'unchecked';
70
+ const checkboxState = this.checkbox.checkedState ? 'checked' : uncheckedState;
71
+ const isChecked = this.selectionService.hasNonSelectable ? !this.selectionService.selectAllChecked : this.checkbox.checkedState === true;
73
72
  const options = this.selectionService.options;
74
73
  const enabledAndMultiple = options.enabled && options.mode === 'multiple' && !this.cellSelectionService.active;
75
74
  const shouldEmitSelectAll = hasObservers(this.selectAllChange);
@@ -89,9 +88,7 @@ export class SelectAllCheckboxDirective {
89
88
  */
90
89
  setState() {
91
90
  const state = this.stateSet ? this.stateToBool() : this.selectionService.selectAllState;
92
- const elem = this.el.nativeElement;
93
- this.renderer.setProperty(elem, 'indeterminate', !isPresent(state));
94
- this.renderer.setProperty(elem, 'checked', isPresent(state) ? state : false);
91
+ this.checkbox.checkedState = isPresent(state) ? state : 'indeterminate';
95
92
  }
96
93
  /**
97
94
  * @hidden
@@ -106,8 +103,8 @@ export class SelectAllCheckboxDirective {
106
103
  return undefined;
107
104
  }
108
105
  }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectAllCheckboxDirective, deps: [{ token: i1.SelectionService }, { token: i2.CellSelectionService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
110
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SelectAllCheckboxDirective, isStandalone: true, selector: "[kendoGridSelectAllCheckbox]", inputs: { state: "state" }, outputs: { selectAllChange: "selectAllChange" }, host: { properties: { "attr.type": "this.type" } }, usesOnChanges: true, ngImport: i0 });
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectAllCheckboxDirective, deps: [{ token: i1.SelectionService }, { token: i2.CellSelectionService }, { token: i0.NgZone }, { token: i3.CheckBoxComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
107
+ 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 });
111
108
  }
112
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectAllCheckboxDirective, decorators: [{
113
110
  type: Directive,
@@ -115,11 +112,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
115
112
  selector: '[kendoGridSelectAllCheckbox]',
116
113
  standalone: true
117
114
  }]
118
- }], ctorParameters: function () { return [{ type: i1.SelectionService }, { type: i2.CellSelectionService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { state: [{
115
+ }], ctorParameters: function () { return [{ type: i1.SelectionService }, { type: i2.CellSelectionService }, { type: i0.NgZone }, { type: i3.CheckBoxComponent, decorators: [{
116
+ type: Host
117
+ }, {
118
+ type: Optional
119
+ }] }]; }, propDecorators: { state: [{
119
120
  type: Input
120
121
  }], selectAllChange: [{
121
122
  type: Output
122
- }], type: [{
123
- type: HostBinding,
124
- args: ['attr.type']
125
123
  }] } });