@vaadin/grid 23.3.3 → 24.0.0-alpha10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/package.json +10 -10
  2. package/src/all-imports.js +1 -1
  3. package/src/array-data-provider.js +1 -1
  4. package/src/lit/column-renderer-directives.d.ts +1 -1
  5. package/src/lit/column-renderer-directives.js +1 -1
  6. package/src/lit/renderer-directives.d.ts +1 -1
  7. package/src/lit/renderer-directives.js +1 -1
  8. package/src/vaadin-grid-a11y-mixin.js +12 -9
  9. package/src/vaadin-grid-active-item-mixin.d.ts +1 -1
  10. package/src/vaadin-grid-active-item-mixin.js +5 -3
  11. package/src/vaadin-grid-array-data-provider-mixin.d.ts +1 -1
  12. package/src/vaadin-grid-array-data-provider-mixin.js +1 -1
  13. package/src/vaadin-grid-column-group.d.ts +1 -1
  14. package/src/vaadin-grid-column-group.js +17 -17
  15. package/src/vaadin-grid-column-reordering-mixin.d.ts +1 -1
  16. package/src/vaadin-grid-column-reordering-mixin.js +7 -9
  17. package/src/vaadin-grid-column-resizing-mixin.js +6 -5
  18. package/src/vaadin-grid-column.d.ts +1 -1
  19. package/src/vaadin-grid-column.js +48 -34
  20. package/src/vaadin-grid-data-provider-mixin.d.ts +1 -1
  21. package/src/vaadin-grid-data-provider-mixin.js +33 -7
  22. package/src/vaadin-grid-drag-and-drop-mixin.d.ts +1 -1
  23. package/src/vaadin-grid-drag-and-drop-mixin.js +23 -18
  24. package/src/vaadin-grid-dynamic-columns-mixin.js +5 -4
  25. package/src/vaadin-grid-event-context-mixin.d.ts +1 -1
  26. package/src/vaadin-grid-event-context-mixin.js +1 -1
  27. package/src/vaadin-grid-filter-column.d.ts +1 -1
  28. package/src/vaadin-grid-filter-column.js +1 -2
  29. package/src/vaadin-grid-filter-mixin.js +1 -1
  30. package/src/vaadin-grid-filter.d.ts +3 -2
  31. package/src/vaadin-grid-filter.js +27 -22
  32. package/src/vaadin-grid-helpers.js +104 -1
  33. package/src/vaadin-grid-keyboard-navigation-mixin.js +35 -34
  34. package/src/vaadin-grid-row-details-mixin.d.ts +1 -1
  35. package/src/vaadin-grid-row-details-mixin.js +5 -4
  36. package/src/vaadin-grid-scroll-mixin.d.ts +1 -1
  37. package/src/vaadin-grid-scroll-mixin.js +10 -9
  38. package/src/vaadin-grid-selection-column.d.ts +1 -1
  39. package/src/vaadin-grid-selection-column.js +1 -1
  40. package/src/vaadin-grid-selection-mixin.d.ts +1 -1
  41. package/src/vaadin-grid-selection-mixin.js +1 -1
  42. package/src/vaadin-grid-sort-column.d.ts +1 -1
  43. package/src/vaadin-grid-sort-column.js +1 -1
  44. package/src/vaadin-grid-sort-mixin.d.ts +1 -1
  45. package/src/vaadin-grid-sort-mixin.js +1 -1
  46. package/src/vaadin-grid-sorter.d.ts +1 -1
  47. package/src/vaadin-grid-sorter.js +1 -1
  48. package/src/vaadin-grid-styles.js +1 -1
  49. package/src/vaadin-grid-styling-mixin.d.ts +38 -2
  50. package/src/vaadin-grid-styling-mixin.js +77 -6
  51. package/src/vaadin-grid-tree-column.d.ts +1 -8
  52. package/src/vaadin-grid-tree-column.js +2 -25
  53. package/src/vaadin-grid-tree-toggle.d.ts +1 -1
  54. package/src/vaadin-grid-tree-toggle.js +1 -1
  55. package/src/vaadin-grid.d.ts +57 -25
  56. package/src/vaadin-grid.js +131 -79
  57. package/theme/lumo/vaadin-grid-styles.js +14 -14
  58. package/theme/material/vaadin-grid-styles.js +1 -1
  59. package/web-types.json +15 -26
  60. package/web-types.lit.json +11 -11
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { GridDefaultItem } from './vaadin-grid.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import '@vaadin/checkbox/src/vaadin-checkbox.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { Constructor } from '@open-wc/dedupe-mixin';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { GridDefaultItem } from './vaadin-grid.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import './vaadin-grid-sorter.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { Constructor } from '@open-wc/dedupe-mixin';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
@@ -1,13 +1,18 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { Constructor } from '@open-wc/dedupe-mixin';
7
7
  import type { GridItemModel } from './vaadin-grid.js';
8
8
  import type { GridColumn } from './vaadin-grid-column.js';
9
9
 
10
- export type GridCellClassNameGenerator<TItem> = (column: GridColumn<TItem>, model: GridItemModel<TItem>) => string;
10
+ export type GridCellPartNameGenerator<TItem> = (column: GridColumn<TItem>, model: GridItemModel<TItem>) => string;
11
+
12
+ /**
13
+ * @deprecated Use `GridPartCellGenerator` type and `cellPartNameGenerator` API instead.
14
+ */
15
+ export type GridCellClassNameGenerator<TItem> = GridCellPartNameGenerator<TItem>;
11
16
 
12
17
  export declare function StylingMixin<TItem, T extends Constructor<HTMLElement>>(
13
18
  base: T,
@@ -29,14 +34,45 @@ export declare class StylingMixinClass<TItem> {
29
34
  * - `model.expanded` Sublevel toggle state.
30
35
  * - `model.level` Level of the tree represented with a horizontal offset of the toggle button.
31
36
  * - `model.selected` Selected state.
37
+ *
38
+ * @deprecated Use `cellPartNameGenerator` instead.
32
39
  */
33
40
  cellClassNameGenerator: GridCellClassNameGenerator<TItem> | null | undefined;
34
41
 
42
+ /**
43
+ * A function that allows generating CSS `part` names for grid cells in Shadow DOM based
44
+ * on their row and column, for styling from outside using the `::part()` selector.
45
+ *
46
+ * The return value should be the generated part name as a string, or multiple part names
47
+ * separated by whitespace characters.
48
+ *
49
+ * Receives two arguments:
50
+ * - `column` The `<vaadin-grid-column>` element (`undefined` for details-cell).
51
+ * - `model` The object with the properties related with
52
+ * the rendered item, contains:
53
+ * - `model.index` The index of the item.
54
+ * - `model.item` The item.
55
+ * - `model.expanded` Sublevel toggle state.
56
+ * - `model.level` Level of the tree represented with a horizontal offset of the toggle button.
57
+ * - `model.selected` Selected state.
58
+ */
59
+ cellPartNameGenerator: GridCellPartNameGenerator<TItem> | null | undefined;
60
+
35
61
  /**
36
62
  * Runs the `cellClassNameGenerator` for the visible cells.
37
63
  * If the generator depends on varying conditions, you need to
38
64
  * call this function manually in order to update the styles when
39
65
  * the conditions change.
66
+ *
67
+ * @deprecated Use `cellPartNameGenerator` and `generateCellPartNames()` instead.
40
68
  */
41
69
  generateCellClassNames(): void;
70
+
71
+ /**
72
+ * Runs the `cellPastNameGenerator` for the visible cells.
73
+ * If the generator depends on varying conditions, you need to
74
+ * call this function manually in order to update the styles when
75
+ * the conditions change.
76
+ */
77
+ generateCellPartNames(): void;
42
78
  }
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
+ import { iterateChildren, updatePart } from './vaadin-grid-helpers.js';
6
7
 
7
8
  /**
8
9
  * @polymerMixin
@@ -28,13 +29,38 @@ export const StylingMixin = (superClass) =>
28
29
  * - `model.selected` Selected state.
29
30
  *
30
31
  * @type {GridCellClassNameGenerator | null | undefined}
32
+ * @deprecated Use `cellPartNameGenerator` instead.
31
33
  */
32
34
  cellClassNameGenerator: Function,
35
+
36
+ /**
37
+ * A function that allows generating CSS `part` names for grid cells in Shadow DOM based
38
+ * on their row and column, for styling from outside using the `::part()` selector.
39
+ *
40
+ * The return value should be the generated part name as a string, or multiple part names
41
+ * separated by whitespace characters.
42
+ *
43
+ * Receives two arguments:
44
+ * - `column` The `<vaadin-grid-column>` element (`undefined` for details-cell).
45
+ * - `model` The object with the properties related with
46
+ * the rendered item, contains:
47
+ * - `model.index` The index of the item.
48
+ * - `model.item` The item.
49
+ * - `model.expanded` Sublevel toggle state.
50
+ * - `model.level` Level of the tree represented with a horizontal offset of the toggle button.
51
+ * - `model.selected` Selected state.
52
+ *
53
+ * @type {GridCellPartNameGenerator | null | undefined}
54
+ */
55
+ cellPartNameGenerator: Function,
33
56
  };
34
57
  }
35
58
 
36
59
  static get observers() {
37
- return ['__cellClassNameGeneratorChanged(cellClassNameGenerator)'];
60
+ return [
61
+ '__cellClassNameGeneratorChanged(cellClassNameGenerator)',
62
+ '__cellPartNameGeneratorChanged(cellPartNameGenerator)',
63
+ ];
38
64
  }
39
65
 
40
66
  /** @private */
@@ -42,21 +68,44 @@ export const StylingMixin = (superClass) =>
42
68
  this.generateCellClassNames();
43
69
  }
44
70
 
71
+ /** @private */
72
+ __cellPartNameGeneratorChanged() {
73
+ this.generateCellPartNames();
74
+ }
75
+
45
76
  /**
46
77
  * Runs the `cellClassNameGenerator` for the visible cells.
47
78
  * If the generator depends on varying conditions, you need to
48
79
  * call this function manually in order to update the styles when
49
80
  * the conditions change.
81
+ *
82
+ * @deprecated Use `cellPartNameGenerator` and `generateCellPartNames()` instead.
50
83
  */
51
84
  generateCellClassNames() {
52
- Array.from(this.$.items.children)
53
- .filter((row) => !row.hidden && !row.hasAttribute('loading'))
54
- .forEach((row) => this._generateCellClassNames(row, this.__getRowModel(row)));
85
+ iterateChildren(this.$.items, (row) => {
86
+ if (!row.hidden && !row.hasAttribute('loading')) {
87
+ this._generateCellClassNames(row, this.__getRowModel(row));
88
+ }
89
+ });
90
+ }
91
+
92
+ /**
93
+ * Runs the `cellPartNameGenerator` for the visible cells.
94
+ * If the generator depends on varying conditions, you need to
95
+ * call this function manually in order to update the styles when
96
+ * the conditions change.
97
+ */
98
+ generateCellPartNames() {
99
+ iterateChildren(this.$.items, (row) => {
100
+ if (!row.hidden && !row.hasAttribute('loading')) {
101
+ this._generateCellPartNames(row, this.__getRowModel(row));
102
+ }
103
+ });
55
104
  }
56
105
 
57
106
  /** @private */
58
107
  _generateCellClassNames(row, model) {
59
- Array.from(row.children).forEach((cell) => {
108
+ iterateChildren(row, (cell) => {
60
109
  if (cell.__generatedClasses) {
61
110
  cell.__generatedClasses.forEach((className) => cell.classList.remove(className));
62
111
  }
@@ -69,4 +118,26 @@ export const StylingMixin = (superClass) =>
69
118
  }
70
119
  });
71
120
  }
121
+
122
+ /** @private */
123
+ _generateCellPartNames(row, model) {
124
+ iterateChildren(row, (cell) => {
125
+ if (cell.__generatedParts) {
126
+ cell.__generatedParts.forEach((partName) => {
127
+ // Remove previously generated part names
128
+ updatePart(cell, null, partName);
129
+ });
130
+ }
131
+ if (this.cellPartNameGenerator) {
132
+ const result = this.cellPartNameGenerator(cell._column, model);
133
+ cell.__generatedParts = result && result.split(' ').filter((partName) => partName.length > 0);
134
+ if (cell.__generatedParts) {
135
+ cell.__generatedParts.forEach((partName) => {
136
+ // Add the newly generated names to part
137
+ updatePart(cell, true, partName);
138
+ });
139
+ }
140
+ }
141
+ });
142
+ }
72
143
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { GridDefaultItem } from './vaadin-grid.js';
@@ -24,13 +24,6 @@ declare class GridTreeColumn<TItem = GridDefaultItem> extends GridColumn<TItem>
24
24
  * JS Path of the property in the item used as text content for the tree toggle.
25
25
  */
26
26
  path: string | null | undefined;
27
-
28
- /**
29
- * JS Path of the property in the item that indicates whether the item has child items.
30
- * @attr {string} item-has-children-path
31
- * @deprecated Use `grid.itemHasChildrenPath` instead.
32
- */
33
- itemHasChildrenPath: string | null | undefined;
34
27
  }
35
28
 
36
29
  declare global {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import './vaadin-grid-tree-toggle.js';
@@ -30,21 +30,11 @@ class GridTreeColumn extends GridColumn {
30
30
  * JS Path of the property in the item used as text content for the tree toggle.
31
31
  */
32
32
  path: String,
33
-
34
- /**
35
- * JS Path of the property in the item that indicates whether the item has child items.
36
- * @attr {string} item-has-children-path
37
- * @deprecated Use `grid.itemHasChildrenPath` instead.
38
- */
39
- itemHasChildrenPath: {
40
- type: String,
41
- observer: '_itemHasChildrenPathChanged',
42
- },
43
33
  };
44
34
  }
45
35
 
46
36
  static get observers() {
47
- return ['_onRendererOrBindingChanged(_renderer, _cells, _cells.*, path, itemHasChildrenPath)'];
37
+ return ['_onRendererOrBindingChanged(_renderer, _cells, _cells.*, path)'];
48
38
  }
49
39
 
50
40
  constructor() {
@@ -85,19 +75,6 @@ class GridTreeColumn extends GridColumn {
85
75
  return this.__defaultRenderer;
86
76
  }
87
77
 
88
- /** @private */
89
- _itemHasChildrenPathChanged(itemHasChildrenPath) {
90
- if (itemHasChildrenPath) {
91
- console.warn(
92
- `WARNING: Since Vaadin 23, itemHasChildrenPath on <vaadin-grid-tree-column> is deprecated. Please set this property on the <vaadin-grid> instead.`,
93
- );
94
-
95
- if (this._grid) {
96
- this._grid.itemHasChildrenPath = itemHasChildrenPath;
97
- }
98
- }
99
- }
100
-
101
78
  /**
102
79
  * Expands or collapses the row once the tree toggle is switched.
103
80
  * The listener handles only user-fired events.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2016 - 2022 Vaadin Ltd.
3
+ * Copyright (c) 2016 - 2023 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
6
  import type { DisabledMixinClass } from '@vaadin/component-base/src/disabled-mixin.js';
@@ -30,12 +30,16 @@ import { GridRowDetailsRenderer } from './vaadin-grid-row-details-mixin.js';
30
30
  import type { ScrollMixinClass } from './vaadin-grid-scroll-mixin.js';
31
31
  import type { SelectionMixinClass } from './vaadin-grid-selection-mixin.js';
32
32
  import type { SortMixinClass } from './vaadin-grid-sort-mixin.js';
33
- import type { StylingMixinClass } from './vaadin-grid-styling-mixin.js';
34
- import { GridCellClassNameGenerator } from './vaadin-grid-styling-mixin.js';
33
+ import type {
34
+ GridCellClassNameGenerator,
35
+ GridCellPartNameGenerator,
36
+ StylingMixinClass,
37
+ } from './vaadin-grid-styling-mixin.js';
35
38
 
36
39
  export {
37
40
  GridBodyRenderer,
38
41
  GridCellClassNameGenerator,
42
+ GridCellPartNameGenerator,
39
43
  GridDataProvider,
40
44
  GridDataProviderCallback,
41
45
  GridDataProviderParams,
@@ -299,17 +303,56 @@ export interface GridEventMap<TItem> extends HTMLElementEventMap, GridCustomEven
299
303
  *
300
304
  * The following shadow DOM parts are available for styling:
301
305
  *
302
- * Part name | Description
303
- * ----------------|----------------
304
- * `row` | Row in the internal table
305
- * `cell` | Cell in the internal table
306
- * `header-cell` | Header cell in the internal table
307
- * `body-cell` | Body cell in the internal table
308
- * `footer-cell` | Footer cell in the internal table
309
- * `details-cell` | Row details cell in the internal table
310
- * `focused-cell` | Focused cell in the internal table
311
- * `resize-handle` | Handle for resizing the columns
312
- * `reorder-ghost` | Ghost element of the header cell being dragged
306
+ * Part name | Description
307
+ * ---------------------------|----------------
308
+ * `row` | Row in the internal table
309
+ * `expanded-row` | Expanded row
310
+ * `selected-row` | Selected row
311
+ * `details-opened-row` | Row with details open
312
+ * `odd-row` | Odd row
313
+ * `even-row` | Even row
314
+ * `first-row` | The first body row
315
+ * `last-row` | The last body row
316
+ * `dragstart-row` | Set on the row for one frame when drag is starting.
317
+ * `dragover-above-row` | Set on the row when the a row is dragged over above
318
+ * `dragover-below-row` | Set on the row when the a row is dragged over below
319
+ * `dragover-on-top-row` | Set on the row when the a row is dragged over on top
320
+ * `drag-disabled-row` | Set to a row that isn't available for dragging
321
+ * `drop-disabled-row` | Set to a row that can't be dropped on top of
322
+ * `cell` | Cell in the internal table
323
+ * `header-cell` | Header cell in the internal table
324
+ * `body-cell` | Body cell in the internal table
325
+ * `footer-cell` | Footer cell in the internal table
326
+ * `details-cell` | Row details cell in the internal table
327
+ * `focused-cell` | Focused cell in the internal table
328
+ * `odd-row-cell` | Cell in an odd row
329
+ * `even-row-cell` | Cell in an even row
330
+ * `first-row-cell` | Cell in the first body row
331
+ * `last-row-cell` | Cell in the last body row
332
+ * `first-header-row-cell` | Cell in the first header row
333
+ * `first-footer-row-cell` | Cell in the first footer row
334
+ * `last-header-row-cell` | Cell in the last header row
335
+ * `last-footer-row-cell` | Cell in the last footer row
336
+ * `loading-row-cell` | Cell in a row that is waiting for data from data provider
337
+ * `selected-row-cell` | Cell in a selected row
338
+ * `expanded-row-cell` | Cell in an expanded row
339
+ * `details-opened-row-cell` | Cell in an row with details open
340
+ * `dragstart-row-cell` | Cell in a row that user started to drag (set for one frame)
341
+ * `dragover-above-row-cell` | Cell in a row that has another row dragged over above
342
+ * `dragover-below-row-cell` | Cell in a row that has another row dragged over below
343
+ * `dragover-on-top-row-cell` | Cell in a row that has another row dragged over on top
344
+ * `drag-disabled-row-cell` | Cell in a row that isn't available for dragging
345
+ * `drop-disabled-row-cell` | Cell in a row that can't be dropped on top of
346
+ * `frozen-cell` | Frozen cell in the internal table
347
+ * `frozen-to-end-cell` | Frozen to end cell in the internal table
348
+ * `last-frozen-cell` | Last frozen cell
349
+ * `first-frozen-to-end-cell` | First cell frozen to end
350
+ * `first-column-cell` | First visible cell on a row
351
+ * `last-column-cell` | Last visible cell on a row
352
+ * `reorder-allowed-cell` | Cell in a column where another column can be reordered
353
+ * `reorder-dragging-cell` | Cell in a column currently being reordered
354
+ * `resize-handle` | Handle for resizing the columns
355
+ * `reorder-ghost` | Ghost element of the header cell being dragged
313
356
  *
314
357
  * The following state attributes are available for styling:
315
358
  *
@@ -385,17 +428,6 @@ declare class Grid<TItem = GridDefaultItem> extends HTMLElement {
385
428
  */
386
429
  requestContentUpdate(): void;
387
430
 
388
- /**
389
- * Updates the computed metrics and positioning of internal grid parts
390
- * (row/details cell positioning etc). Needs to be invoked whenever the sizing of grid
391
- * content changes asynchronously to ensure consistent appearance (e.g. when a
392
- * contained image whose bounds aren't known beforehand finishes loading).
393
- *
394
- * @deprecated Since Vaadin 22, `notifyResize()` is deprecated. The component uses a
395
- * ResizeObserver internally and doesn't need to be explicitly notified of resizes.
396
- */
397
- notifyResize(): void;
398
-
399
431
  addEventListener<K extends keyof GridEventMap<TItem>>(
400
432
  type: K,
401
433
  listener: (this: Grid<TItem>, ev: GridEventMap<TItem>[K]) => void,