@progress/kendo-angular-grid 17.3.0-develop.1 → 18.0.0-develop.1

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.
@@ -55,6 +55,7 @@ export declare class ColumnListComponent implements OnInit, OnDestroy {
55
55
  private updateDisabled;
56
56
  private updateColumnState;
57
57
  private setDisabledState;
58
+ private handleCheckBoxClick;
58
59
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnListComponent, never>;
59
60
  static ɵcmp: i0.ɵɵComponentDeclaration<ColumnListComponent, "kendo-grid-columnlist", never, { "columns": { "alias": "columns"; "required": false; }; "autoSync": { "alias": "autoSync"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "allowHideAll": { "alias": "allowHideAll"; "required": false; }; "applyText": { "alias": "applyText"; "required": false; }; "resetText": { "alias": "resetText"; "required": false; }; "actionsClass": { "alias": "actionsClass"; "required": false; }; "isLast": { "alias": "isLast"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "service": { "alias": "service"; "required": false; }; }, { "reset": "reset"; "apply": "apply"; "columnChange": "columnChange"; }, never, never, true, never>;
60
61
  }
@@ -25,7 +25,6 @@ export declare class DraggableColumnDirective implements OnInit, OnDestroy {
25
25
  context: DragAndDropContext;
26
26
  set enableDrag(enabled: boolean);
27
27
  drag: EventEmitter<any>;
28
- get hostClass(): boolean;
29
28
  private subscriptions;
30
29
  private enabled;
31
30
  constructor(draggable: DraggableDirective, element: ElementRef, zone: NgZone, service: DragAndDropService, hint: DragHintService, cue: DropCueService, nav: NavigationService, renderer: Renderer2);
@@ -72,33 +72,7 @@ export class ColumnListComponent {
72
72
  this.ngZone.runOutsideAngular(() => {
73
73
  this.domSubscriptions.add(this.renderer.listen(this.element.nativeElement, 'click', (e) => {
74
74
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
75
- const closestItem = e.target.closest('.k-column-list-item');
76
- if (closestItem) {
77
- const checkboxElement = closestItem.querySelector('.k-checkbox-wrap');
78
- const checkbox = this.checkboxes.find(checkBox => checkBox.hostElement.nativeElement === checkboxElement);
79
- const index = parseInt(checkboxElement.firstElementChild.getAttribute('data-index'), 10);
80
- if (this.autoSync) {
81
- if (!this.columns[index]) {
82
- return;
83
- }
84
- const column = this.columns[index];
85
- const hidden = !checkbox.checkedState;
86
- if (Boolean(column.hidden) !== hidden) {
87
- this.ngZone.run(() => {
88
- column.hidden = hidden;
89
- this.columnChange.emit([column]);
90
- });
91
- }
92
- }
93
- else {
94
- this.updateDisabled();
95
- }
96
- if (index !== this.listNavigationService.activeIndex) {
97
- this.listNavigationService.toggle(this.listNavigationService.activeIndex, false);
98
- this.listNavigationService.activeIndex = index;
99
- this.listNavigationService.toggle(index, true);
100
- }
101
- }
75
+ this.handleCheckBoxClick(e);
102
76
  });
103
77
  }));
104
78
  this.domSubscriptions.add(this.renderer.listen(this.element.nativeElement, 'keydown', this.onKeydown));
@@ -217,6 +191,35 @@ export class ColumnListComponent {
217
191
  this.renderer[classCommand](parentElement, 'k-disabled');
218
192
  this.renderer[attributeCommand](parentElement, 'aria-disabled', disabled ? 'true' : undefined);
219
193
  }
194
+ handleCheckBoxClick = (e) => {
195
+ const closestItem = e.target.closest('.k-column-list-item');
196
+ if (closestItem) {
197
+ const checkboxElement = closestItem.querySelector('.k-checkbox-wrap');
198
+ const checkbox = this.checkboxes.find(checkBox => checkBox.hostElement.nativeElement === checkboxElement);
199
+ const index = parseInt(checkboxElement.firstElementChild.getAttribute('data-index'), 10);
200
+ if (this.autoSync) {
201
+ if (!this.columns[index]) {
202
+ return;
203
+ }
204
+ const column = this.columns[index];
205
+ const hidden = !checkbox.checkedState;
206
+ if (Boolean(column.hidden) !== hidden) {
207
+ this.ngZone.run(() => {
208
+ column.hidden = hidden;
209
+ this.columnChange.emit([column]);
210
+ });
211
+ }
212
+ }
213
+ else {
214
+ this.updateDisabled();
215
+ }
216
+ if (index !== this.listNavigationService.activeIndex) {
217
+ this.listNavigationService.toggle(this.listNavigationService.activeIndex, false);
218
+ this.listNavigationService.activeIndex = index;
219
+ this.listNavigationService.toggle(index, true);
220
+ }
221
+ }
222
+ };
220
223
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnListComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ColumnListKeyboardNavigation }], target: i0.ɵɵFactoryTarget.Component });
221
224
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnListComponent, isStandalone: true, selector: "kendo-grid-columnlist", inputs: { columns: "columns", autoSync: "autoSync", ariaLabel: "ariaLabel", allowHideAll: "allowHideAll", applyText: "applyText", resetText: "resetText", actionsClass: "actionsClass", isLast: "isLast", isExpanded: "isExpanded", service: "service" }, outputs: { reset: "reset", apply: "apply", columnChange: "columnChange" }, host: { properties: { "class.k-column-list-wrapper": "this.className" } }, providers: [ColumnListKeyboardNavigation], viewQueries: [{ propertyName: "resetButton", first: true, predicate: ["resetButton"], descendants: true }, { propertyName: "applyButton", first: true, predicate: ["applyButton"], descendants: true }, { propertyName: "options", predicate: ColumnMenuChooserItemCheckedDirective, descendants: true }, { propertyName: "checkboxes", predicate: CheckBoxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
222
225
  <div
@@ -512,7 +512,7 @@ export class ColumnMenuComponent {
512
512
  </kendo-tabstrip-tab>
513
513
  </kendo-tabstrip>
514
514
  </ng-template>
515
- `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { kind: "directive", type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { kind: "component", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { kind: "component", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { kind: "component", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabTitleDirective, selector: "[kendoTabTitle]" }, { kind: "directive", type: TabContentDirective, selector: "[kendoTabContent]" }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
515
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { kind: "directive", type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { kind: "component", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { kind: "component", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { kind: "component", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "size", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabTitleDirective, selector: "[kendoTabTitle]" }, { kind: "directive", type: TabContentDirective, selector: "[kendoTabContent]" }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
516
516
  }
517
517
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuComponent, decorators: [{
518
518
  type: Component,
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Directive, ElementRef, EventEmitter, Host, Input, NgZone, Output, Renderer2, HostBinding } from '@angular/core';
5
+ import { Directive, ElementRef, EventEmitter, Host, Input, NgZone, Output, Renderer2 } from '@angular/core';
6
6
  import { Subscription, of } from 'rxjs';
7
7
  import { DraggableDirective, isDocumentAvailable } from '@progress/kendo-angular-common';
8
8
  import { DragAndDropService } from './drag-and-drop.service';
@@ -51,9 +51,6 @@ export class DraggableColumnDirective {
51
51
  this.updateTouchAction();
52
52
  }
53
53
  drag = new EventEmitter();
54
- get hostClass() {
55
- return this.enabled;
56
- }
57
54
  subscriptions = new Subscription();
58
55
  enabled;
59
56
  constructor(draggable, element, zone, service, hint, cue, nav, renderer) {
@@ -121,7 +118,7 @@ export class DraggableColumnDirective {
121
118
  this.renderer.removeClass(this.element.nativeElement, 'k-touch-action-none');
122
119
  }
123
120
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DraggableColumnDirective, deps: [{ token: i1.DraggableDirective, host: true }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i2.DragAndDropService }, { token: i3.DragHintService }, { token: i4.DropCueService }, { token: i5.NavigationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
124
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DraggableColumnDirective, isStandalone: true, selector: "[kendoDraggableColumn]", inputs: { context: "context", enableDrag: "enableDrag" }, outputs: { drag: "drag" }, host: { properties: { "class.k-grid-draggable-header": "this.hostClass" } }, ngImport: i0 });
121
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DraggableColumnDirective, isStandalone: true, selector: "[kendoDraggableColumn]", inputs: { context: "context", enableDrag: "enableDrag" }, outputs: { drag: "drag" }, ngImport: i0 });
125
122
  }
126
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DraggableColumnDirective, decorators: [{
127
124
  type: Directive,
@@ -137,7 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
137
134
  type: Input
138
135
  }], drag: [{
139
136
  type: Output
140
- }], hostClass: [{
141
- type: HostBinding,
142
- args: ['class.k-grid-draggable-header']
143
137
  }] } });
@@ -24,7 +24,9 @@ export class LocalEditService {
24
24
  this.dataChanged();
25
25
  }
26
26
  // eslint-disable-next-line @typescript-eslint/no-empty-function
27
- update(_item) { }
27
+ update(_item) {
28
+ /* noop */
29
+ }
28
30
  remove(item) {
29
31
  const data = this.data;
30
32
  for (let idx = 0; idx < data.length; idx++) {
@@ -2527,6 +2527,7 @@ export class GridComponent {
2527
2527
  <ng-container *ngIf="isScrollable">
2528
2528
  <div *ngIf="!hideHeader"
2529
2529
  class="k-grid-header"
2530
+ [class.k-grid-draggable-header]="groupable || reorderable"
2530
2531
  role="presentation"
2531
2532
  [style.padding]="headerPadding">
2532
2533
  <div *ngIf="isLocked"
@@ -3233,6 +3234,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3233
3234
  <ng-container *ngIf="isScrollable">
3234
3235
  <div *ngIf="!hideHeader"
3235
3236
  class="k-grid-header"
3237
+ [class.k-grid-draggable-header]="groupable || reorderable"
3236
3238
  role="presentation"
3237
3239
  [style.padding]="headerPadding">
3238
3240
  <div *ngIf="isLocked"
@@ -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: 1736179371,
13
- version: '17.3.0-develop.1',
12
+ publishDate: 1736249922,
13
+ version: '18.0.0-develop.1',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -111,9 +111,6 @@ export class HeaderComponent {
111
111
  tabIndex;
112
112
  size = 'medium';
113
113
  sortedFields = {};
114
- get headerClass() {
115
- return !this.scrollable;
116
- }
117
114
  hostClass = true;
118
115
  get sortableLabel() {
119
116
  return this.contextService.localization.get('sortable');
@@ -493,7 +490,7 @@ export class HeaderComponent {
493
490
  });
494
491
  }
495
492
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.SinglePopupService }, { token: i2.DragHintService }, { token: i3.DropCueService }, { token: i4.ColumnReorderService }, { token: i5.IdService }, { token: i6.SortService }, { token: i7.ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: i8.ContextService }, { token: i9.NavigationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
496
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderComponent, isStandalone: true, selector: "[kendoGridHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", groupable: "groupable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", totalColumns: "totalColumns", tabIndex: "tabIndex", size: "size" }, host: { properties: { "class.k-grid-header": "this.headerClass", "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }, { propertyName: "filterMenus", predicate: FilterMenuComponent, descendants: true }, { propertyName: "columnMenus", predicate: ColumnMenuComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
493
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderComponent, isStandalone: true, selector: "[kendoGridHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", groupable: "groupable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", totalColumns: "totalColumns", tabIndex: "tabIndex", size: "size" }, host: { properties: { "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }, { propertyName: "filterMenus", predicate: FilterMenuComponent, descendants: true }, { propertyName: "columnMenus", predicate: ColumnMenuComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
497
494
  <ng-container>
498
495
  <tr *ngFor="let i of columnLevels; let levelIndex = index"
499
496
  kendoGridLogicalRow
@@ -983,9 +980,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
983
980
  type: Input
984
981
  }], size: [{
985
982
  type: Input
986
- }], headerClass: [{
987
- type: HostBinding,
988
- args: ['class.k-grid-header']
989
983
  }], hostClass: [{
990
984
  type: HostBinding,
991
985
  args: ['class.k-table-thead']
@@ -708,7 +708,7 @@ export class ListComponent {
708
708
  </table>
709
709
  <kendo-resize-sensor></kendo-resize-sensor>
710
710
  </div>
711
- <div class="k-height-container" role="presentation">
711
+ <div *ngIf="isVirtual" class="k-height-container" role="presentation">
712
712
  <div [style.height.px]="totalHeight"></div>
713
713
  </div>
714
714
  </div>
@@ -762,7 +762,7 @@ export class ListComponent {
762
762
  <kendo-resize-sensor *ngIf="isLocked"></kendo-resize-sensor>
763
763
  </div>
764
764
  <kendo-resize-sensor *ngIf="isLocked || virtualColumns"></kendo-resize-sensor>
765
- <div class="k-height-container" role="presentation">
765
+ <div *ngIf="isVirtual" class="k-height-container" role="presentation">
766
766
  <div [style.height.px]="totalHeight"></div>
767
767
  </div>
768
768
  <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
@@ -831,7 +831,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
831
831
  </table>
832
832
  <kendo-resize-sensor></kendo-resize-sensor>
833
833
  </div>
834
- <div class="k-height-container" role="presentation">
834
+ <div *ngIf="isVirtual" class="k-height-container" role="presentation">
835
835
  <div [style.height.px]="totalHeight"></div>
836
836
  </div>
837
837
  </div>
@@ -885,7 +885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
885
885
  <kendo-resize-sensor *ngIf="isLocked"></kendo-resize-sensor>
886
886
  </div>
887
887
  <kendo-resize-sensor *ngIf="isLocked || virtualColumns"></kendo-resize-sensor>
888
- <div class="k-height-container" role="presentation">
888
+ <div *ngIf="isVirtual" class="k-height-container" role="presentation">
889
889
  <div [style.height.px]="totalHeight"></div>
890
890
  </div>
891
891
  <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
@@ -526,7 +526,7 @@ export class TableBodyComponent {
526
526
  [totalColumns]="totalColumns"
527
527
  [logicalCellsCount]="columns.length"
528
528
  [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
529
- class="{{ isOdd(item) ? 'k-alt k-table-alt-row' : ''}}"
529
+ class="{{ isOdd(item) ? 'k-table-alt-row' : ''}}"
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"
@@ -755,7 +755,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
755
755
  [totalColumns]="totalColumns"
756
756
  [logicalCellsCount]="columns.length"
757
757
  [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
758
- class="{{ isOdd(item) ? 'k-alt k-table-alt-row' : ''}}"
758
+ class="{{ isOdd(item) ? 'k-table-alt-row' : ''}}"
759
759
  [class.k-grid-row-sticky]="rowSticky ? rowSticky({ dataItem: item.data, index: $any(item).index }) : false"
760
760
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
761
761
  [class.k-master-row]="true"
@@ -3,7 +3,7 @@
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, Host, Output, HostBinding, isDevMode, QueryList, Component, ContentChildren, ContentChild, forwardRef, Pipe, TemplateRef, ChangeDetectionStrategy, ViewChildren, ViewChild, Self, NgZone, HostListener, ViewEncapsulation, NgModule } from '@angular/core';
6
+ import { EventEmitter, Injectable, SecurityContext, InjectionToken, Optional, Inject, Directive, SkipSelf, Input, Host, Output, isDevMode, QueryList, Component, ContentChildren, ContentChild, forwardRef, HostBinding, Pipe, TemplateRef, ChangeDetectionStrategy, ViewChildren, ViewChild, Self, NgZone, HostListener, ViewEncapsulation, NgModule } from '@angular/core';
7
7
  import { merge, of, Subject, from, Subscription, interval, fromEvent, Observable, zip as zip$1, 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';
@@ -2512,9 +2512,6 @@ class DraggableColumnDirective {
2512
2512
  this.updateTouchAction();
2513
2513
  }
2514
2514
  drag = new EventEmitter();
2515
- get hostClass() {
2516
- return this.enabled;
2517
- }
2518
2515
  subscriptions = new Subscription();
2519
2516
  enabled;
2520
2517
  constructor(draggable, element, zone, service, hint, cue, nav, renderer) {
@@ -2582,7 +2579,7 @@ class DraggableColumnDirective {
2582
2579
  this.renderer.removeClass(this.element.nativeElement, 'k-touch-action-none');
2583
2580
  }
2584
2581
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DraggableColumnDirective, deps: [{ token: i1$3.DraggableDirective, host: true }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: DragAndDropService }, { token: DragHintService }, { token: DropCueService }, { token: NavigationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2585
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DraggableColumnDirective, isStandalone: true, selector: "[kendoDraggableColumn]", inputs: { context: "context", enableDrag: "enableDrag" }, outputs: { drag: "drag" }, host: { properties: { "class.k-grid-draggable-header": "this.hostClass" } }, ngImport: i0 });
2582
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DraggableColumnDirective, isStandalone: true, selector: "[kendoDraggableColumn]", inputs: { context: "context", enableDrag: "enableDrag" }, outputs: { drag: "drag" }, ngImport: i0 });
2586
2583
  }
2587
2584
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DraggableColumnDirective, decorators: [{
2588
2585
  type: Directive,
@@ -2598,9 +2595,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2598
2595
  type: Input
2599
2596
  }], drag: [{
2600
2597
  type: Output
2601
- }], hostClass: [{
2602
- type: HostBinding,
2603
- args: ['class.k-grid-draggable-header']
2604
2598
  }] } });
2605
2599
 
2606
2600
  /**
@@ -10793,33 +10787,7 @@ class ColumnListComponent {
10793
10787
  this.ngZone.runOutsideAngular(() => {
10794
10788
  this.domSubscriptions.add(this.renderer.listen(this.element.nativeElement, 'click', (e) => {
10795
10789
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
10796
- const closestItem = e.target.closest('.k-column-list-item');
10797
- if (closestItem) {
10798
- const checkboxElement = closestItem.querySelector('.k-checkbox-wrap');
10799
- const checkbox = this.checkboxes.find(checkBox => checkBox.hostElement.nativeElement === checkboxElement);
10800
- const index = parseInt(checkboxElement.firstElementChild.getAttribute('data-index'), 10);
10801
- if (this.autoSync) {
10802
- if (!this.columns[index]) {
10803
- return;
10804
- }
10805
- const column = this.columns[index];
10806
- const hidden = !checkbox.checkedState;
10807
- if (Boolean(column.hidden) !== hidden) {
10808
- this.ngZone.run(() => {
10809
- column.hidden = hidden;
10810
- this.columnChange.emit([column]);
10811
- });
10812
- }
10813
- }
10814
- else {
10815
- this.updateDisabled();
10816
- }
10817
- if (index !== this.listNavigationService.activeIndex) {
10818
- this.listNavigationService.toggle(this.listNavigationService.activeIndex, false);
10819
- this.listNavigationService.activeIndex = index;
10820
- this.listNavigationService.toggle(index, true);
10821
- }
10822
- }
10790
+ this.handleCheckBoxClick(e);
10823
10791
  });
10824
10792
  }));
10825
10793
  this.domSubscriptions.add(this.renderer.listen(this.element.nativeElement, 'keydown', this.onKeydown));
@@ -10938,6 +10906,35 @@ class ColumnListComponent {
10938
10906
  this.renderer[classCommand](parentElement, 'k-disabled');
10939
10907
  this.renderer[attributeCommand](parentElement, 'aria-disabled', disabled ? 'true' : undefined);
10940
10908
  }
10909
+ handleCheckBoxClick = (e) => {
10910
+ const closestItem = e.target.closest('.k-column-list-item');
10911
+ if (closestItem) {
10912
+ const checkboxElement = closestItem.querySelector('.k-checkbox-wrap');
10913
+ const checkbox = this.checkboxes.find(checkBox => checkBox.hostElement.nativeElement === checkboxElement);
10914
+ const index = parseInt(checkboxElement.firstElementChild.getAttribute('data-index'), 10);
10915
+ if (this.autoSync) {
10916
+ if (!this.columns[index]) {
10917
+ return;
10918
+ }
10919
+ const column = this.columns[index];
10920
+ const hidden = !checkbox.checkedState;
10921
+ if (Boolean(column.hidden) !== hidden) {
10922
+ this.ngZone.run(() => {
10923
+ column.hidden = hidden;
10924
+ this.columnChange.emit([column]);
10925
+ });
10926
+ }
10927
+ }
10928
+ else {
10929
+ this.updateDisabled();
10930
+ }
10931
+ if (index !== this.listNavigationService.activeIndex) {
10932
+ this.listNavigationService.toggle(this.listNavigationService.activeIndex, false);
10933
+ this.listNavigationService.activeIndex = index;
10934
+ this.listNavigationService.toggle(index, true);
10935
+ }
10936
+ }
10937
+ };
10941
10938
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnListComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: ColumnListKeyboardNavigation }], target: i0.ɵɵFactoryTarget.Component });
10942
10939
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnListComponent, isStandalone: true, selector: "kendo-grid-columnlist", inputs: { columns: "columns", autoSync: "autoSync", ariaLabel: "ariaLabel", allowHideAll: "allowHideAll", applyText: "applyText", resetText: "resetText", actionsClass: "actionsClass", isLast: "isLast", isExpanded: "isExpanded", service: "service" }, outputs: { reset: "reset", apply: "apply", columnChange: "columnChange" }, host: { properties: { "class.k-column-list-wrapper": "this.className" } }, providers: [ColumnListKeyboardNavigation], viewQueries: [{ propertyName: "resetButton", first: true, predicate: ["resetButton"], descendants: true }, { propertyName: "applyButton", first: true, predicate: ["applyButton"], descendants: true }, { propertyName: "options", predicate: ColumnMenuChooserItemCheckedDirective, descendants: true }, { propertyName: "checkboxes", predicate: CheckBoxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
10943
10940
  <div
@@ -13213,7 +13210,7 @@ class ColumnMenuComponent {
13213
13210
  </kendo-tabstrip-tab>
13214
13211
  </kendo-tabstrip>
13215
13212
  </ng-template>
13216
- `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { kind: "directive", type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { kind: "component", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { kind: "component", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { kind: "component", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabTitleDirective, selector: "[kendoTabTitle]" }, { kind: "directive", type: TabContentDirective, selector: "[kendoTabContent]" }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
13213
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { kind: "directive", type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { kind: "component", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { kind: "component", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { kind: "component", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "size", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabTitleDirective, selector: "[kendoTabTitle]" }, { kind: "directive", type: TabContentDirective, selector: "[kendoTabContent]" }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
13217
13214
  }
13218
13215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuComponent, decorators: [{
13219
13216
  type: Component,
@@ -15933,9 +15930,6 @@ class HeaderComponent {
15933
15930
  tabIndex;
15934
15931
  size = 'medium';
15935
15932
  sortedFields = {};
15936
- get headerClass() {
15937
- return !this.scrollable;
15938
- }
15939
15933
  hostClass = true;
15940
15934
  get sortableLabel() {
15941
15935
  return this.contextService.localization.get('sortable');
@@ -16315,7 +16309,7 @@ class HeaderComponent {
16315
16309
  });
16316
16310
  }
16317
16311
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, deps: [{ token: SinglePopupService }, { token: DragHintService }, { token: DropCueService }, { token: ColumnReorderService }, { token: IdService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: NavigationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
16318
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderComponent, isStandalone: true, selector: "[kendoGridHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", groupable: "groupable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", totalColumns: "totalColumns", tabIndex: "tabIndex", size: "size" }, host: { properties: { "class.k-grid-header": "this.headerClass", "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }, { propertyName: "filterMenus", predicate: FilterMenuComponent, descendants: true }, { propertyName: "columnMenus", predicate: ColumnMenuComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
16312
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderComponent, isStandalone: true, selector: "[kendoGridHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", groupable: "groupable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", totalColumns: "totalColumns", tabIndex: "tabIndex", size: "size" }, host: { properties: { "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }, { propertyName: "filterMenus", predicate: FilterMenuComponent, descendants: true }, { propertyName: "columnMenus", predicate: ColumnMenuComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
16319
16313
  <ng-container>
16320
16314
  <tr *ngFor="let i of columnLevels; let levelIndex = index"
16321
16315
  kendoGridLogicalRow
@@ -16805,9 +16799,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
16805
16799
  type: Input
16806
16800
  }], size: [{
16807
16801
  type: Input
16808
- }], headerClass: [{
16809
- type: HostBinding,
16810
- args: ['class.k-grid-header']
16811
16802
  }], hostClass: [{
16812
16803
  type: HostBinding,
16813
16804
  args: ['class.k-table-thead']
@@ -18166,7 +18157,7 @@ class TableBodyComponent {
18166
18157
  [totalColumns]="totalColumns"
18167
18158
  [logicalCellsCount]="columns.length"
18168
18159
  [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
18169
- class="{{ isOdd(item) ? 'k-alt k-table-alt-row' : ''}}"
18160
+ class="{{ isOdd(item) ? 'k-table-alt-row' : ''}}"
18170
18161
  [class.k-grid-row-sticky]="rowSticky ? rowSticky({ dataItem: item.data, index: $any(item).index }) : false"
18171
18162
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
18172
18163
  [class.k-master-row]="true"
@@ -18395,7 +18386,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
18395
18386
  [totalColumns]="totalColumns"
18396
18387
  [logicalCellsCount]="columns.length"
18397
18388
  [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
18398
- class="{{ isOdd(item) ? 'k-alt k-table-alt-row' : ''}}"
18389
+ class="{{ isOdd(item) ? 'k-table-alt-row' : ''}}"
18399
18390
  [class.k-grid-row-sticky]="rowSticky ? rowSticky({ dataItem: item.data, index: $any(item).index }) : false"
18400
18391
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
18401
18392
  [class.k-master-row]="true"
@@ -19213,8 +19204,8 @@ const packageMetadata = {
19213
19204
  name: '@progress/kendo-angular-grid',
19214
19205
  productName: 'Kendo UI for Angular',
19215
19206
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
19216
- publishDate: 1736179371,
19217
- version: '17.3.0-develop.1',
19207
+ publishDate: 1736249922,
19208
+ version: '18.0.0-develop.1',
19218
19209
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
19219
19210
  };
19220
19211
 
@@ -21865,7 +21856,7 @@ class ListComponent {
21865
21856
  </table>
21866
21857
  <kendo-resize-sensor></kendo-resize-sensor>
21867
21858
  </div>
21868
- <div class="k-height-container" role="presentation">
21859
+ <div *ngIf="isVirtual" class="k-height-container" role="presentation">
21869
21860
  <div [style.height.px]="totalHeight"></div>
21870
21861
  </div>
21871
21862
  </div>
@@ -21919,7 +21910,7 @@ class ListComponent {
21919
21910
  <kendo-resize-sensor *ngIf="isLocked"></kendo-resize-sensor>
21920
21911
  </div>
21921
21912
  <kendo-resize-sensor *ngIf="isLocked || virtualColumns"></kendo-resize-sensor>
21922
- <div class="k-height-container" role="presentation">
21913
+ <div *ngIf="isVirtual" class="k-height-container" role="presentation">
21923
21914
  <div [style.height.px]="totalHeight"></div>
21924
21915
  </div>
21925
21916
  <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
@@ -21988,7 +21979,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
21988
21979
  </table>
21989
21980
  <kendo-resize-sensor></kendo-resize-sensor>
21990
21981
  </div>
21991
- <div class="k-height-container" role="presentation">
21982
+ <div *ngIf="isVirtual" class="k-height-container" role="presentation">
21992
21983
  <div [style.height.px]="totalHeight"></div>
21993
21984
  </div>
21994
21985
  </div>
@@ -22042,7 +22033,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
22042
22033
  <kendo-resize-sensor *ngIf="isLocked"></kendo-resize-sensor>
22043
22034
  </div>
22044
22035
  <kendo-resize-sensor *ngIf="isLocked || virtualColumns"></kendo-resize-sensor>
22045
- <div class="k-height-container" role="presentation">
22036
+ <div *ngIf="isVirtual" class="k-height-container" role="presentation">
22046
22037
  <div [style.height.px]="totalHeight"></div>
22047
22038
  </div>
22048
22039
  <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
@@ -25300,6 +25291,7 @@ class GridComponent {
25300
25291
  <ng-container *ngIf="isScrollable">
25301
25292
  <div *ngIf="!hideHeader"
25302
25293
  class="k-grid-header"
25294
+ [class.k-grid-draggable-header]="groupable || reorderable"
25303
25295
  role="presentation"
25304
25296
  [style.padding]="headerPadding">
25305
25297
  <div *ngIf="isLocked"
@@ -26006,6 +25998,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
26006
25998
  <ng-container *ngIf="isScrollable">
26007
25999
  <div *ngIf="!hideHeader"
26008
26000
  class="k-grid-header"
26001
+ [class.k-grid-draggable-header]="groupable || reorderable"
26009
26002
  role="presentation"
26010
26003
  [style.padding]="headerPadding">
26011
26004
  <div *ngIf="isLocked"
@@ -26804,7 +26797,9 @@ class LocalEditService {
26804
26797
  this.dataChanged();
26805
26798
  }
26806
26799
  // eslint-disable-next-line @typescript-eslint/no-empty-function
26807
- update(_item) { }
26800
+ update(_item) {
26801
+ /* noop */
26802
+ }
26808
26803
  remove(item) {
26809
26804
  const data = this.data;
26810
26805
  for (let idx = 0; idx < data.length; idx++) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "17.3.0-develop.1",
3
+ "version": "18.0.0-develop.1",
4
4
  "description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -33,27 +33,27 @@
33
33
  "@progress/kendo-data-query": "^1.0.0",
34
34
  "@progress/kendo-drawing": "^1.21.0",
35
35
  "@progress/kendo-licensing": "^1.0.2",
36
- "@progress/kendo-angular-buttons": "17.3.0-develop.1",
37
- "@progress/kendo-angular-common": "17.3.0-develop.1",
38
- "@progress/kendo-angular-dateinputs": "17.3.0-develop.1",
39
- "@progress/kendo-angular-layout": "17.3.0-develop.1",
40
- "@progress/kendo-angular-dropdowns": "17.3.0-develop.1",
41
- "@progress/kendo-angular-excel-export": "17.3.0-develop.1",
42
- "@progress/kendo-angular-icons": "17.3.0-develop.1",
43
- "@progress/kendo-angular-inputs": "17.3.0-develop.1",
44
- "@progress/kendo-angular-intl": "17.3.0-develop.1",
45
- "@progress/kendo-angular-l10n": "17.3.0-develop.1",
46
- "@progress/kendo-angular-label": "17.3.0-develop.1",
47
- "@progress/kendo-angular-pager": "17.3.0-develop.1",
48
- "@progress/kendo-angular-pdf-export": "17.3.0-develop.1",
49
- "@progress/kendo-angular-popup": "17.3.0-develop.1",
50
- "@progress/kendo-angular-toolbar": "17.3.0-develop.1",
51
- "@progress/kendo-angular-utils": "17.3.0-develop.1",
36
+ "@progress/kendo-angular-buttons": "18.0.0-develop.1",
37
+ "@progress/kendo-angular-common": "18.0.0-develop.1",
38
+ "@progress/kendo-angular-dateinputs": "18.0.0-develop.1",
39
+ "@progress/kendo-angular-layout": "18.0.0-develop.1",
40
+ "@progress/kendo-angular-dropdowns": "18.0.0-develop.1",
41
+ "@progress/kendo-angular-excel-export": "18.0.0-develop.1",
42
+ "@progress/kendo-angular-icons": "18.0.0-develop.1",
43
+ "@progress/kendo-angular-inputs": "18.0.0-develop.1",
44
+ "@progress/kendo-angular-intl": "18.0.0-develop.1",
45
+ "@progress/kendo-angular-l10n": "18.0.0-develop.1",
46
+ "@progress/kendo-angular-label": "18.0.0-develop.1",
47
+ "@progress/kendo-angular-pager": "18.0.0-develop.1",
48
+ "@progress/kendo-angular-pdf-export": "18.0.0-develop.1",
49
+ "@progress/kendo-angular-popup": "18.0.0-develop.1",
50
+ "@progress/kendo-angular-toolbar": "18.0.0-develop.1",
51
+ "@progress/kendo-angular-utils": "18.0.0-develop.1",
52
52
  "rxjs": "^6.5.3 || ^7.0.0"
53
53
  },
54
54
  "dependencies": {
55
55
  "tslib": "^2.3.1",
56
- "@progress/kendo-angular-schematics": "17.3.0-develop.1",
56
+ "@progress/kendo-angular-schematics": "18.0.0-develop.1",
57
57
  "@progress/kendo-common": "^1.0.1",
58
58
  "@progress/kendo-file-saver": "^1.0.0"
59
59
  },
@@ -66,7 +66,6 @@ export declare class HeaderComponent implements AfterViewInit, OnInit, OnChanges
66
66
  tabIndex: string;
67
67
  size: GridSize;
68
68
  sortedFields: any;
69
- get headerClass(): boolean;
70
69
  hostClass: boolean;
71
70
  get sortableLabel(): string;
72
71
  get columnMenuSettings(): ColumnMenuSettings;
@@ -4,14 +4,14 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
6
6
  // peer deps of the dropdowns
7
- '@progress/kendo-angular-treeview': '17.3.0-develop.1',
8
- '@progress/kendo-angular-navigation': '17.3.0-develop.1',
7
+ '@progress/kendo-angular-treeview': '18.0.0-develop.1',
8
+ '@progress/kendo-angular-navigation': '18.0.0-develop.1',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '17.3.0-develop.1',
10
+ '@progress/kendo-angular-dialog': '18.0.0-develop.1',
11
11
  // peer dependency of kendo-angular-icons
12
12
  '@progress/kendo-svg-icons': '^4.0.0',
13
13
  // peer dependency of kendo-angular-layout
14
- '@progress/kendo-angular-progressbar': '17.3.0-develop.1'
14
+ '@progress/kendo-angular-progressbar': '18.0.0-develop.1'
15
15
  } });
16
16
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
17
17
  }