@progress/kendo-angular-grid 25.1.0-develop.21 → 25.1.0-develop.22

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.
@@ -5092,6 +5092,12 @@ class ColGroupComponent {
5092
5092
  getColumnComponent(column) {
5093
5093
  return column;
5094
5094
  }
5095
+ isCheckboxColumn(column) {
5096
+ return isCheckboxColumn(column);
5097
+ }
5098
+ isRowReorderColumn(column) {
5099
+ return isRowReorderColumn(column);
5100
+ }
5095
5101
  isSortable(column) {
5096
5102
  return !isNullOrEmptyString(column.field) && isTruthy(column.sortable);
5097
5103
  }
@@ -5112,6 +5118,8 @@ class ColGroupComponent {
5112
5118
  @for (column of columnsToRender; track $index) {
5113
5119
  <col
5114
5120
  [style.width]="getColumnWidth(column)"
5121
+ [class.k-select-col]="isCheckboxColumn(column)"
5122
+ [class.k-drag-col]="isRowReorderColumn(column)"
5115
5123
  [class.k-sorted]="isSorted(getColumnComponent(column))"/>
5116
5124
  }
5117
5125
  </ng-container>
@@ -5134,6 +5142,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
5134
5142
  @for (column of columnsToRender; track $index) {
5135
5143
  <col
5136
5144
  [style.width]="getColumnWidth(column)"
5145
+ [class.k-select-col]="isCheckboxColumn(column)"
5146
+ [class.k-drag-col]="isRowReorderColumn(column)"
5137
5147
  [class.k-sorted]="isSorted(getColumnComponent(column))"/>
5138
5148
  }
5139
5149
  </ng-container>
@@ -5838,7 +5848,7 @@ class LogicalRowDirective {
5838
5848
  totalColumns;
5839
5849
  uid = nextId();
5840
5850
  get hostRole() {
5841
- return this.logicalSlaveRow ? 'presentation' : 'row';
5851
+ return this.logicalSlaveRow ? 'none' : 'row';
5842
5852
  }
5843
5853
  get ariaRowIndex() {
5844
5854
  return this.logicalSlaveRow ? null : this.logicalRowIndex + 1;
@@ -6353,7 +6363,6 @@ class GroupHeaderComponent {
6353
6363
  @if (groupingMode === 'default') {
6354
6364
  <td [attr.colspan]="groupSpan(item)"
6355
6365
  [attr.role]="ariaRole()"
6356
- aria-selected="false"
6357
6366
  class="k-table-td"
6358
6367
  [attr.aria-expanded]="isExpanded"
6359
6368
  kendoGridLogicalCell
@@ -6426,7 +6435,6 @@ class GroupHeaderComponent {
6426
6435
  }
6427
6436
  <td [attr.colspan]="groupSpan(item)"
6428
6437
  role="gridcell"
6429
- aria-selected="false"
6430
6438
  class="k-table-td"
6431
6439
  [class.k-grid-content-sticky]="groupColumnForItem(item)?.sticky"
6432
6440
  [ngStyle]="groupColumnForItem(item)?.sticky ? addStickyStyles(groupColumnForItem(item)) : null"
@@ -6485,7 +6493,6 @@ class GroupHeaderComponent {
6485
6493
  <td
6486
6494
  role="gridcell"
6487
6495
  class="k-table-td"
6488
- aria-selected="false"
6489
6496
  kendoGridLogicalCell
6490
6497
  [logicalRowIndex]="logicalRowIndex"
6491
6498
  [logicalColIndex]="index + 1"
@@ -6528,7 +6535,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
6528
6535
  @if (groupingMode === 'default') {
6529
6536
  <td [attr.colspan]="groupSpan(item)"
6530
6537
  [attr.role]="ariaRole()"
6531
- aria-selected="false"
6532
6538
  class="k-table-td"
6533
6539
  [attr.aria-expanded]="isExpanded"
6534
6540
  kendoGridLogicalCell
@@ -6601,7 +6607,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
6601
6607
  }
6602
6608
  <td [attr.colspan]="groupSpan(item)"
6603
6609
  role="gridcell"
6604
- aria-selected="false"
6605
6610
  class="k-table-td"
6606
6611
  [class.k-grid-content-sticky]="groupColumnForItem(item)?.sticky"
6607
6612
  [ngStyle]="groupColumnForItem(item)?.sticky ? addStickyStyles(groupColumnForItem(item)) : null"
@@ -6660,7 +6665,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
6660
6665
  <td
6661
6666
  role="gridcell"
6662
6667
  class="k-table-td"
6663
- aria-selected="false"
6664
6668
  kendoGridLogicalCell
6665
6669
  [logicalRowIndex]="logicalRowIndex"
6666
6670
  [logicalColIndex]="index + 1"
@@ -22168,14 +22172,14 @@ class CellComponent {
22168
22172
  get dragHandleCellClass() {
22169
22173
  return isRowReorderColumn(this.column);
22170
22174
  }
22171
- get dragRowHandleLabel() {
22172
- return isRowReorderColumn(this.column) ? this.ctx.localization.get('dragRowHandleLabel') : undefined;
22173
- }
22174
22175
  get rowPinLabel() {
22175
22176
  const isRowPinned = this.isRowPinnedTop || this.isRowPinnedBottom;
22176
22177
  if (isRowPinColumn(this.column)) {
22177
22178
  return isRowPinned ? this.ctx.localization.get('rowUnpinLabel') : this.ctx.localization.get('rowPinLabel');
22178
22179
  }
22180
+ if (isRowReorderColumn(this.column)) {
22181
+ return this.ctx.localization.get('dragRowHandleLabel');
22182
+ }
22179
22183
  return undefined;
22180
22184
  }
22181
22185
  pinContextMenu;
@@ -22987,9 +22991,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
22987
22991
  }, {
22988
22992
  type: HostBinding,
22989
22993
  args: ['class.k-touch-action-none']
22990
- }], dragRowHandleLabel: [{
22991
- type: HostBinding,
22992
- args: ['attr.aria-label']
22993
22994
  }], rowPinLabel: [{
22994
22995
  type: HostBinding,
22995
22996
  args: ['attr.aria-label']
@@ -23131,7 +23132,10 @@ class TableBodyComponent {
23131
23132
  }
23132
23133
  isAriaSelected(item, column) {
23133
23134
  return this.cellSelectionService.isCellSelected(item, column) ||
23134
- this.isRowSelected(item) ? 'true' : 'false';
23135
+ this.isRowSelected(item) ? 'true' : null;
23136
+ }
23137
+ isCheckboxColumn(column) {
23138
+ return isCheckboxColumn(column);
23135
23139
  }
23136
23140
  toggleRow(index, dataItem) {
23137
23141
  this.detailsService.toggleRow(index, dataItem);
@@ -23539,7 +23543,7 @@ class TableBodyComponent {
23539
23543
  }
23540
23544
  }
23541
23545
  @if (detailTemplate?.templateRef && !isStackedMode) {
23542
- <td class="k-hierarchy-cell k-table-td"
23546
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"
23543
23547
  kendoGridLogicalCell
23544
23548
  [logicalRowIndex]="addRowLogicalIndex()"
23545
23549
  [logicalColIndex]="0"
@@ -23644,7 +23648,7 @@ class TableBodyComponent {
23644
23648
  [class.k-pinned-source]="isRowPinned(item.data) && !isPinContainer"
23645
23649
  [class.k-expanded]="item.isExpanded && !isStackedMode"
23646
23650
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
23647
- [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"
23648
23652
  [attr.data-kendo-grid-item-index]="$any(item).index"
23649
23653
  [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)"
23650
23654
  [class.k-highlighted]="item.isHighlighted">
@@ -23663,7 +23667,7 @@ class TableBodyComponent {
23663
23667
  [dataRowIndex]="$any(item).index"
23664
23668
  [dataItem]="item.data"
23665
23669
  [detailExpandCell]="true"
23666
- aria-selected="false"
23670
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null"
23667
23671
  role="gridcell"
23668
23672
  [attr.aria-expanded]="item.isExpanded">
23669
23673
  @if (detailTemplate.showIf(item.data, $any(item).index)) {
@@ -23697,6 +23701,7 @@ class TableBodyComponent {
23697
23701
  [dataItem]="item.data"
23698
23702
  [colIndex]="0"
23699
23703
  class="k-table-td"
23704
+ role="gridcell"
23700
23705
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag">
23701
23706
  </td>
23702
23707
  } @else {
@@ -23729,7 +23734,8 @@ class TableBodyComponent {
23729
23734
  [rowSpan]="item.cells[lockedColumnsCount + columnIndex]?.rowspan"
23730
23735
  [attr.role]="column.tableCellsRole"
23731
23736
  class="k-table-td"
23732
- [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"
23733
23739
  [class.k-grid-content-sticky]="column.sticky"
23734
23740
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag"
23735
23741
  [ngClass]="column.cssClass"
@@ -23759,7 +23765,7 @@ class TableBodyComponent {
23759
23765
  @for (g of groups; track $index) {
23760
23766
  <td class="k-group-cell k-table-td k-table-group-td"></td>
23761
23767
  }
23762
- <td class="k-hierarchy-cell k-table-td"></td>
23768
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"></td>
23763
23769
  <td class="k-detail-cell k-table-td"
23764
23770
  [attr.colspan]="columnsSpan"
23765
23771
  kendoGridLogicalCell
@@ -23769,7 +23775,8 @@ class TableBodyComponent {
23769
23775
  [dataItem]="item.data"
23770
23776
  [colIndex]="0"
23771
23777
  [colSpan]="allColumnsSpan + 1"
23772
- role="gridcell" aria-selected="false">
23778
+ role="gridcell"
23779
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null">
23773
23780
  <ng-template
23774
23781
  [ngTemplateOutlet]="detailTemplate.templateRef"
23775
23782
  [ngTemplateOutletContext]="{
@@ -23790,7 +23797,7 @@ class TableBodyComponent {
23790
23797
  [colIndex]="0"
23791
23798
  [colSpan]="allColumnsSpan + 1"
23792
23799
  role="gridcell"
23793
- aria-selected="false">
23800
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null">
23794
23801
  <ng-template
23795
23802
  [ngTemplateOutlet]="detailTemplate.templateRef"
23796
23803
  [ngTemplateOutletContext]="{
@@ -23821,7 +23828,7 @@ class TableBodyComponent {
23821
23828
  }
23822
23829
  }
23823
23830
  @if (detailTemplate?.templateRef && !isStackedMode) {
23824
- <td class="k-hierarchy-cell k-table-td"
23831
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"
23825
23832
  kendoGridLogicalCell
23826
23833
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
23827
23834
  [logicalColIndex]="0"
@@ -23904,7 +23911,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
23904
23911
  }
23905
23912
  }
23906
23913
  @if (detailTemplate?.templateRef && !isStackedMode) {
23907
- <td class="k-hierarchy-cell k-table-td"
23914
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"
23908
23915
  kendoGridLogicalCell
23909
23916
  [logicalRowIndex]="addRowLogicalIndex()"
23910
23917
  [logicalColIndex]="0"
@@ -24009,7 +24016,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24009
24016
  [class.k-pinned-source]="isRowPinned(item.data) && !isPinContainer"
24010
24017
  [class.k-expanded]="item.isExpanded && !isStackedMode"
24011
24018
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
24012
- [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"
24013
24020
  [attr.data-kendo-grid-item-index]="$any(item).index"
24014
24021
  [class.k-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item)"
24015
24022
  [class.k-highlighted]="item.isHighlighted">
@@ -24028,7 +24035,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24028
24035
  [dataRowIndex]="$any(item).index"
24029
24036
  [dataItem]="item.data"
24030
24037
  [detailExpandCell]="true"
24031
- aria-selected="false"
24038
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null"
24032
24039
  role="gridcell"
24033
24040
  [attr.aria-expanded]="item.isExpanded">
24034
24041
  @if (detailTemplate.showIf(item.data, $any(item).index)) {
@@ -24062,6 +24069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24062
24069
  [dataItem]="item.data"
24063
24070
  [colIndex]="0"
24064
24071
  class="k-table-td"
24072
+ role="gridcell"
24065
24073
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag">
24066
24074
  </td>
24067
24075
  } @else {
@@ -24094,7 +24102,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24094
24102
  [rowSpan]="item.cells[lockedColumnsCount + columnIndex]?.rowspan"
24095
24103
  [attr.role]="column.tableCellsRole"
24096
24104
  class="k-table-td"
24097
- [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"
24098
24107
  [class.k-grid-content-sticky]="column.sticky"
24099
24108
  [class.k-touch-action-none]="isSelectable({ dataItem: item.data, index: $any(item).index }) && $any(selectable).drag"
24100
24109
  [ngClass]="column.cssClass"
@@ -24124,7 +24133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24124
24133
  @for (g of groups; track $index) {
24125
24134
  <td class="k-group-cell k-table-td k-table-group-td"></td>
24126
24135
  }
24127
- <td class="k-hierarchy-cell k-table-td"></td>
24136
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"></td>
24128
24137
  <td class="k-detail-cell k-table-td"
24129
24138
  [attr.colspan]="columnsSpan"
24130
24139
  kendoGridLogicalCell
@@ -24134,7 +24143,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24134
24143
  [dataItem]="item.data"
24135
24144
  [colIndex]="0"
24136
24145
  [colSpan]="allColumnsSpan + 1"
24137
- role="gridcell" aria-selected="false">
24146
+ role="gridcell"
24147
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null">
24138
24148
  <ng-template
24139
24149
  [ngTemplateOutlet]="detailTemplate.templateRef"
24140
24150
  [ngTemplateOutletContext]="{
@@ -24155,7 +24165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24155
24165
  [colIndex]="0"
24156
24166
  [colSpan]="allColumnsSpan + 1"
24157
24167
  role="gridcell"
24158
- aria-selected="false">
24168
+ [attr.aria-selected]="isSelectable({ dataItem: item.data, index: $any(item).index }) && isRowSelected(item) ? 'true' : null">
24159
24169
  <ng-template
24160
24170
  [ngTemplateOutlet]="detailTemplate.templateRef"
24161
24171
  [ngTemplateOutletContext]="{
@@ -24186,7 +24196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
24186
24196
  }
24187
24197
  }
24188
24198
  @if (detailTemplate?.templateRef && !isStackedMode) {
24189
- <td class="k-hierarchy-cell k-table-td"
24199
+ <td class="k-hierarchy-cell k-table-td" role="gridcell"
24190
24200
  kendoGridLogicalCell
24191
24201
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
24192
24202
  [logicalColIndex]="0"
@@ -25175,8 +25185,8 @@ const packageMetadata = {
25175
25185
  productName: 'Kendo UI for Angular',
25176
25186
  productCode: 'KENDOUIANGULAR',
25177
25187
  productCodes: ['KENDOUIANGULAR'],
25178
- publishDate: 1788250799,
25179
- version: '25.1.0-develop.21',
25188
+ publishDate: 1788265501,
25189
+ version: '25.1.0-develop.22',
25180
25190
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
25181
25191
  };
25182
25192
 
@@ -29256,7 +29266,7 @@ class StickyGroupContainerComponent {
29256
29266
  if (meta) {
29257
29267
  const gridContainer = this.el.nativeElement.closest('.k-grid-container');
29258
29268
  const scrollContainer = gridContainer
29259
- ?.querySelector('.k-grid-content.k-virtual-content');
29269
+ ?.querySelector('.k-grid-content');
29260
29270
  if (scrollContainer) {
29261
29271
  this.stickyGroupsService.suppressNextUpdate = true;
29262
29272
  scrollContainer.scrollTop = 0;
@@ -29529,7 +29539,7 @@ class StickyGroupContainerComponent {
29529
29539
  { provide: SKIP_CELL_NAVIGATION, useValue: true }
29530
29540
  ], ngImport: i0, template: `
29531
29541
  @if (isLocked) {
29532
- <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">
29533
29543
  <table
29534
29544
  class="k-grid-table k-table"
29535
29545
  [class.k-grid-group-sticky-header-table]="position === 'top'"
@@ -29544,7 +29554,7 @@ class StickyGroupContainerComponent {
29544
29554
  [detailTemplate]="detailTemplate"
29545
29555
  [groupingMode]="groupingMode">
29546
29556
  </colgroup>
29547
- <tbody class="k-table-tbody" role="presentation">
29557
+ <tbody class="k-table-tbody">
29548
29558
  @if (position === 'top') {
29549
29559
  @for (stickyItem of items; track stickyItem.flatIndex) {
29550
29560
  <tr role="row"
@@ -29570,7 +29580,7 @@ class StickyGroupContainerComponent {
29570
29580
  @if (position === 'bottom') {
29571
29581
  @for (stickyItem of items; track stickyItem.flatIndex; let rowIdx = $index) {
29572
29582
  <tr role="row"
29573
- class="k-group-footer"
29583
+ class="k-group-footer k-table-row"
29574
29584
  [attr.aria-rowindex]="stickyItem.flatIndex + 1"
29575
29585
  [attr.data-sticky-row]="rowIdx">
29576
29586
  @if (groupingMode === 'default') {
@@ -29579,8 +29589,7 @@ class StickyGroupContainerComponent {
29579
29589
  }
29580
29590
  }
29581
29591
  @if (detailTemplate?.templateRef) {
29582
- <td class="k-hierarchy-cell k-table-td" role="gridcell"
29583
- aria-selected="false">
29592
+ <td class="k-hierarchy-cell k-table-td" role="gridcell">
29584
29593
  </td>
29585
29594
  }
29586
29595
  @for (column of lockedFooterColumns; track $index; let columnIndex = $index) {
@@ -29608,7 +29617,7 @@ class StickyGroupContainerComponent {
29608
29617
  </table>
29609
29618
  </div>
29610
29619
  }
29611
- <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"
29612
29621
  [style.width.px]="isLocked ? wrapWidth : null">
29613
29622
  <table
29614
29623
  class="k-grid-table k-table"
@@ -29624,7 +29633,7 @@ class StickyGroupContainerComponent {
29624
29633
  [detailTemplate]="isLocked ? null : detailTemplate"
29625
29634
  [groupingMode]="groupingMode">
29626
29635
  </colgroup>
29627
- <tbody class="k-table-tbody" role="rowgroup">
29636
+ <tbody class="k-table-tbody">
29628
29637
  @if (position === 'top') {
29629
29638
  @for (stickyItem of items; track stickyItem.flatIndex) {
29630
29639
  <tr role="row"
@@ -29650,7 +29659,7 @@ class StickyGroupContainerComponent {
29650
29659
  @if (position === 'bottom') {
29651
29660
  @for (stickyItem of items; track stickyItem.flatIndex; let rowIdx = $index) {
29652
29661
  <tr role="row"
29653
- class="k-group-footer"
29662
+ class="k-group-footer k-table-row"
29654
29663
  [attr.aria-rowindex]="stickyItem.flatIndex + 1"
29655
29664
  [attr.data-sticky-row]="rowIdx">
29656
29665
  @if (!isLocked) {
@@ -29660,8 +29669,7 @@ class StickyGroupContainerComponent {
29660
29669
  }
29661
29670
  }
29662
29671
  @if (detailTemplate?.templateRef && !isStacked) {
29663
- <td class="k-hierarchy-cell k-table-td" role="gridcell"
29664
- aria-selected="false">
29672
+ <td class="k-hierarchy-cell k-table-td" role="gridcell">
29665
29673
  </td>
29666
29674
  }
29667
29675
  }
@@ -29721,7 +29729,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29721
29729
  changeDetection: ChangeDetectionStrategy.OnPush,
29722
29730
  template: `
29723
29731
  @if (isLocked) {
29724
- <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">
29725
29733
  <table
29726
29734
  class="k-grid-table k-table"
29727
29735
  [class.k-grid-group-sticky-header-table]="position === 'top'"
@@ -29736,7 +29744,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29736
29744
  [detailTemplate]="detailTemplate"
29737
29745
  [groupingMode]="groupingMode">
29738
29746
  </colgroup>
29739
- <tbody class="k-table-tbody" role="presentation">
29747
+ <tbody class="k-table-tbody">
29740
29748
  @if (position === 'top') {
29741
29749
  @for (stickyItem of items; track stickyItem.flatIndex) {
29742
29750
  <tr role="row"
@@ -29762,7 +29770,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29762
29770
  @if (position === 'bottom') {
29763
29771
  @for (stickyItem of items; track stickyItem.flatIndex; let rowIdx = $index) {
29764
29772
  <tr role="row"
29765
- class="k-group-footer"
29773
+ class="k-group-footer k-table-row"
29766
29774
  [attr.aria-rowindex]="stickyItem.flatIndex + 1"
29767
29775
  [attr.data-sticky-row]="rowIdx">
29768
29776
  @if (groupingMode === 'default') {
@@ -29771,8 +29779,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29771
29779
  }
29772
29780
  }
29773
29781
  @if (detailTemplate?.templateRef) {
29774
- <td class="k-hierarchy-cell k-table-td" role="gridcell"
29775
- aria-selected="false">
29782
+ <td class="k-hierarchy-cell k-table-td" role="gridcell">
29776
29783
  </td>
29777
29784
  }
29778
29785
  @for (column of lockedFooterColumns; track $index; let columnIndex = $index) {
@@ -29800,7 +29807,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29800
29807
  </table>
29801
29808
  </div>
29802
29809
  }
29803
- <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"
29804
29811
  [style.width.px]="isLocked ? wrapWidth : null">
29805
29812
  <table
29806
29813
  class="k-grid-table k-table"
@@ -29816,7 +29823,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29816
29823
  [detailTemplate]="isLocked ? null : detailTemplate"
29817
29824
  [groupingMode]="groupingMode">
29818
29825
  </colgroup>
29819
- <tbody class="k-table-tbody" role="rowgroup">
29826
+ <tbody class="k-table-tbody">
29820
29827
  @if (position === 'top') {
29821
29828
  @for (stickyItem of items; track stickyItem.flatIndex) {
29822
29829
  <tr role="row"
@@ -29842,7 +29849,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29842
29849
  @if (position === 'bottom') {
29843
29850
  @for (stickyItem of items; track stickyItem.flatIndex; let rowIdx = $index) {
29844
29851
  <tr role="row"
29845
- class="k-group-footer"
29852
+ class="k-group-footer k-table-row"
29846
29853
  [attr.aria-rowindex]="stickyItem.flatIndex + 1"
29847
29854
  [attr.data-sticky-row]="rowIdx">
29848
29855
  @if (!isLocked) {
@@ -29852,8 +29859,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
29852
29859
  }
29853
29860
  }
29854
29861
  @if (detailTemplate?.templateRef && !isStacked) {
29855
- <td class="k-hierarchy-cell k-table-td" role="gridcell"
29856
- aria-selected="false">
29862
+ <td class="k-hierarchy-cell k-table-td" role="gridcell">
29857
29863
  </td>
29858
29864
  }
29859
29865
  }
@@ -30029,7 +30035,9 @@ class ListComponent {
30029
30035
  dataMappingService;
30030
30036
  stickyGroupsService;
30031
30037
  hostClass = true;
30032
- hostRole = 'presentation';
30038
+ get hostRole() {
30039
+ return this.isLocked ? 'none' : null;
30040
+ }
30033
30041
  data;
30034
30042
  groups = [];
30035
30043
  total;
@@ -31424,7 +31432,7 @@ class ListComponent {
31424
31432
  </div>
31425
31433
  }
31426
31434
  @if (isLocked && !isStacked) {
31427
- <div #lockedContainer class="k-grid-content-locked" role="presentation"
31435
+ <div #lockedContainer class="k-grid-content-locked" role="none"
31428
31436
  [style.width.px]="lockedWidth" tabindex="-1"
31429
31437
  [kendoEventsOutsideAngular]="{
31430
31438
  keydown: lockedKeydown,
@@ -31434,13 +31442,13 @@ class ListComponent {
31434
31442
  }"
31435
31443
  [scope]="this"
31436
31444
  >
31437
- <div role="presentation">
31445
+ <div>
31438
31446
  <table
31439
31447
  kendoGridResizableTable
31440
31448
  [locked]="true"
31441
31449
  #lockedTable
31442
31450
  class="k-grid-table"
31443
- role="presentation"
31451
+ role="none"
31444
31452
  kendoGridTable
31445
31453
  [size]="size"
31446
31454
  [style.width.px]="lockedWidth">
@@ -31485,12 +31493,13 @@ class ListComponent {
31485
31493
  }
31486
31494
  <div
31487
31495
  #container
31488
- class="k-grid-content k-virtual-content"
31496
+ class="k-grid-content"
31497
+ [attr.role]="isLocked ? 'none' : null"
31489
31498
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
31490
31499
  [lockedWidth]="lockedWidth + 1"
31491
31500
  tabindex="-1"
31492
31501
  >
31493
- <div role="presentation">
31502
+ <div>
31494
31503
  <table
31495
31504
  [style.width.px]="nonLockedWidth"
31496
31505
  #table
@@ -31499,7 +31508,7 @@ class ListComponent {
31499
31508
  class="k-grid-table"
31500
31509
  kendoGridTable
31501
31510
  [size]="size"
31502
- role="presentation">
31511
+ role="none">
31503
31512
  <colgroup kendoGridColGroup
31504
31513
  [groups]="isLocked ? [] : groups"
31505
31514
  [columns]="$any(nonLockedColumnsToRender)"
@@ -31508,7 +31517,6 @@ class ListComponent {
31508
31517
  [groupingMode]="groupingMode">
31509
31518
  </colgroup>
31510
31519
  <tbody kendoGridTableBody
31511
- role="rowgroup"
31512
31520
  [skipGroupDecoration]="isLocked"
31513
31521
  [rowsToRender]="itemsToRender"
31514
31522
  [groups]="groups"
@@ -31601,7 +31609,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31601
31609
  </div>
31602
31610
  }
31603
31611
  @if (isLocked && !isStacked) {
31604
- <div #lockedContainer class="k-grid-content-locked" role="presentation"
31612
+ <div #lockedContainer class="k-grid-content-locked" role="none"
31605
31613
  [style.width.px]="lockedWidth" tabindex="-1"
31606
31614
  [kendoEventsOutsideAngular]="{
31607
31615
  keydown: lockedKeydown,
@@ -31611,13 +31619,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31611
31619
  }"
31612
31620
  [scope]="this"
31613
31621
  >
31614
- <div role="presentation">
31622
+ <div>
31615
31623
  <table
31616
31624
  kendoGridResizableTable
31617
31625
  [locked]="true"
31618
31626
  #lockedTable
31619
31627
  class="k-grid-table"
31620
- role="presentation"
31628
+ role="none"
31621
31629
  kendoGridTable
31622
31630
  [size]="size"
31623
31631
  [style.width.px]="lockedWidth">
@@ -31662,12 +31670,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31662
31670
  }
31663
31671
  <div
31664
31672
  #container
31665
- class="k-grid-content k-virtual-content"
31673
+ class="k-grid-content"
31674
+ [attr.role]="isLocked ? 'none' : null"
31666
31675
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
31667
31676
  [lockedWidth]="lockedWidth + 1"
31668
31677
  tabindex="-1"
31669
31678
  >
31670
- <div role="presentation">
31679
+ <div>
31671
31680
  <table
31672
31681
  [style.width.px]="nonLockedWidth"
31673
31682
  #table
@@ -31676,7 +31685,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31676
31685
  class="k-grid-table"
31677
31686
  kendoGridTable
31678
31687
  [size]="size"
31679
- role="presentation">
31688
+ role="none">
31680
31689
  <colgroup kendoGridColGroup
31681
31690
  [groups]="isLocked ? [] : groups"
31682
31691
  [columns]="$any(nonLockedColumnsToRender)"
@@ -31685,7 +31694,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
31685
31694
  [groupingMode]="groupingMode">
31686
31695
  </colgroup>
31687
31696
  <tbody kendoGridTableBody
31688
- role="rowgroup"
31689
31697
  [skipGroupDecoration]="isLocked"
31690
31698
  [rowsToRender]="itemsToRender"
31691
31699
  [groups]="groups"
@@ -35671,6 +35679,7 @@ class RowPinContainerComponent {
35671
35679
  lockedTable;
35672
35680
  pinnedTable;
35673
35681
  hostClass = true;
35682
+ role = 'none';
35674
35683
  get bottomClass() {
35675
35684
  return this.position === 'bottom';
35676
35685
  }
@@ -35707,12 +35716,13 @@ class RowPinContainerComponent {
35707
35716
  return this.localization.get(labelKey);
35708
35717
  }
35709
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 });
35710
- 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: `
35711
35720
  @if (isLocked) {
35712
35721
  <div class="k-grid-content-locked" role="presentation" [style.width.px]="lockedWidth">
35713
35722
  <table #lockedTable class="k-grid-table"
35714
35723
  kendoGridTable
35715
35724
  kendoGridResizableTable
35725
+ role="none"
35716
35726
  [locked]="true"
35717
35727
  [size]="size"
35718
35728
  [style.width.px]="lockedWidth">
@@ -35745,12 +35755,14 @@ class RowPinContainerComponent {
35745
35755
  </table>
35746
35756
  </div>
35747
35757
  }
35748
- <div #pinnedWrapper class="k-grid-pinned-wrap">
35758
+ <div #pinnedWrapper class="k-grid-pinned-wrap" role="none">
35749
35759
  <table #pinnedTable class="k-grid-table"
35750
35760
  kendoGridTable
35751
35761
  kendoGridResizableTable
35762
+ role="none"
35763
+ [attr.aria-label]="ariaLabel"
35752
35764
  [style.width.px]="nonLockedWidth"
35753
- [attr.aria-label]="ariaLabel">
35765
+ >
35754
35766
  <colgroup kendoGridColGroup
35755
35767
  [columns]="$any(nonLockedLeafColumns)"
35756
35768
  [sort]="sort"
@@ -35759,7 +35771,7 @@ class RowPinContainerComponent {
35759
35771
  [groupingMode]="groupingMode">
35760
35772
  </colgroup>
35761
35773
  <tbody kendoGridTableBody
35762
- role="presentation"
35774
+ role="rowgroup"
35763
35775
  [skipGroupDecoration]="isLocked"
35764
35776
  [rowsToRender]="rowsToRender"
35765
35777
  [columns]="$any(nonLockedLeafColumns)"
@@ -35791,6 +35803,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
35791
35803
  <table #lockedTable class="k-grid-table"
35792
35804
  kendoGridTable
35793
35805
  kendoGridResizableTable
35806
+ role="none"
35794
35807
  [locked]="true"
35795
35808
  [size]="size"
35796
35809
  [style.width.px]="lockedWidth">
@@ -35823,12 +35836,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
35823
35836
  </table>
35824
35837
  </div>
35825
35838
  }
35826
- <div #pinnedWrapper class="k-grid-pinned-wrap">
35839
+ <div #pinnedWrapper class="k-grid-pinned-wrap" role="none">
35827
35840
  <table #pinnedTable class="k-grid-table"
35828
35841
  kendoGridTable
35829
35842
  kendoGridResizableTable
35843
+ role="none"
35844
+ [attr.aria-label]="ariaLabel"
35830
35845
  [style.width.px]="nonLockedWidth"
35831
- [attr.aria-label]="ariaLabel">
35846
+ >
35832
35847
  <colgroup kendoGridColGroup
35833
35848
  [columns]="$any(nonLockedLeafColumns)"
35834
35849
  [sort]="sort"
@@ -35837,7 +35852,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
35837
35852
  [groupingMode]="groupingMode">
35838
35853
  </colgroup>
35839
35854
  <tbody kendoGridTableBody
35840
- role="presentation"
35855
+ role="rowgroup"
35841
35856
  [skipGroupDecoration]="isLocked"
35842
35857
  [rowsToRender]="rowsToRender"
35843
35858
  [columns]="$any(nonLockedLeafColumns)"
@@ -35874,6 +35889,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
35874
35889
  }], hostClass: [{
35875
35890
  type: HostBinding,
35876
35891
  args: ['class.k-grid-pinned-container']
35892
+ }], role: [{
35893
+ type: HostBinding,
35894
+ args: ['attr.role']
35877
35895
  }], bottomClass: [{
35878
35896
  type: HostBinding,
35879
35897
  args: ['class.k-pos-bottom']
@@ -39422,19 +39440,19 @@ class GridComponent {
39422
39440
  @if (!hideHeader && !isStacked) {
39423
39441
  <div
39424
39442
  class="k-grid-header"
39443
+ [attr.role]="isLocked ? 'none' : null"
39425
39444
  [class.k-grid-draggable-header]="groupable || reorderable"
39426
- role="presentation"
39427
39445
  [style.padding]="headerPadding">
39428
39446
  @if (isLocked) {
39429
39447
  <div
39430
39448
  #lockedHeader
39431
- role="presentation"
39449
+ role="none"
39432
39450
  class="k-grid-header-locked"
39433
39451
  [style.width.px]="lockedWidth">
39434
39452
  <table
39435
39453
  kendoGridResizableTable
39436
39454
  [locked]="true"
39437
- role="presentation"
39455
+ role="none"
39438
39456
  class="k-grid-header-table"
39439
39457
  [style.width.px]="lockedWidth"
39440
39458
  kendoGridTable
@@ -39469,11 +39487,11 @@ class GridComponent {
39469
39487
  </table>
39470
39488
  </div>
39471
39489
  }
39472
- <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"
39473
39491
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
39474
39492
  [lockedWidth]="lockedWidth + scrollbarWidth + 2">
39475
39493
  <table
39476
- role="presentation"
39494
+ role="none"
39477
39495
  class="k-grid-header-table"
39478
39496
  [style.width.px]="nonLockedWidth"
39479
39497
  kendoGridResizableTable
@@ -39488,7 +39506,6 @@ class GridComponent {
39488
39506
  </colgroup>
39489
39507
  <thead kendoGridHeader
39490
39508
  [resizable]="resizable"
39491
- role="rowgroup"
39492
39509
  [scrollable]="true"
39493
39510
  [columns]="headerColumns"
39494
39511
  [totalColumnLevels]="totalColumnLevels"
@@ -39604,7 +39621,7 @@ class GridComponent {
39604
39621
  class="k-grid-footer-locked"
39605
39622
  [style.width.px]="lockedWidth">
39606
39623
  <table
39607
- role="presentation"
39624
+ role="none"
39608
39625
  class="k-grid-footer-table"
39609
39626
  kendoGridResizableTable
39610
39627
  [locked]="true"
@@ -39624,7 +39641,7 @@ class GridComponent {
39624
39641
  [groups]="group"
39625
39642
  [columns]="$any(lockedLeafColumns)"
39626
39643
  [detailTemplate]="detailTemplate"
39627
- [logicalRowIndex]="ariaRowCount"
39644
+ [logicalRowIndex]="ariaRowCount - view.total + view.length"
39628
39645
  [totalColumns]="columnsContainer"
39629
39646
  [totalColumnsCount]="leafColumns.length"
39630
39647
  [groupingMode]="groupingMode">
@@ -39637,7 +39654,7 @@ class GridComponent {
39637
39654
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0 && !isStacked"
39638
39655
  [lockedWidth]="lockedWidth + scrollbarWidth + 3">
39639
39656
  <table
39640
- role="presentation"
39657
+ role="none"
39641
39658
  class="k-grid-footer-table"
39642
39659
  [style.width.px]="nonLockedWidth"
39643
39660
  kendoGridTable
@@ -39652,7 +39669,7 @@ class GridComponent {
39652
39669
  </colgroup>
39653
39670
  }
39654
39671
  <tfoot kendoGridFooter
39655
- [logicalRowIndex]="ariaRowCount"
39672
+ [logicalRowIndex]="ariaRowCount - view.total + view.length"
39656
39673
  [scrollable]="true"
39657
39674
  [groups]="isLocked ? [] : group"
39658
39675
  [columns]="$any(headerColumns)"
@@ -39695,7 +39712,7 @@ class GridComponent {
39695
39712
  kendoGridTable
39696
39713
  kendoGridResizableTable
39697
39714
  class="k-grid-table"
39698
- role="presentation"
39715
+ role="none"
39699
39716
  [size]="size">
39700
39717
  <colgroup kendoGridColGroup
39701
39718
  [columns]="$any(leafColumns)"
@@ -39708,7 +39725,6 @@ class GridComponent {
39708
39725
  <thead kendoGridHeader
39709
39726
  class="k-grid-header"
39710
39727
  [class.k-grid-draggable-header]="groupable || reorderable"
39711
- role="rowgroup"
39712
39728
  [resizable]="resizable"
39713
39729
  [scrollable]="false"
39714
39730
  [columns]="$any(visibleColumns)"
@@ -40555,19 +40571,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40555
40571
  @if (!hideHeader && !isStacked) {
40556
40572
  <div
40557
40573
  class="k-grid-header"
40574
+ [attr.role]="isLocked ? 'none' : null"
40558
40575
  [class.k-grid-draggable-header]="groupable || reorderable"
40559
- role="presentation"
40560
40576
  [style.padding]="headerPadding">
40561
40577
  @if (isLocked) {
40562
40578
  <div
40563
40579
  #lockedHeader
40564
- role="presentation"
40580
+ role="none"
40565
40581
  class="k-grid-header-locked"
40566
40582
  [style.width.px]="lockedWidth">
40567
40583
  <table
40568
40584
  kendoGridResizableTable
40569
40585
  [locked]="true"
40570
- role="presentation"
40586
+ role="none"
40571
40587
  class="k-grid-header-table"
40572
40588
  [style.width.px]="lockedWidth"
40573
40589
  kendoGridTable
@@ -40602,11 +40618,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40602
40618
  </table>
40603
40619
  </div>
40604
40620
  }
40605
- <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"
40606
40622
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
40607
40623
  [lockedWidth]="lockedWidth + scrollbarWidth + 2">
40608
40624
  <table
40609
- role="presentation"
40625
+ role="none"
40610
40626
  class="k-grid-header-table"
40611
40627
  [style.width.px]="nonLockedWidth"
40612
40628
  kendoGridResizableTable
@@ -40621,7 +40637,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40621
40637
  </colgroup>
40622
40638
  <thead kendoGridHeader
40623
40639
  [resizable]="resizable"
40624
- role="rowgroup"
40625
40640
  [scrollable]="true"
40626
40641
  [columns]="headerColumns"
40627
40642
  [totalColumnLevels]="totalColumnLevels"
@@ -40737,7 +40752,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40737
40752
  class="k-grid-footer-locked"
40738
40753
  [style.width.px]="lockedWidth">
40739
40754
  <table
40740
- role="presentation"
40755
+ role="none"
40741
40756
  class="k-grid-footer-table"
40742
40757
  kendoGridResizableTable
40743
40758
  [locked]="true"
@@ -40757,7 +40772,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40757
40772
  [groups]="group"
40758
40773
  [columns]="$any(lockedLeafColumns)"
40759
40774
  [detailTemplate]="detailTemplate"
40760
- [logicalRowIndex]="ariaRowCount"
40775
+ [logicalRowIndex]="ariaRowCount - view.total + view.length"
40761
40776
  [totalColumns]="columnsContainer"
40762
40777
  [totalColumnsCount]="leafColumns.length"
40763
40778
  [groupingMode]="groupingMode">
@@ -40770,7 +40785,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40770
40785
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0 && !isStacked"
40771
40786
  [lockedWidth]="lockedWidth + scrollbarWidth + 3">
40772
40787
  <table
40773
- role="presentation"
40788
+ role="none"
40774
40789
  class="k-grid-footer-table"
40775
40790
  [style.width.px]="nonLockedWidth"
40776
40791
  kendoGridTable
@@ -40785,7 +40800,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40785
40800
  </colgroup>
40786
40801
  }
40787
40802
  <tfoot kendoGridFooter
40788
- [logicalRowIndex]="ariaRowCount"
40803
+ [logicalRowIndex]="ariaRowCount - view.total + view.length"
40789
40804
  [scrollable]="true"
40790
40805
  [groups]="isLocked ? [] : group"
40791
40806
  [columns]="$any(headerColumns)"
@@ -40828,7 +40843,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40828
40843
  kendoGridTable
40829
40844
  kendoGridResizableTable
40830
40845
  class="k-grid-table"
40831
- role="presentation"
40846
+ role="none"
40832
40847
  [size]="size">
40833
40848
  <colgroup kendoGridColGroup
40834
40849
  [columns]="$any(leafColumns)"
@@ -40841,7 +40856,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
40841
40856
  <thead kendoGridHeader
40842
40857
  class="k-grid-header"
40843
40858
  [class.k-grid-draggable-header]="groupable || reorderable"
40844
- role="rowgroup"
40845
40859
  [resizable]="resizable"
40846
40860
  [scrollable]="false"
40847
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": 1788250799,
11
- "version": "25.1.0-develop.21",
10
+ "publishDate": 1788265501,
11
+ "version": "25.1.0-develop.22",
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.21",
3
+ "version": "25.1.0-develop.22",
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": 1788250799,
104
+ "publishDate": 1788265501,
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.21",
118
- "@progress/kendo-angular-common": "25.1.0-develop.21",
119
- "@progress/kendo-angular-dateinputs": "25.1.0-develop.21",
120
- "@progress/kendo-angular-layout": "25.1.0-develop.21",
121
- "@progress/kendo-angular-navigation": "25.1.0-develop.21",
122
- "@progress/kendo-angular-dropdowns": "25.1.0-develop.21",
123
- "@progress/kendo-angular-excel-export": "25.1.0-develop.21",
124
- "@progress/kendo-angular-icons": "25.1.0-develop.21",
125
- "@progress/kendo-angular-indicators": "25.1.0-develop.21",
126
- "@progress/kendo-angular-inputs": "25.1.0-develop.21",
127
- "@progress/kendo-angular-conversational-ui": "25.1.0-develop.21",
128
- "@progress/kendo-angular-intl": "25.1.0-develop.21",
129
- "@progress/kendo-angular-l10n": "25.1.0-develop.21",
130
- "@progress/kendo-angular-label": "25.1.0-develop.21",
131
- "@progress/kendo-angular-menu": "25.1.0-develop.21",
132
- "@progress/kendo-angular-pager": "25.1.0-develop.21",
133
- "@progress/kendo-angular-pdf-export": "25.1.0-develop.21",
134
- "@progress/kendo-angular-popup": "25.1.0-develop.21",
135
- "@progress/kendo-angular-toolbar": "25.1.0-develop.21",
136
- "@progress/kendo-angular-upload": "25.1.0-develop.21",
137
- "@progress/kendo-angular-utils": "25.1.0-develop.21",
117
+ "@progress/kendo-angular-buttons": "25.1.0-develop.22",
118
+ "@progress/kendo-angular-common": "25.1.0-develop.22",
119
+ "@progress/kendo-angular-dateinputs": "25.1.0-develop.22",
120
+ "@progress/kendo-angular-layout": "25.1.0-develop.22",
121
+ "@progress/kendo-angular-navigation": "25.1.0-develop.22",
122
+ "@progress/kendo-angular-dropdowns": "25.1.0-develop.22",
123
+ "@progress/kendo-angular-excel-export": "25.1.0-develop.22",
124
+ "@progress/kendo-angular-icons": "25.1.0-develop.22",
125
+ "@progress/kendo-angular-indicators": "25.1.0-develop.22",
126
+ "@progress/kendo-angular-inputs": "25.1.0-develop.22",
127
+ "@progress/kendo-angular-conversational-ui": "25.1.0-develop.22",
128
+ "@progress/kendo-angular-intl": "25.1.0-develop.22",
129
+ "@progress/kendo-angular-l10n": "25.1.0-develop.22",
130
+ "@progress/kendo-angular-label": "25.1.0-develop.22",
131
+ "@progress/kendo-angular-menu": "25.1.0-develop.22",
132
+ "@progress/kendo-angular-pager": "25.1.0-develop.22",
133
+ "@progress/kendo-angular-pdf-export": "25.1.0-develop.22",
134
+ "@progress/kendo-angular-popup": "25.1.0-develop.22",
135
+ "@progress/kendo-angular-toolbar": "25.1.0-develop.22",
136
+ "@progress/kendo-angular-upload": "25.1.0-develop.22",
137
+ "@progress/kendo-angular-utils": "25.1.0-develop.22",
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.21",
142
+ "@progress/kendo-angular-schematics": "25.1.0-develop.22",
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.21',
13
- '@progress/kendo-angular-navigation': '25.1.0-develop.21',
12
+ '@progress/kendo-angular-treeview': '25.1.0-develop.22',
13
+ '@progress/kendo-angular-navigation': '25.1.0-develop.22',
14
14
  // peer dependency of kendo-angular-inputs
15
- '@progress/kendo-angular-dialog': '25.1.0-develop.21',
15
+ '@progress/kendo-angular-dialog': '25.1.0-develop.22',
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.21',
19
+ '@progress/kendo-angular-progressbar': '25.1.0-develop.22',
20
20
  // transitive peer dependencies from toolbar
21
- '@progress/kendo-angular-indicators': '25.1.0-develop.21',
21
+ '@progress/kendo-angular-indicators': '25.1.0-develop.22',
22
22
  // transitive peer dependencies from conversational-ui
23
- '@progress/kendo-angular-menu': '25.1.0-develop.21',
24
- '@progress/kendo-angular-upload': '25.1.0-develop.21'
23
+ '@progress/kendo-angular-menu': '25.1.0-develop.22',
24
+ '@progress/kendo-angular-upload': '25.1.0-develop.22'
25
25
  } });
26
26
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
27
27
  }