@progress/kendo-angular-grid 25.1.0-develop.8 → 25.1.0

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.
@@ -3504,12 +3504,20 @@ class ColumnResizingService {
3504
3504
  }
3505
3505
  restoreInitialMaxMinWidths() {
3506
3506
  if (this.adjacentColumn) {
3507
- this.adjacentColumn.maxResizableWidth = this.adjacentColumn.initialMaxResizableWidth;
3508
- this.adjacentColumn.minResizableWidth = this.adjacentColumn.initialMinResizableWidth;
3507
+ if (this.adjacentColumn.initialMaxResizableWidth !== undefined) {
3508
+ this.adjacentColumn.maxResizableWidth = this.adjacentColumn.initialMaxResizableWidth;
3509
+ }
3510
+ if (this.adjacentColumn.initialMinResizableWidth !== undefined) {
3511
+ this.adjacentColumn.minResizableWidth = this.adjacentColumn.initialMinResizableWidth;
3512
+ }
3509
3513
  }
3510
3514
  if (this.column) {
3511
- this.column.maxResizableWidth = this.column.initialMaxResizableWidth;
3512
- this.column.minResizableWidth = this.column.initialMinResizableWidth;
3515
+ if (this.column.initialMaxResizableWidth !== undefined) {
3516
+ this.column.maxResizableWidth = this.column.initialMaxResizableWidth;
3517
+ }
3518
+ if (this.column.initialMinResizableWidth !== undefined) {
3519
+ this.column.minResizableWidth = this.column.initialMinResizableWidth;
3520
+ }
3513
3521
  }
3514
3522
  }
3515
3523
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ColumnResizingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -5084,6 +5092,12 @@ class ColGroupComponent {
5084
5092
  getColumnComponent(column) {
5085
5093
  return column;
5086
5094
  }
5095
+ isCheckboxColumn(column) {
5096
+ return isCheckboxColumn(column);
5097
+ }
5098
+ isRowReorderColumn(column) {
5099
+ return isRowReorderColumn(column);
5100
+ }
5087
5101
  isSortable(column) {
5088
5102
  return !isNullOrEmptyString(column.field) && isTruthy(column.sortable);
5089
5103
  }
@@ -5104,6 +5118,8 @@ class ColGroupComponent {
5104
5118
  @for (column of columnsToRender; track $index) {
5105
5119
  <col
5106
5120
  [style.width]="getColumnWidth(column)"
5121
+ [class.k-select-col]="isCheckboxColumn(column)"
5122
+ [class.k-drag-col]="isRowReorderColumn(column)"
5107
5123
  [class.k-sorted]="isSorted(getColumnComponent(column))"/>
5108
5124
  }
5109
5125
  </ng-container>
@@ -5126,6 +5142,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
5126
5142
  @for (column of columnsToRender; track $index) {
5127
5143
  <col
5128
5144
  [style.width]="getColumnWidth(column)"
5145
+ [class.k-select-col]="isCheckboxColumn(column)"
5146
+ [class.k-drag-col]="isRowReorderColumn(column)"
5129
5147
  [class.k-sorted]="isSorted(getColumnComponent(column))"/>
5130
5148
  }
5131
5149
  </ng-container>
@@ -5830,7 +5848,7 @@ class LogicalRowDirective {
5830
5848
  totalColumns;
5831
5849
  uid = nextId();
5832
5850
  get hostRole() {
5833
- return this.logicalSlaveRow ? 'presentation' : 'row';
5851
+ return this.logicalSlaveRow ? 'none' : 'row';
5834
5852
  }
5835
5853
  get ariaRowIndex() {
5836
5854
  return this.logicalSlaveRow ? null : this.logicalRowIndex + 1;
@@ -6345,7 +6363,6 @@ class GroupHeaderComponent {
6345
6363
  @if (groupingMode === 'default') {
6346
6364
  <td [attr.colspan]="groupSpan(item)"
6347
6365
  [attr.role]="ariaRole()"
6348
- aria-selected="false"
6349
6366
  class="k-table-td"
6350
6367
  [attr.aria-expanded]="isExpanded"
6351
6368
  kendoGridLogicalCell
@@ -6418,7 +6435,6 @@ class GroupHeaderComponent {
6418
6435
  }
6419
6436
  <td [attr.colspan]="groupSpan(item)"
6420
6437
  role="gridcell"
6421
- aria-selected="false"
6422
6438
  class="k-table-td"
6423
6439
  [class.k-grid-content-sticky]="groupColumnForItem(item)?.sticky"
6424
6440
  [ngStyle]="groupColumnForItem(item)?.sticky ? addStickyStyles(groupColumnForItem(item)) : null"
@@ -6477,7 +6493,6 @@ class GroupHeaderComponent {
6477
6493
  <td
6478
6494
  role="gridcell"
6479
6495
  class="k-table-td"
6480
- aria-selected="false"
6481
6496
  kendoGridLogicalCell
6482
6497
  [logicalRowIndex]="logicalRowIndex"
6483
6498
  [logicalColIndex]="index + 1"
@@ -6520,7 +6535,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
6520
6535
  @if (groupingMode === 'default') {
6521
6536
  <td [attr.colspan]="groupSpan(item)"
6522
6537
  [attr.role]="ariaRole()"
6523
- aria-selected="false"
6524
6538
  class="k-table-td"
6525
6539
  [attr.aria-expanded]="isExpanded"
6526
6540
  kendoGridLogicalCell
@@ -6593,7 +6607,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
6593
6607
  }
6594
6608
  <td [attr.colspan]="groupSpan(item)"
6595
6609
  role="gridcell"
6596
- aria-selected="false"
6597
6610
  class="k-table-td"
6598
6611
  [class.k-grid-content-sticky]="groupColumnForItem(item)?.sticky"
6599
6612
  [ngStyle]="groupColumnForItem(item)?.sticky ? addStickyStyles(groupColumnForItem(item)) : null"
@@ -6652,7 +6665,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
6652
6665
  <td
6653
6666
  role="gridcell"
6654
6667
  class="k-table-td"
6655
- aria-selected="false"
6656
6668
  kendoGridLogicalCell
6657
6669
  [logicalRowIndex]="logicalRowIndex"
6658
6670
  [logicalColIndex]="index + 1"
@@ -9205,6 +9217,10 @@ const trimFilterByField = (filter, field) => {
9205
9217
  * @hidden
9206
9218
  */
9207
9219
  const filtersByField = (filter, field) => flatten(filter || {}).filter(x => x.field === field);
9220
+ /**
9221
+ * @hidden
9222
+ */
9223
+ const isEmptyFilterValue = (value) => isBlank(value) || value === '';
9208
9224
  /**
9209
9225
  * @hidden
9210
9226
  */
@@ -9610,8 +9626,8 @@ class FilterInputWrapperComponent extends BaseFilterCellComponent {
9610
9626
  }
9611
9627
  }
9612
9628
  onChange(value) {
9613
- if (!isNullOrEmptyString(value) || this.filterByField(this.column.field)) {
9614
- this.filterChange(isNullOrEmptyString(value) ?
9629
+ if (!isEmptyFilterValue(value) || this.filterByField(this.column.field)) {
9630
+ this.filterChange(isEmptyFilterValue(value) ?
9615
9631
  this.removeFilter(this.column.field) :
9616
9632
  this.updateFilter({
9617
9633
  field: this.column.field,
@@ -11775,7 +11791,7 @@ const isNoValueOperator = operator => (operator === "isnull"
11775
11791
  /**
11776
11792
  * @hidden
11777
11793
  */
11778
- const validFilters = ({ value, operator }) => !isNullOrEmptyString(value) || isNoValueOperator(operator);
11794
+ const validFilters = ({ value, operator }) => !isEmptyFilterValue(value) || isNoValueOperator(operator);
11779
11795
  const trimFilters = (filter) => {
11780
11796
  const trimComposite = (node) => {
11781
11797
  const trimmed = [];
@@ -12400,7 +12416,7 @@ class FilterCellWrapperComponent extends FilterInputWrapperComponent {
12400
12416
  showOperators = true;
12401
12417
  get showButton() {
12402
12418
  const filter = this.currentFilter;
12403
- return isPresent(filter) && (!isNullOrEmptyString(filter.value) ||
12419
+ return isPresent(filter) && (isPresent(filter.value) ||
12404
12420
  EMPTY_FILTER_OPERATORS.indexOf(String(filter.operator)) >= 0);
12405
12421
  }
12406
12422
  constructor(filterService) {
@@ -18953,9 +18969,9 @@ class ColumnHandleDirective {
18953
18969
  return;
18954
18970
  }
18955
18971
  // Use existing resizeStartWidth if already set (for keyboard resizing),
18956
- // otherwise measure from DOM element (for mouse resizing)
18972
+ // otherwise measure from DOM element (for mouse resizing) or fallback to column.width
18957
18973
  if (!this.column.resizeStartWidth) {
18958
- this.column.resizeStartWidth = headerWidth(this.element);
18974
+ this.column.resizeStartWidth = headerWidth(this.element) || this.column.width;
18959
18975
  }
18960
18976
  if (this.isConstrainedMode && !this.service.adjacentColumn) {
18961
18977
  this.setAdjacentColumn();
@@ -22156,14 +22172,14 @@ class CellComponent {
22156
22172
  get dragHandleCellClass() {
22157
22173
  return isRowReorderColumn(this.column);
22158
22174
  }
22159
- get dragRowHandleLabel() {
22160
- return isRowReorderColumn(this.column) ? this.ctx.localization.get('dragRowHandleLabel') : undefined;
22161
- }
22162
22175
  get rowPinLabel() {
22163
22176
  const isRowPinned = this.isRowPinnedTop || this.isRowPinnedBottom;
22164
22177
  if (isRowPinColumn(this.column)) {
22165
22178
  return isRowPinned ? this.ctx.localization.get('rowUnpinLabel') : this.ctx.localization.get('rowPinLabel');
22166
22179
  }
22180
+ if (isRowReorderColumn(this.column)) {
22181
+ return this.ctx.localization.get('dragRowHandleLabel');
22182
+ }
22167
22183
  return undefined;
22168
22184
  }
22169
22185
  pinContextMenu;
@@ -22975,9 +22991,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
22975
22991
  }, {
22976
22992
  type: HostBinding,
22977
22993
  args: ['class.k-touch-action-none']
22978
- }], dragRowHandleLabel: [{
22979
- type: HostBinding,
22980
- args: ['attr.aria-label']
22981
22994
  }], rowPinLabel: [{
22982
22995
  type: HostBinding,
22983
22996
  args: ['attr.aria-label']
@@ -23119,7 +23132,10 @@ class TableBodyComponent {
23119
23132
  }
23120
23133
  isAriaSelected(item, column) {
23121
23134
  return this.cellSelectionService.isCellSelected(item, column) ||
23122
- this.isRowSelected(item) ? 'true' : 'false';
23135
+ this.isRowSelected(item) ? 'true' : null;
23136
+ }
23137
+ isCheckboxColumn(column) {
23138
+ return isCheckboxColumn(column);
23123
23139
  }
23124
23140
  toggleRow(index, dataItem) {
23125
23141
  this.detailsService.toggleRow(index, dataItem);
@@ -23527,7 +23543,7 @@ class TableBodyComponent {
23527
23543
  }
23528
23544
  }
23529
23545
  @if (detailTemplate?.templateRef && !isStackedMode) {
23530
- <td class="k-hierarchy-cell k-table-td"
23546
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"
23531
23547
  kendoGridLogicalCell
23532
23548
  [logicalRowIndex]="addRowLogicalIndex()"
23533
23549
  [logicalColIndex]="0"
@@ -23632,7 +23648,7 @@ class TableBodyComponent {
23632
23648
  [class.k-pinned-source]="isRowPinned(item.data) && !isPinContainer"
23633
23649
  [class.k-expanded]="item.isExpanded && !isStackedMode"
23634
23650
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
23635
- [attr.aria-selected]="(lockedColumnsCount < 1 || isStackedMode) ? isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) : undefined"
23651
+ [attr.aria-selected]="(lockedColumnsCount < 1 || isStackedMode) && isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null"
23636
23652
  [attr.data-kendo-grid-item-index]="$any(item).index"
23637
23653
  [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)"
23638
23654
  [class.k-highlighted]="item.isHighlighted">
@@ -23651,7 +23667,7 @@ class TableBodyComponent {
23651
23667
  [dataRowIndex]="$any(item).index"
23652
23668
  [dataItem]="item.data"
23653
23669
  [detailExpandCell]="true"
23654
- aria-selected="false"
23670
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null"
23655
23671
  role="gridcell"
23656
23672
  [attr.aria-expanded]="item.isExpanded">
23657
23673
  @if (detailTemplate.showIf(item.data, $any(item).index)) {
@@ -23685,6 +23701,7 @@ class TableBodyComponent {
23685
23701
  [dataItem]="item.data"
23686
23702
  [colIndex]="0"
23687
23703
  class="k-table-td"
23704
+ role="gridcell"
23688
23705
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag">
23689
23706
  </td>
23690
23707
  } @else {
@@ -23717,7 +23734,8 @@ class TableBodyComponent {
23717
23734
  [rowSpan]="item.cells[lockedColumnsCount + columnIndex]?.rowspan"
23718
23735
  [attr.role]="column.tableCellsRole"
23719
23736
  class="k-table-td"
23720
- [attr.aria-selected]="lockedColumnsCount < 1 && isSelectable({ dataItem: item.data, index: $any(item).index }) ? isAriaSelected(item, column) : undefined"
23737
+ [class.k-select-cell]="isCheckboxColumn(column)"
23738
+ [attr.aria-selected]="lockedColumnsCount < 1 && isSelectable({ dataItem: item.data, index: $any(item).index }) ? isAriaSelected(item, column) : null"
23721
23739
  [class.k-grid-content-sticky]="column.sticky"
23722
23740
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag"
23723
23741
  [ngClass]="column.cssClass"
@@ -23747,7 +23765,7 @@ class TableBodyComponent {
23747
23765
  @for (g of groups; track $index) {
23748
23766
  <td class="k-group-cell k-table-td k-table-group-td"></td>
23749
23767
  }
23750
- <td class="k-hierarchy-cell k-table-td"></td>
23768
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"></td>
23751
23769
  <td class="k-detail-cell k-table-td"
23752
23770
  [attr.colspan]="columnsSpan"
23753
23771
  kendoGridLogicalCell
@@ -23757,7 +23775,8 @@ class TableBodyComponent {
23757
23775
  [dataItem]="item.data"
23758
23776
  [colIndex]="0"
23759
23777
  [colSpan]="allColumnsSpan + 1"
23760
- role="gridcell" aria-selected="false">
23778
+ role="gridcell"
23779
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null">
23761
23780
  <ng-template
23762
23781
  [ngTemplateOutlet]="detailTemplate.templateRef"
23763
23782
  [ngTemplateOutletContext]="{
@@ -23778,7 +23797,7 @@ class TableBodyComponent {
23778
23797
  [colIndex]="0"
23779
23798
  [colSpan]="allColumnsSpan + 1"
23780
23799
  role="gridcell"
23781
- aria-selected="false">
23800
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null">
23782
23801
  <ng-template
23783
23802
  [ngTemplateOutlet]="detailTemplate.templateRef"
23784
23803
  [ngTemplateOutletContext]="{
@@ -23809,7 +23828,7 @@ class TableBodyComponent {
23809
23828
  }
23810
23829
  }
23811
23830
  @if (detailTemplate?.templateRef && !isStackedMode) {
23812
- <td class="k-hierarchy-cell k-table-td"
23831
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"
23813
23832
  kendoGridLogicalCell
23814
23833
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
23815
23834
  [logicalColIndex]="0"
@@ -23892,7 +23911,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
23892
23911
  }
23893
23912
  }
23894
23913
  @if (detailTemplate?.templateRef && !isStackedMode) {
23895
- <td class="k-hierarchy-cell k-table-td"
23914
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"
23896
23915
  kendoGridLogicalCell
23897
23916
  [logicalRowIndex]="addRowLogicalIndex()"
23898
23917
  [logicalColIndex]="0"
@@ -23997,7 +24016,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
23997
24016
  [class.k-pinned-source]="isRowPinned(item.data) && !isPinContainer"
23998
24017
  [class.k-expanded]="item.isExpanded && !isStackedMode"
23999
24018
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
24000
- [attr.aria-selected]="(lockedColumnsCount < 1 || isStackedMode) ? isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) : undefined"
24019
+ [attr.aria-selected]="(lockedColumnsCount < 1 || isStackedMode) && isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null"
24001
24020
  [attr.data-kendo-grid-item-index]="$any(item).index"
24002
24021
  [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)"
24003
24022
  [class.k-highlighted]="item.isHighlighted">
@@ -24016,7 +24035,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24016
24035
  [dataRowIndex]="$any(item).index"
24017
24036
  [dataItem]="item.data"
24018
24037
  [detailExpandCell]="true"
24019
- aria-selected="false"
24038
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null"
24020
24039
  role="gridcell"
24021
24040
  [attr.aria-expanded]="item.isExpanded">
24022
24041
  @if (detailTemplate.showIf(item.data, $any(item).index)) {
@@ -24050,6 +24069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24050
24069
  [dataItem]="item.data"
24051
24070
  [colIndex]="0"
24052
24071
  class="k-table-td"
24072
+ role="gridcell"
24053
24073
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag">
24054
24074
  </td>
24055
24075
  } @else {
@@ -24082,7 +24102,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24082
24102
  [rowSpan]="item.cells[lockedColumnsCount + columnIndex]?.rowspan"
24083
24103
  [attr.role]="column.tableCellsRole"
24084
24104
  class="k-table-td"
24085
- [attr.aria-selected]="lockedColumnsCount < 1 && isSelectable({ dataItem: item.data, index: $any(item).index }) ? isAriaSelected(item, column) : undefined"
24105
+ [class.k-select-cell]="isCheckboxColumn(column)"
24106
+ [attr.aria-selected]="lockedColumnsCount < 1 && isSelectable({ dataItem: item.data, index: $any(item).index }) ? isAriaSelected(item, column) : null"
24086
24107
  [class.k-grid-content-sticky]="column.sticky"
24087
24108
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag"
24088
24109
  [ngClass]="column.cssClass"
@@ -24112,7 +24133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24112
24133
  @for (g of groups; track $index) {
24113
24134
  <td class="k-group-cell k-table-td k-table-group-td"></td>
24114
24135
  }
24115
- <td class="k-hierarchy-cell k-table-td"></td>
24136
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"></td>
24116
24137
  <td class="k-detail-cell k-table-td"
24117
24138
  [attr.colspan]="columnsSpan"
24118
24139
  kendoGridLogicalCell
@@ -24122,7 +24143,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24122
24143
  [dataItem]="item.data"
24123
24144
  [colIndex]="0"
24124
24145
  [colSpan]="allColumnsSpan + 1"
24125
- role="gridcell" aria-selected="false">
24146
+ role="gridcell"
24147
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null">
24126
24148
  <ng-template
24127
24149
  [ngTemplateOutlet]="detailTemplate.templateRef"
24128
24150
  [ngTemplateOutletContext]="{
@@ -24143,7 +24165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24143
24165
  [colIndex]="0"
24144
24166
  [colSpan]="allColumnsSpan + 1"
24145
24167
  role="gridcell"
24146
- aria-selected="false">
24168
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null">
24147
24169
  <ng-template
24148
24170
  [ngTemplateOutlet]="detailTemplate.templateRef"
24149
24171
  [ngTemplateOutletContext]="{
@@ -24174,7 +24196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24174
24196
  }
24175
24197
  }
24176
24198
  @if (detailTemplate?.templateRef && !isStackedMode) {
24177
- <td class="k-hierarchy-cell k-table-td"
24199
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"
24178
24200
  kendoGridLogicalCell
24179
24201
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
24180
24202
  [logicalColIndex]="0"
@@ -25163,8 +25185,8 @@ const packageMetadata = {
25163
25185
  productName: 'Kendo UI for Angular',
25164
25186
  productCode: 'KENDOUIANGULAR',
25165
25187
  productCodes: ['KENDOUIANGULAR'],
25166
- publishDate: 1787574865,
25167
- version: '25.1.0-develop.8',
25188
+ publishDate: 1788865031,
25189
+ version: '25.1.0',
25168
25190
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
25169
25191
  };
25170
25192
 
@@ -29244,7 +29266,7 @@ class StickyGroupContainerComponent {
29244
29266
  if (meta) {
29245
29267
  const gridContainer = this.el.nativeElement.closest('.k-grid-container');
29246
29268
  const scrollContainer = gridContainer
29247
- ?.querySelector('.k-grid-content.k-virtual-content');
29269
+ ?.querySelector('.k-grid-content');
29248
29270
  if (scrollContainer) {
29249
29271
  this.stickyGroupsService.suppressNextUpdate = true;
29250
29272
  scrollContainer.scrollTop = 0;
@@ -29517,7 +29539,7 @@ class StickyGroupContainerComponent {
29517
29539
  { provide: SKIP_CELL_NAVIGATION, useValue: true }
29518
29540
  ], ngImport: i0, template: `
29519
29541
  @if (isLocked) {
29520
- <div class="k-grid-content-locked" role="presentation" [style.width.px]="lockedWidth">
29542
+ <div class="k-grid-content-locked" role="none" [style.width.px]="lockedWidth">
29521
29543
  <table
29522
29544
  class="k-grid-table k-table"
29523
29545
  [class.k-grid-group-sticky-header-table]="position === 'top'"
@@ -29532,7 +29554,7 @@ class StickyGroupContainerComponent {
29532
29554
  [detailTemplate]="detailTemplate"
29533
29555
  [groupingMode]="groupingMode">
29534
29556
  </colgroup>
29535
- <tbody class="k-table-tbody" role="presentation">
29557
+ <tbody class="k-table-tbody">
29536
29558
  @if (position === 'top') {
29537
29559
  @for (stickyItem of items; track stickyItem.flatIndex) {
29538
29560
  <tr role="row"
@@ -29558,7 +29580,7 @@ class StickyGroupContainerComponent {
29558
29580
  @if (position === 'bottom') {
29559
29581
  @for (stickyItem of items; track stickyItem.flatIndex; let rowIdx = $index) {
29560
29582
  <tr role="row"
29561
- class="k-group-footer"
29583
+ class="k-group-footer k-table-row"
29562
29584
  [attr.aria-rowindex]="stickyItem.flatIndex + 1"
29563
29585
  [attr.data-sticky-row]="rowIdx">
29564
29586
  @if (groupingMode === 'default') {
@@ -29567,8 +29589,7 @@ class StickyGroupContainerComponent {
29567
29589
  }
29568
29590
  }
29569
29591
  @if (detailTemplate?.templateRef) {
29570
- <td class="k-hierarchy-cell k-table-td" role="gridcell"
29571
- aria-selected="false">
29592
+ <td class="k-hierarchy-cell k-table-td" role="gridcell">
29572
29593
  </td>
29573
29594
  }
29574
29595
  @for (column of lockedFooterColumns; track $index; let columnIndex = $index) {
@@ -29596,7 +29617,7 @@ class StickyGroupContainerComponent {
29596
29617
  </table>
29597
29618
  </div>
29598
29619
  }
29599
- <div [class.k-grid-header-wrap]="position === 'top'" [class.k-grid-footer-wrap]="position === 'bottom'" role="presentation"
29620
+ <div [class.k-grid-header-wrap]="position === 'top'" [class.k-grid-footer-wrap]="position === 'bottom'" role="none"
29600
29621
  [style.width.px]="isLocked ? wrapWidth : null">
29601
29622
  <table
29602
29623
  class="k-grid-table k-table"
@@ -29612,7 +29633,7 @@ class StickyGroupContainerComponent {
29612
29633
  [detailTemplate]="isLocked ? null : detailTemplate"
29613
29634
  [groupingMode]="groupingMode">
29614
29635
  </colgroup>
29615
- <tbody class="k-table-tbody" role="rowgroup">
29636
+ <tbody class="k-table-tbody">
29616
29637
  @if (position === 'top') {
29617
29638
  @for (stickyItem of items; track stickyItem.flatIndex) {
29618
29639
  <tr role="row"
@@ -29638,7 +29659,7 @@ class StickyGroupContainerComponent {
29638
29659
  @if (position === 'bottom') {
29639
29660
  @for (stickyItem of items; track stickyItem.flatIndex; let rowIdx = $index) {
29640
29661
  <tr role="row"
29641
- class="k-group-footer"
29662
+ class="k-group-footer k-table-row"
29642
29663
  [attr.aria-rowindex]="stickyItem.flatIndex + 1"
29643
29664
  [attr.data-sticky-row]="rowIdx">
29644
29665
  @if (!isLocked) {
@@ -29648,8 +29669,7 @@ class StickyGroupContainerComponent {
29648
29669
  }
29649
29670
  }
29650
29671
  @if (detailTemplate?.templateRef && !isStacked) {
29651
- <td class="k-hierarchy-cell k-table-td" role="gridcell"
29652
- aria-selected="false">
29672
+ <td class="k-hierarchy-cell k-table-td" role="gridcell">
29653
29673
  </td>
29654
29674
  }
29655
29675
  }
@@ -29709,7 +29729,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29709
29729
  changeDetection: ChangeDetectionStrategy.OnPush,
29710
29730
  template: `
29711
29731
  @if (isLocked) {
29712
- <div class="k-grid-content-locked" role="presentation" [style.width.px]="lockedWidth">
29732
+ <div class="k-grid-content-locked" role="none" [style.width.px]="lockedWidth">
29713
29733
  <table
29714
29734
  class="k-grid-table k-table"
29715
29735
  [class.k-grid-group-sticky-header-table]="position === 'top'"
@@ -29724,7 +29744,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29724
29744
  [detailTemplate]="detailTemplate"
29725
29745
  [groupingMode]="groupingMode">
29726
29746
  </colgroup>
29727
- <tbody class="k-table-tbody" role="presentation">
29747
+ <tbody class="k-table-tbody">
29728
29748
  @if (position === 'top') {
29729
29749
  @for (stickyItem of items; track stickyItem.flatIndex) {
29730
29750
  <tr role="row"
@@ -29750,7 +29770,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29750
29770
  @if (position === 'bottom') {
29751
29771
  @for (stickyItem of items; track stickyItem.flatIndex; let rowIdx = $index) {
29752
29772
  <tr role="row"
29753
- class="k-group-footer"
29773
+ class="k-group-footer k-table-row"
29754
29774
  [attr.aria-rowindex]="stickyItem.flatIndex + 1"
29755
29775
  [attr.data-sticky-row]="rowIdx">
29756
29776
  @if (groupingMode === 'default') {
@@ -29759,8 +29779,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29759
29779
  }
29760
29780
  }
29761
29781
  @if (detailTemplate?.templateRef) {
29762
- <td class="k-hierarchy-cell k-table-td" role="gridcell"
29763
- aria-selected="false">
29782
+ <td class="k-hierarchy-cell k-table-td" role="gridcell">
29764
29783
  </td>
29765
29784
  }
29766
29785
  @for (column of lockedFooterColumns; track $index; let columnIndex = $index) {
@@ -29788,7 +29807,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29788
29807
  </table>
29789
29808
  </div>
29790
29809
  }
29791
- <div [class.k-grid-header-wrap]="position === 'top'" [class.k-grid-footer-wrap]="position === 'bottom'" role="presentation"
29810
+ <div [class.k-grid-header-wrap]="position === 'top'" [class.k-grid-footer-wrap]="position === 'bottom'" role="none"
29792
29811
  [style.width.px]="isLocked ? wrapWidth : null">
29793
29812
  <table
29794
29813
  class="k-grid-table k-table"
@@ -29804,7 +29823,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29804
29823
  [detailTemplate]="isLocked ? null : detailTemplate"
29805
29824
  [groupingMode]="groupingMode">
29806
29825
  </colgroup>
29807
- <tbody class="k-table-tbody" role="rowgroup">
29826
+ <tbody class="k-table-tbody">
29808
29827
  @if (position === 'top') {
29809
29828
  @for (stickyItem of items; track stickyItem.flatIndex) {
29810
29829
  <tr role="row"
@@ -29830,7 +29849,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29830
29849
  @if (position === 'bottom') {
29831
29850
  @for (stickyItem of items; track stickyItem.flatIndex; let rowIdx = $index) {
29832
29851
  <tr role="row"
29833
- class="k-group-footer"
29852
+ class="k-group-footer k-table-row"
29834
29853
  [attr.aria-rowindex]="stickyItem.flatIndex + 1"
29835
29854
  [attr.data-sticky-row]="rowIdx">
29836
29855
  @if (!isLocked) {
@@ -29840,8 +29859,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29840
29859
  }
29841
29860
  }
29842
29861
  @if (detailTemplate?.templateRef && !isStacked) {
29843
- <td class="k-hierarchy-cell k-table-td" role="gridcell"
29844
- aria-selected="false">
29862
+ <td class="k-hierarchy-cell k-table-td" role="gridcell">
29845
29863
  </td>
29846
29864
  }
29847
29865
  }
@@ -30017,7 +30035,9 @@ class ListComponent {
30017
30035
  dataMappingService;
30018
30036
  stickyGroupsService;
30019
30037
  hostClass = true;
30020
- hostRole = 'presentation';
30038
+ get hostRole() {
30039
+ return this.isLocked ? 'none' : null;
30040
+ }
30021
30041
  data;
30022
30042
  groups = [];
30023
30043
  total;
@@ -31412,7 +31432,7 @@ class ListComponent {
31412
31432
  </div>
31413
31433
  }
31414
31434
  @if (isLocked && !isStacked) {
31415
- <div #lockedContainer class="k-grid-content-locked" role="presentation"
31435
+ <div #lockedContainer class="k-grid-content-locked" role="none"
31416
31436
  [style.width.px]="lockedWidth" tabindex="-1"
31417
31437
  [kendoEventsOutsideAngular]="{
31418
31438
  keydown: lockedKeydown,
@@ -31422,13 +31442,13 @@ class ListComponent {
31422
31442
  }"
31423
31443
  [scope]="this"
31424
31444
  >
31425
- <div role="presentation">
31445
+ <div>
31426
31446
  <table
31427
31447
  kendoGridResizableTable
31428
31448
  [locked]="true"
31429
31449
  #lockedTable
31430
31450
  class="k-grid-table"
31431
- role="presentation"
31451
+ role="none"
31432
31452
  kendoGridTable
31433
31453
  [size]="size"
31434
31454
  [style.width.px]="lockedWidth">
@@ -31473,12 +31493,13 @@ class ListComponent {
31473
31493
  }
31474
31494
  <div
31475
31495
  #container
31476
- class="k-grid-content k-virtual-content"
31496
+ class="k-grid-content"
31497
+ [attr.role]="isLocked ? 'none' : null"
31477
31498
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
31478
31499
  [lockedWidth]="lockedWidth + 1"
31479
31500
  tabindex="-1"
31480
31501
  >
31481
- <div role="presentation">
31502
+ <div>
31482
31503
  <table
31483
31504
  [style.width.px]="nonLockedWidth"
31484
31505
  #table
@@ -31487,7 +31508,7 @@ class ListComponent {
31487
31508
  class="k-grid-table"
31488
31509
  kendoGridTable
31489
31510
  [size]="size"
31490
- role="presentation">
31511
+ role="none">
31491
31512
  <colgroup kendoGridColGroup
31492
31513
  [groups]="isLocked ? [] : groups"
31493
31514
  [columns]="$any(nonLockedColumnsToRender)"
@@ -31496,7 +31517,6 @@ class ListComponent {
31496
31517
  [groupingMode]="groupingMode">
31497
31518
  </colgroup>
31498
31519
  <tbody kendoGridTableBody
31499
- role="rowgroup"
31500
31520
  [skipGroupDecoration]="isLocked"
31501
31521
  [rowsToRender]="itemsToRender"
31502
31522
  [groups]="groups"
@@ -31589,7 +31609,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31589
31609
  </div>
31590
31610
  }
31591
31611
  @if (isLocked && !isStacked) {
31592
- <div #lockedContainer class="k-grid-content-locked" role="presentation"
31612
+ <div #lockedContainer class="k-grid-content-locked" role="none"
31593
31613
  [style.width.px]="lockedWidth" tabindex="-1"
31594
31614
  [kendoEventsOutsideAngular]="{
31595
31615
  keydown: lockedKeydown,
@@ -31599,13 +31619,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31599
31619
  }"
31600
31620
  [scope]="this"
31601
31621
  >
31602
- <div role="presentation">
31622
+ <div>
31603
31623
  <table
31604
31624
  kendoGridResizableTable
31605
31625
  [locked]="true"
31606
31626
  #lockedTable
31607
31627
  class="k-grid-table"
31608
- role="presentation"
31628
+ role="none"
31609
31629
  kendoGridTable
31610
31630
  [size]="size"
31611
31631
  [style.width.px]="lockedWidth">
@@ -31650,12 +31670,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31650
31670
  }
31651
31671
  <div
31652
31672
  #container
31653
- class="k-grid-content k-virtual-content"
31673
+ class="k-grid-content"
31674
+ [attr.role]="isLocked ? 'none' : null"
31654
31675
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
31655
31676
  [lockedWidth]="lockedWidth + 1"
31656
31677
  tabindex="-1"
31657
31678
  >
31658
- <div role="presentation">
31679
+ <div>
31659
31680
  <table
31660
31681
  [style.width.px]="nonLockedWidth"
31661
31682
  #table
@@ -31664,7 +31685,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31664
31685
  class="k-grid-table"
31665
31686
  kendoGridTable
31666
31687
  [size]="size"
31667
- role="presentation">
31688
+ role="none">
31668
31689
  <colgroup kendoGridColGroup
31669
31690
  [groups]="isLocked ? [] : groups"
31670
31691
  [columns]="$any(nonLockedColumnsToRender)"
@@ -31673,7 +31694,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31673
31694
  [groupingMode]="groupingMode">
31674
31695
  </colgroup>
31675
31696
  <tbody kendoGridTableBody
31676
- role="rowgroup"
31677
31697
  [skipGroupDecoration]="isLocked"
31678
31698
  [rowsToRender]="itemsToRender"
31679
31699
  [groups]="groups"
@@ -35659,6 +35679,7 @@ class RowPinContainerComponent {
35659
35679
  lockedTable;
35660
35680
  pinnedTable;
35661
35681
  hostClass = true;
35682
+ role = 'none';
35662
35683
  get bottomClass() {
35663
35684
  return this.position === 'bottom';
35664
35685
  }
@@ -35695,12 +35716,13 @@ class RowPinContainerComponent {
35695
35716
  return this.localization.get(labelKey);
35696
35717
  }
35697
35718
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: RowPinContainerComponent, deps: [{ token: i1$2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
35698
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.27", type: RowPinContainerComponent, isStandalone: true, selector: "kendo-grid-rowpin-container", inputs: { leafColumns: "leafColumns", lockedLeafColumns: "lockedLeafColumns", nonLockedLeafColumns: "nonLockedLeafColumns", sort: "sort", position: "position", rowsToRender: "rowsToRender", totalColumns: "totalColumns", lockedWidth: "lockedWidth", nonLockedWidth: "nonLockedWidth", isLocked: "isLocked", selectable: "selectable", trackBy: "trackBy", groups: "groups", detailTemplate: "detailTemplate", filterable: "filterable", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", loading: "loading", size: "size", groupingMode: "groupingMode" }, host: { properties: { "class.k-grid-pinned-container": "this.hostClass", "class.k-pos-bottom": "this.bottomClass" } }, providers: [{ provide: IS_PIN_CONTAINER, useValue: true }], viewQueries: [{ propertyName: "pinnedWrapper", first: true, predicate: ["pinnedWrapper"], descendants: true, static: true }, { propertyName: "lockedTable", first: true, predicate: ["lockedTable"], descendants: true }, { propertyName: "pinnedTable", first: true, predicate: ["pinnedTable"], descendants: true, static: true }], ngImport: i0, template: `
35719
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.27", type: RowPinContainerComponent, isStandalone: true, selector: "kendo-grid-rowpin-container", inputs: { leafColumns: "leafColumns", lockedLeafColumns: "lockedLeafColumns", nonLockedLeafColumns: "nonLockedLeafColumns", sort: "sort", position: "position", rowsToRender: "rowsToRender", totalColumns: "totalColumns", lockedWidth: "lockedWidth", nonLockedWidth: "nonLockedWidth", isLocked: "isLocked", selectable: "selectable", trackBy: "trackBy", groups: "groups", detailTemplate: "detailTemplate", filterable: "filterable", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", loading: "loading", size: "size", groupingMode: "groupingMode" }, host: { properties: { "class.k-grid-pinned-container": "this.hostClass", "attr.role": "this.role", "class.k-pos-bottom": "this.bottomClass" } }, providers: [{ provide: IS_PIN_CONTAINER, useValue: true }], viewQueries: [{ propertyName: "pinnedWrapper", first: true, predicate: ["pinnedWrapper"], descendants: true, static: true }, { propertyName: "lockedTable", first: true, predicate: ["lockedTable"], descendants: true }, { propertyName: "pinnedTable", first: true, predicate: ["pinnedTable"], descendants: true, static: true }], ngImport: i0, template: `
35699
35720
  @if (isLocked) {
35700
35721
  <div class="k-grid-content-locked" role="presentation" [style.width.px]="lockedWidth">
35701
35722
  <table #lockedTable class="k-grid-table"
35702
35723
  kendoGridTable
35703
35724
  kendoGridResizableTable
35725
+ role="none"
35704
35726
  [locked]="true"
35705
35727
  [size]="size"
35706
35728
  [style.width.px]="lockedWidth">
@@ -35733,12 +35755,14 @@ class RowPinContainerComponent {
35733
35755
  </table>
35734
35756
  </div>
35735
35757
  }
35736
- <div #pinnedWrapper class="k-grid-pinned-wrap">
35758
+ <div #pinnedWrapper class="k-grid-pinned-wrap" role="none">
35737
35759
  <table #pinnedTable class="k-grid-table"
35738
35760
  kendoGridTable
35739
35761
  kendoGridResizableTable
35762
+ role="none"
35763
+ [attr.aria-label]="ariaLabel"
35740
35764
  [style.width.px]="nonLockedWidth"
35741
- [attr.aria-label]="ariaLabel">
35765
+ >
35742
35766
  <colgroup kendoGridColGroup
35743
35767
  [columns]="$any(nonLockedLeafColumns)"
35744
35768
  [sort]="sort"
@@ -35747,7 +35771,7 @@ class RowPinContainerComponent {
35747
35771
  [groupingMode]="groupingMode">
35748
35772
  </colgroup>
35749
35773
  <tbody kendoGridTableBody
35750
- role="presentation"
35774
+ role="rowgroup"
35751
35775
  [skipGroupDecoration]="isLocked"
35752
35776
  [rowsToRender]="rowsToRender"
35753
35777
  [columns]="$any(nonLockedLeafColumns)"
@@ -35779,6 +35803,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
35779
35803
  <table #lockedTable class="k-grid-table"
35780
35804
  kendoGridTable
35781
35805
  kendoGridResizableTable
35806
+ role="none"
35782
35807
  [locked]="true"
35783
35808
  [size]="size"
35784
35809
  [style.width.px]="lockedWidth">
@@ -35811,12 +35836,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
35811
35836
  </table>
35812
35837
  </div>
35813
35838
  }
35814
- <div #pinnedWrapper class="k-grid-pinned-wrap">
35839
+ <div #pinnedWrapper class="k-grid-pinned-wrap" role="none">
35815
35840
  <table #pinnedTable class="k-grid-table"
35816
35841
  kendoGridTable
35817
35842
  kendoGridResizableTable
35843
+ role="none"
35844
+ [attr.aria-label]="ariaLabel"
35818
35845
  [style.width.px]="nonLockedWidth"
35819
- [attr.aria-label]="ariaLabel">
35846
+ >
35820
35847
  <colgroup kendoGridColGroup
35821
35848
  [columns]="$any(nonLockedLeafColumns)"
35822
35849
  [sort]="sort"
@@ -35825,7 +35852,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
35825
35852
  [groupingMode]="groupingMode">
35826
35853
  </colgroup>
35827
35854
  <tbody kendoGridTableBody
35828
- role="presentation"
35855
+ role="rowgroup"
35829
35856
  [skipGroupDecoration]="isLocked"
35830
35857
  [rowsToRender]="rowsToRender"
35831
35858
  [columns]="$any(nonLockedLeafColumns)"
@@ -35862,6 +35889,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
35862
35889
  }], hostClass: [{
35863
35890
  type: HostBinding,
35864
35891
  args: ['class.k-grid-pinned-container']
35892
+ }], role: [{
35893
+ type: HostBinding,
35894
+ args: ['attr.role']
35865
35895
  }], bottomClass: [{
35866
35896
  type: HostBinding,
35867
35897
  args: ['class.k-pos-bottom']
@@ -37891,7 +37921,8 @@ class GridComponent {
37891
37921
  else {
37892
37922
  cols = columns;
37893
37923
  }
37894
- this.columnResizingService.autoFit(...cols);
37924
+ const leafCols = Array.from(new Set(leafColumns(cols)));
37925
+ this.columnResizingService.autoFit(...leafCols);
37895
37926
  }
37896
37927
  /**
37897
37928
  * Adjusts the width of the Grid columns to fit the entire Grid width.
@@ -39409,19 +39440,19 @@ class GridComponent {
39409
39440
  @if (!hideHeader && !isStacked) {
39410
39441
  <div
39411
39442
  class="k-grid-header"
39443
+ [attr.role]="isLocked ? 'none' : null"
39412
39444
  [class.k-grid-draggable-header]="groupable || reorderable"
39413
- role="presentation"
39414
39445
  [style.padding]="headerPadding">
39415
39446
  @if (isLocked) {
39416
39447
  <div
39417
39448
  #lockedHeader
39418
- role="presentation"
39449
+ role="none"
39419
39450
  class="k-grid-header-locked"
39420
39451
  [style.width.px]="lockedWidth">
39421
39452
  <table
39422
39453
  kendoGridResizableTable
39423
39454
  [locked]="true"
39424
- role="presentation"
39455
+ role="none"
39425
39456
  class="k-grid-header-table"
39426
39457
  [style.width.px]="lockedWidth"
39427
39458
  kendoGridTable
@@ -39456,11 +39487,11 @@ class GridComponent {
39456
39487
  </table>
39457
39488
  </div>
39458
39489
  }
39459
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
39490
+ <div #header class="k-grid-header-wrap" data-scrollable [attr.role]="isLocked ? 'none' : null"
39460
39491
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
39461
39492
  [lockedWidth]="lockedWidth + scrollbarWidth + 2">
39462
39493
  <table
39463
- role="presentation"
39494
+ role="none"
39464
39495
  class="k-grid-header-table"
39465
39496
  [style.width.px]="nonLockedWidth"
39466
39497
  kendoGridResizableTable
@@ -39475,7 +39506,6 @@ class GridComponent {
39475
39506
  </colgroup>
39476
39507
  <thead kendoGridHeader
39477
39508
  [resizable]="resizable"
39478
- role="rowgroup"
39479
39509
  [scrollable]="true"
39480
39510
  [columns]="headerColumns"
39481
39511
  [totalColumnLevels]="totalColumnLevels"
@@ -39591,7 +39621,7 @@ class GridComponent {
39591
39621
  class="k-grid-footer-locked"
39592
39622
  [style.width.px]="lockedWidth">
39593
39623
  <table
39594
- role="presentation"
39624
+ role="none"
39595
39625
  class="k-grid-footer-table"
39596
39626
  kendoGridResizableTable
39597
39627
  [locked]="true"
@@ -39611,7 +39641,7 @@ class GridComponent {
39611
39641
  [groups]="group"
39612
39642
  [columns]="$any(lockedLeafColumns)"
39613
39643
  [detailTemplate]="detailTemplate"
39614
- [logicalRowIndex]="ariaRowCount"
39644
+ [logicalRowIndex]="ariaRowCount - view.total + view.length"
39615
39645
  [totalColumns]="columnsContainer"
39616
39646
  [totalColumnsCount]="leafColumns.length"
39617
39647
  [groupingMode]="groupingMode">
@@ -39624,7 +39654,7 @@ class GridComponent {
39624
39654
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0 && !isStacked"
39625
39655
  [lockedWidth]="lockedWidth + scrollbarWidth + 3">
39626
39656
  <table
39627
- role="presentation"
39657
+ role="none"
39628
39658
  class="k-grid-footer-table"
39629
39659
  [style.width.px]="nonLockedWidth"
39630
39660
  kendoGridTable
@@ -39639,7 +39669,7 @@ class GridComponent {
39639
39669
  </colgroup>
39640
39670
  }
39641
39671
  <tfoot kendoGridFooter
39642
- [logicalRowIndex]="ariaRowCount"
39672
+ [logicalRowIndex]="ariaRowCount - view.total + view.length"
39643
39673
  [scrollable]="true"
39644
39674
  [groups]="isLocked ? [] : group"
39645
39675
  [columns]="$any(headerColumns)"
@@ -39682,7 +39712,7 @@ class GridComponent {
39682
39712
  kendoGridTable
39683
39713
  kendoGridResizableTable
39684
39714
  class="k-grid-table"
39685
- role="presentation"
39715
+ role="none"
39686
39716
  [size]="size">
39687
39717
  <colgroup kendoGridColGroup
39688
39718
  [columns]="$any(leafColumns)"
@@ -39695,7 +39725,6 @@ class GridComponent {
39695
39725
  <thead kendoGridHeader
39696
39726
  class="k-grid-header"
39697
39727
  [class.k-grid-draggable-header]="groupable || reorderable"
39698
- role="rowgroup"
39699
39728
  [resizable]="resizable"
39700
39729
  [scrollable]="false"
39701
39730
  [columns]="$any(visibleColumns)"
@@ -40542,19 +40571,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40542
40571
  @if (!hideHeader && !isStacked) {
40543
40572
  <div
40544
40573
  class="k-grid-header"
40574
+ [attr.role]="isLocked ? 'none' : null"
40545
40575
  [class.k-grid-draggable-header]="groupable || reorderable"
40546
- role="presentation"
40547
40576
  [style.padding]="headerPadding">
40548
40577
  @if (isLocked) {
40549
40578
  <div
40550
40579
  #lockedHeader
40551
- role="presentation"
40580
+ role="none"
40552
40581
  class="k-grid-header-locked"
40553
40582
  [style.width.px]="lockedWidth">
40554
40583
  <table
40555
40584
  kendoGridResizableTable
40556
40585
  [locked]="true"
40557
- role="presentation"
40586
+ role="none"
40558
40587
  class="k-grid-header-table"
40559
40588
  [style.width.px]="lockedWidth"
40560
40589
  kendoGridTable
@@ -40589,11 +40618,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40589
40618
  </table>
40590
40619
  </div>
40591
40620
  }
40592
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
40621
+ <div #header class="k-grid-header-wrap" data-scrollable [attr.role]="isLocked ? 'none' : null"
40593
40622
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
40594
40623
  [lockedWidth]="lockedWidth + scrollbarWidth + 2">
40595
40624
  <table
40596
- role="presentation"
40625
+ role="none"
40597
40626
  class="k-grid-header-table"
40598
40627
  [style.width.px]="nonLockedWidth"
40599
40628
  kendoGridResizableTable
@@ -40608,7 +40637,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40608
40637
  </colgroup>
40609
40638
  <thead kendoGridHeader
40610
40639
  [resizable]="resizable"
40611
- role="rowgroup"
40612
40640
  [scrollable]="true"
40613
40641
  [columns]="headerColumns"
40614
40642
  [totalColumnLevels]="totalColumnLevels"
@@ -40724,7 +40752,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40724
40752
  class="k-grid-footer-locked"
40725
40753
  [style.width.px]="lockedWidth">
40726
40754
  <table
40727
- role="presentation"
40755
+ role="none"
40728
40756
  class="k-grid-footer-table"
40729
40757
  kendoGridResizableTable
40730
40758
  [locked]="true"
@@ -40744,7 +40772,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40744
40772
  [groups]="group"
40745
40773
  [columns]="$any(lockedLeafColumns)"
40746
40774
  [detailTemplate]="detailTemplate"
40747
- [logicalRowIndex]="ariaRowCount"
40775
+ [logicalRowIndex]="ariaRowCount - view.total + view.length"
40748
40776
  [totalColumns]="columnsContainer"
40749
40777
  [totalColumnsCount]="leafColumns.length"
40750
40778
  [groupingMode]="groupingMode">
@@ -40757,7 +40785,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40757
40785
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0 && !isStacked"
40758
40786
  [lockedWidth]="lockedWidth + scrollbarWidth + 3">
40759
40787
  <table
40760
- role="presentation"
40788
+ role="none"
40761
40789
  class="k-grid-footer-table"
40762
40790
  [style.width.px]="nonLockedWidth"
40763
40791
  kendoGridTable
@@ -40772,7 +40800,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40772
40800
  </colgroup>
40773
40801
  }
40774
40802
  <tfoot kendoGridFooter
40775
- [logicalRowIndex]="ariaRowCount"
40803
+ [logicalRowIndex]="ariaRowCount - view.total + view.length"
40776
40804
  [scrollable]="true"
40777
40805
  [groups]="isLocked ? [] : group"
40778
40806
  [columns]="$any(headerColumns)"
@@ -40815,7 +40843,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40815
40843
  kendoGridTable
40816
40844
  kendoGridResizableTable
40817
40845
  class="k-grid-table"
40818
- role="presentation"
40846
+ role="none"
40819
40847
  [size]="size">
40820
40848
  <colgroup kendoGridColGroup
40821
40849
  [columns]="$any(leafColumns)"
@@ -40828,7 +40856,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40828
40856
  <thead kendoGridHeader
40829
40857
  class="k-grid-header"
40830
40858
  [class.k-grid-draggable-header]="groupable || reorderable"
40831
- role="rowgroup"
40832
40859
  [resizable]="resizable"
40833
40860
  [scrollable]="false"
40834
40861
  [columns]="$any(visibleColumns)"
package/index.d.ts CHANGED
@@ -4336,7 +4336,7 @@ declare class ListComponent implements OnInit, OnDestroy, AfterViewInit, AfterVi
4336
4336
  private dataMappingService;
4337
4337
  private stickyGroupsService;
4338
4338
  hostClass: boolean;
4339
- hostRole: string;
4339
+ get hostRole(): string;
4340
4340
  data: Array<any>;
4341
4341
  groups: Array<GroupDescriptor>;
4342
4342
  total: number;
@@ -5137,6 +5137,7 @@ declare class RowPinContainerComponent implements AfterViewChecked {
5137
5137
  private readonly lockedTable;
5138
5138
  private readonly pinnedTable;
5139
5139
  hostClass: boolean;
5140
+ role: string;
5140
5141
  get bottomClass(): boolean;
5141
5142
  leafColumns: any[];
5142
5143
  lockedLeafColumns: QueryList<ColumnBase>;
@@ -7366,6 +7367,8 @@ declare class ColGroupComponent {
7366
7367
  trackBy(index: number): number;
7367
7368
  isSorted(column: ColumnComponent): boolean;
7368
7369
  getColumnComponent(column: ColumnBase): ColumnComponent;
7370
+ isCheckboxColumn(column: ColumnBase): boolean;
7371
+ isRowReorderColumn(column: ColumnBase): boolean;
7369
7372
  private isSortable;
7370
7373
  private sortDescriptor;
7371
7374
  static ɵfac: i0.ɵɵFactoryDeclaration<ColGroupComponent, never>;
@@ -11339,7 +11342,8 @@ declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges, DoChec
11339
11342
  constructor(detailsService: DetailsService, groupsService: GroupsService, changeNotification: ChangeNotificationService, editService: EditService$1, ctx: ContextService, ngZone: NgZone, renderer: Renderer2, element: ElementRef, domEvents: DomEventsService, selectionService: SelectionService, cellSelectionService: CellSelectionService, columnInfoService: ColumnInfoService, navigationService: NavigationService);
11340
11343
  get newDataItem(): any;
11341
11344
  unlockedColumnsCount(item?: any): number;
11342
- isAriaSelected(item: any, column: ColumnBase): string;
11345
+ isAriaSelected(item: any, column: ColumnBase): string | null;
11346
+ isCheckboxColumn(column: ColumnBase): boolean;
11343
11347
  toggleRow(index: number, dataItem: any): boolean;
11344
11348
  detailButtonIconName(viewItem: any): string;
11345
11349
  detailButtonSvgIcon(viewItem: any): SVGIcon;
@@ -11403,7 +11407,6 @@ declare class CellComponent implements DoCheck, OnInit, OnDestroy {
11403
11407
  private scrollSyncService;
11404
11408
  get commandCellClass(): boolean;
11405
11409
  get dragHandleCellClass(): boolean;
11406
- get dragRowHandleLabel(): string;
11407
11410
  get rowPinLabel(): string;
11408
11411
  private pinContextMenu;
11409
11412
  private pinContextMenuTarget;
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1787574865,
11
- "version": "25.1.0-develop.8",
10
+ "publishDate": 1788865031,
11
+ "version": "25.1.0",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "25.1.0-develop.8",
3
+ "version": "25.1.0",
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",
@@ -101,7 +101,7 @@
101
101
  "package": {
102
102
  "productName": "Kendo UI for Angular",
103
103
  "productCode": "KENDOUIANGULAR",
104
- "publishDate": 1787574865,
104
+ "publishDate": 1788865031,
105
105
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
106
106
  }
107
107
  },
@@ -114,32 +114,32 @@
114
114
  "@progress/kendo-data-query": "^1.7.3",
115
115
  "@progress/kendo-drawing": "^1.25.0",
116
116
  "@progress/kendo-licensing": "^1.11.0",
117
- "@progress/kendo-angular-buttons": "25.1.0-develop.8",
118
- "@progress/kendo-angular-common": "25.1.0-develop.8",
119
- "@progress/kendo-angular-dateinputs": "25.1.0-develop.8",
120
- "@progress/kendo-angular-layout": "25.1.0-develop.8",
121
- "@progress/kendo-angular-navigation": "25.1.0-develop.8",
122
- "@progress/kendo-angular-dropdowns": "25.1.0-develop.8",
123
- "@progress/kendo-angular-excel-export": "25.1.0-develop.8",
124
- "@progress/kendo-angular-icons": "25.1.0-develop.8",
125
- "@progress/kendo-angular-indicators": "25.1.0-develop.8",
126
- "@progress/kendo-angular-inputs": "25.1.0-develop.8",
127
- "@progress/kendo-angular-conversational-ui": "25.1.0-develop.8",
128
- "@progress/kendo-angular-intl": "25.1.0-develop.8",
129
- "@progress/kendo-angular-l10n": "25.1.0-develop.8",
130
- "@progress/kendo-angular-label": "25.1.0-develop.8",
131
- "@progress/kendo-angular-menu": "25.1.0-develop.8",
132
- "@progress/kendo-angular-pager": "25.1.0-develop.8",
133
- "@progress/kendo-angular-pdf-export": "25.1.0-develop.8",
134
- "@progress/kendo-angular-popup": "25.1.0-develop.8",
135
- "@progress/kendo-angular-toolbar": "25.1.0-develop.8",
136
- "@progress/kendo-angular-upload": "25.1.0-develop.8",
137
- "@progress/kendo-angular-utils": "25.1.0-develop.8",
117
+ "@progress/kendo-angular-buttons": "25.1.0",
118
+ "@progress/kendo-angular-common": "25.1.0",
119
+ "@progress/kendo-angular-dateinputs": "25.1.0",
120
+ "@progress/kendo-angular-layout": "25.1.0",
121
+ "@progress/kendo-angular-navigation": "25.1.0",
122
+ "@progress/kendo-angular-dropdowns": "25.1.0",
123
+ "@progress/kendo-angular-excel-export": "25.1.0",
124
+ "@progress/kendo-angular-icons": "25.1.0",
125
+ "@progress/kendo-angular-indicators": "25.1.0",
126
+ "@progress/kendo-angular-inputs": "25.1.0",
127
+ "@progress/kendo-angular-conversational-ui": "25.1.0",
128
+ "@progress/kendo-angular-intl": "25.1.0",
129
+ "@progress/kendo-angular-l10n": "25.1.0",
130
+ "@progress/kendo-angular-label": "25.1.0",
131
+ "@progress/kendo-angular-menu": "25.1.0",
132
+ "@progress/kendo-angular-pager": "25.1.0",
133
+ "@progress/kendo-angular-pdf-export": "25.1.0",
134
+ "@progress/kendo-angular-popup": "25.1.0",
135
+ "@progress/kendo-angular-toolbar": "25.1.0",
136
+ "@progress/kendo-angular-upload": "25.1.0",
137
+ "@progress/kendo-angular-utils": "25.1.0",
138
138
  "rxjs": "^6.5.3 || ^7.0.0"
139
139
  },
140
140
  "dependencies": {
141
141
  "tslib": "^2.3.1",
142
- "@progress/kendo-angular-schematics": "25.1.0-develop.8",
142
+ "@progress/kendo-angular-schematics": "25.1.0",
143
143
  "@progress/kendo-common": "^1.0.1",
144
144
  "@progress/kendo-file-saver": "^1.0.0",
145
145
  "@progress/kendo-csv": "^1.0.0"
@@ -9,19 +9,19 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
11
11
  // peer deps of the dropdowns
12
- '@progress/kendo-angular-treeview': '25.1.0-develop.8',
13
- '@progress/kendo-angular-navigation': '25.1.0-develop.8',
12
+ '@progress/kendo-angular-treeview': '25.1.0',
13
+ '@progress/kendo-angular-navigation': '25.1.0',
14
14
  // peer dependency of kendo-angular-inputs
15
- '@progress/kendo-angular-dialog': '25.1.0-develop.8',
15
+ '@progress/kendo-angular-dialog': '25.1.0',
16
16
  // peer dependency of kendo-angular-icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0',
18
18
  // peer dependency of kendo-angular-layout
19
- '@progress/kendo-angular-progressbar': '25.1.0-develop.8',
19
+ '@progress/kendo-angular-progressbar': '25.1.0',
20
20
  // transitive peer dependencies from toolbar
21
- '@progress/kendo-angular-indicators': '25.1.0-develop.8',
21
+ '@progress/kendo-angular-indicators': '25.1.0',
22
22
  // transitive peer dependencies from conversational-ui
23
- '@progress/kendo-angular-menu': '25.1.0-develop.8',
24
- '@progress/kendo-angular-upload': '25.1.0-develop.8'
23
+ '@progress/kendo-angular-menu': '25.1.0',
24
+ '@progress/kendo-angular-upload': '25.1.0'
25
25
  } });
26
26
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
27
27
  }