@mui/x-data-grid 7.20.0 → 7.21.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.
Files changed (124) hide show
  1. package/CHANGELOG.md +120 -31
  2. package/DataGrid/DataGrid.js +1 -0
  3. package/DataGrid/index.d.ts +0 -1
  4. package/DataGrid/index.js +1 -2
  5. package/DataGrid/useDataGridComponent.js +4 -1
  6. package/DataGrid/useDataGridProps.d.ts +1 -5
  7. package/DataGrid/useDataGridProps.js +3 -62
  8. package/components/GridPagination.js +1 -0
  9. package/components/GridRow.js +25 -36
  10. package/components/base/GridOverlays.js +8 -0
  11. package/components/containers/GridRootStyles.js +1 -0
  12. package/components/menu/columnMenu/GridColumnMenu.js +32 -0
  13. package/components/toolbar/GridToolbarExport.d.ts +9 -3
  14. package/components/toolbar/GridToolbarExport.js +55 -3
  15. package/components/virtualization/GridVirtualScrollbar.js +4 -0
  16. package/components/virtualization/GridVirtualScroller.js +2 -2
  17. package/constants/dataGridPropsDefaultValues.d.ts +5 -0
  18. package/constants/dataGridPropsDefaultValues.js +60 -0
  19. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +2 -1
  20. package/hooks/features/clipboard/useGridClipboard.js +2 -1
  21. package/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -1
  22. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
  23. package/hooks/features/columns/gridColumnsUtils.js +3 -0
  24. package/hooks/features/dimensions/useGridDimensions.js +4 -2
  25. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  26. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +9 -5
  27. package/hooks/features/listView/gridListViewSelectors.d.ts +5 -0
  28. package/hooks/features/listView/gridListViewSelectors.js +4 -0
  29. package/hooks/features/listView/useGridListView.d.ts +10 -0
  30. package/hooks/features/listView/useGridListView.js +54 -0
  31. package/hooks/features/rowSelection/useGridRowSelection.js +11 -2
  32. package/hooks/features/rowSelection/utils.js +1 -1
  33. package/hooks/features/rows/gridRowsMetaInterfaces.d.ts +16 -0
  34. package/hooks/features/rows/gridRowsMetaInterfaces.js +1 -0
  35. package/hooks/features/rows/gridRowsUtils.d.ts +3 -0
  36. package/hooks/features/rows/gridRowsUtils.js +14 -1
  37. package/hooks/features/rows/useGridParamsApi.d.ts +2 -1
  38. package/hooks/features/rows/useGridParamsApi.js +4 -3
  39. package/hooks/features/rows/useGridRowsMeta.js +135 -154
  40. package/hooks/features/scroll/useGridScroll.d.ts +1 -1
  41. package/hooks/features/scroll/useGridScroll.js +3 -2
  42. package/hooks/features/virtualization/useGridVirtualScroller.js +23 -9
  43. package/hooks/utils/useGridApiMethod.js +2 -1
  44. package/index.d.ts +1 -0
  45. package/index.js +2 -1
  46. package/internals/index.d.ts +2 -1
  47. package/internals/index.js +2 -1
  48. package/models/api/gridRowsMetaApi.d.ts +15 -14
  49. package/models/colDef/gridColDef.d.ts +6 -0
  50. package/models/colDef/index.d.ts +1 -1
  51. package/models/gridApiCaches.d.ts +2 -0
  52. package/models/gridStateCommunity.d.ts +2 -0
  53. package/models/props/DataGridProps.d.ts +14 -3
  54. package/modern/DataGrid/DataGrid.js +1 -0
  55. package/modern/DataGrid/index.js +1 -2
  56. package/modern/DataGrid/useDataGridComponent.js +4 -1
  57. package/modern/DataGrid/useDataGridProps.js +3 -62
  58. package/modern/components/GridPagination.js +1 -0
  59. package/modern/components/GridRow.js +25 -36
  60. package/modern/components/base/GridOverlays.js +8 -0
  61. package/modern/components/containers/GridRootStyles.js +1 -0
  62. package/modern/components/menu/columnMenu/GridColumnMenu.js +32 -0
  63. package/modern/components/toolbar/GridToolbarExport.js +55 -3
  64. package/modern/components/virtualization/GridVirtualScrollbar.js +4 -0
  65. package/modern/components/virtualization/GridVirtualScroller.js +2 -2
  66. package/modern/constants/dataGridPropsDefaultValues.js +60 -0
  67. package/modern/hooks/features/clipboard/useGridClipboard.js +2 -1
  68. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -1
  69. package/modern/hooks/features/columns/gridColumnsUtils.js +3 -0
  70. package/modern/hooks/features/dimensions/useGridDimensions.js +4 -2
  71. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +9 -5
  72. package/modern/hooks/features/listView/gridListViewSelectors.js +4 -0
  73. package/modern/hooks/features/listView/useGridListView.js +54 -0
  74. package/modern/hooks/features/rowSelection/useGridRowSelection.js +11 -2
  75. package/modern/hooks/features/rowSelection/utils.js +1 -1
  76. package/modern/hooks/features/rows/gridRowsMetaInterfaces.js +1 -0
  77. package/modern/hooks/features/rows/gridRowsUtils.js +14 -1
  78. package/modern/hooks/features/rows/useGridParamsApi.js +4 -3
  79. package/modern/hooks/features/rows/useGridRowsMeta.js +135 -154
  80. package/modern/hooks/features/scroll/useGridScroll.js +3 -2
  81. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +23 -9
  82. package/modern/hooks/utils/useGridApiMethod.js +2 -1
  83. package/modern/index.js +2 -1
  84. package/modern/internals/index.js +2 -1
  85. package/modern/utils/ResizeObserver.js +10 -0
  86. package/modern/utils/keyboardUtils.js +12 -4
  87. package/node/DataGrid/DataGrid.js +1 -0
  88. package/node/DataGrid/index.js +1 -12
  89. package/node/DataGrid/useDataGridComponent.js +4 -1
  90. package/node/DataGrid/useDataGridProps.js +6 -65
  91. package/node/components/GridPagination.js +1 -0
  92. package/node/components/GridRow.js +25 -36
  93. package/node/components/base/GridOverlays.js +8 -0
  94. package/node/components/containers/GridRootStyles.js +1 -0
  95. package/node/components/menu/columnMenu/GridColumnMenu.js +32 -0
  96. package/node/components/toolbar/GridToolbarExport.js +52 -0
  97. package/node/components/virtualization/GridVirtualScrollbar.js +4 -0
  98. package/node/components/virtualization/GridVirtualScroller.js +2 -2
  99. package/node/constants/dataGridPropsDefaultValues.js +66 -0
  100. package/node/hooks/features/clipboard/useGridClipboard.js +2 -1
  101. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -1
  102. package/node/hooks/features/columns/gridColumnsUtils.js +3 -0
  103. package/node/hooks/features/dimensions/useGridDimensions.js +3 -1
  104. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +9 -5
  105. package/node/hooks/features/listView/gridListViewSelectors.js +11 -0
  106. package/node/hooks/features/listView/useGridListView.js +64 -0
  107. package/node/hooks/features/rowSelection/useGridRowSelection.js +11 -2
  108. package/node/hooks/features/rowSelection/utils.js +1 -1
  109. package/node/hooks/features/rows/gridRowsMetaInterfaces.js +5 -0
  110. package/node/hooks/features/rows/gridRowsUtils.js +16 -2
  111. package/node/hooks/features/rows/useGridParamsApi.js +4 -3
  112. package/node/hooks/features/rows/useGridRowsMeta.js +136 -154
  113. package/node/hooks/features/scroll/useGridScroll.js +3 -2
  114. package/node/hooks/features/virtualization/useGridVirtualScroller.js +23 -9
  115. package/node/hooks/utils/useGridApiMethod.js +3 -1
  116. package/node/index.js +13 -1
  117. package/node/internals/index.js +22 -0
  118. package/node/utils/ResizeObserver.js +16 -0
  119. package/node/utils/keyboardUtils.js +15 -5
  120. package/package.json +2 -2
  121. package/utils/ResizeObserver.d.ts +4 -0
  122. package/utils/ResizeObserver.js +10 -0
  123. package/utils/keyboardUtils.d.ts +1 -0
  124. package/utils/keyboardUtils.js +12 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,95 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 7.21.0
7
+
8
+ _Oct 17, 2024_
9
+
10
+ We'd like to offer a big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 💫 Added [`dataset` prop support for the Scatter Chart component](https://mui.com/x/react-charts/scatter/#using-a-dataset)
13
+ - 🐞 Bugfixes
14
+ - 📚 Documentation improvements
15
+
16
+ Special thanks go out to the community contributors who have helped make this release possible:
17
+ @k-rajat19, @kalyan90, @rotembarsela, @wangkailang.
18
+ Following are all team members who have contributed to this release:
19
+ @arthurbalduini, @cherniavskii, @flaviendelangle, @JCQuintas, @LukasTy, @MBilalShafi, @arminmeh, @romgrk, @KenanYusuf, @oliviertassinari, @samuelsycamore.
20
+
21
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
22
+
23
+ ### Data Grid
24
+
25
+ #### `@mui/x-data-grid@7.21.0`
26
+
27
+ - [DataGrid] Fix `onRowSelectionModelChange` firing unnecessarily on initial render (#14909) @MBilalShafi
28
+ - [DataGrid] Fix `onRowSelectionModelChange` not being called after row is removed (#14972) @arminmeh
29
+ - [DataGrid] Fix pagination scrollbar issue on small zoom (#14911) @cherniavskii
30
+ - [DataGrid] Fix scroll jumping (#14929) @romgrk
31
+ - [DataGrid] Fix excessive white space at the end of the Data Grid (#14864) @kalyan90
32
+
33
+ #### `@mui/x-data-grid-pro@7.21.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
34
+
35
+ Same changes as in `@mui/x-data-grid@7.21.0`, plus:
36
+
37
+ - [DataGridPro] Fix indeterminate checkbox state for server-side data (#14956) @MBilalShafi
38
+ - [DataGridPro] Fix scrolling performance when `rowHeight={undefined}` (#14983) @cherniavskii
39
+ - [DataGridPro] List view (#14393) @KenanYusuf @cherniavskii
40
+
41
+ #### `@mui/x-data-grid-premium@7.21.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
42
+
43
+ Same changes as in `@mui/x-data-grid-pro@7.21.0`.
44
+
45
+ ### Date and Time Pickers
46
+
47
+ #### `@mui/x-date-pickers@7.21.0`
48
+
49
+ - [pickers] Cleanup `PageUp` and `PageDown` event handlers on time components (#14928) @arthurbalduini
50
+ - [pickers] Create the new picker's `ownerState` object (#14889) @flaviendelangle
51
+ - [pickers] Fix `PickerValidDate` usage in the Date Range Picker Toolbar (#14925) @flaviendelangle
52
+
53
+ #### `@mui/x-date-pickers-pro@7.21.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
54
+
55
+ Same changes as in `@mui/x-date-pickers@7.21.0`.
56
+
57
+ ### Charts
58
+
59
+ #### `@mui/x-charts@7.21.0`
60
+
61
+ - [charts] Allow `dataset` to be used with the Scatter Chart (#14915) @JCQuintas
62
+ - [charts] Ensure `reduce motion` preference disables animation on page load (#14417) @JCQuintas
63
+
64
+ #### `@mui/x-charts-pro@7.0.0-beta.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
65
+
66
+ Same changes as in `@mui/x-charts@7.21.0`.
67
+
68
+ ### Tree View
69
+
70
+ #### `@mui/x-tree-view@7.21.0`
71
+
72
+ - [TreeView] Fix `alpha` usage with CSS variables (#14969) @wangkailang
73
+ - [TreeView] Fix usage of the `aria-selected` attribute (#14991) @flaviendelangle
74
+ - [TreeView] Fix hydration error (#15002) @flaviendelangle
75
+
76
+ ### `@mui/x-codemod@7.21.0`
77
+
78
+ - [codemod] Add a new utility to rename imports (#14919) @flaviendelangle
79
+
80
+ ### Docs
81
+
82
+ - [docs] Add recipe showing how to toggle detail panels on row click (#14666) @k-rajat19
83
+ - [docs] Fix broken link to the validation section in the Data grid component (#14973) @arminmeh
84
+ - [docs] Update v5 migration codesandbox @oliviertassinari
85
+ - [docs] Enforce component style rules for the Tree View (#14963) @samuelsycamore
86
+
87
+ ### Core
88
+
89
+ - [core] Fix shortcut with localization keyboard (#14220) @rotembarsela
90
+ - [core] Fix docs deploy command (#14920) @arminmeh
91
+ - [code-infra] Prepare some tests to work in `vitest/playwright` (#14926) @JCQuintas
92
+ - [test] Fix `AdapterDayjs` coverage calculation (#14957) @LukasTy
93
+ - [test] Fix split infinitive API convention use @oliviertassinari
94
+
6
95
  ## 7.20.0
7
96
 
8
97
  _Oct 11, 2024_
@@ -79,7 +168,7 @@ Same changes as in `@mui/x-charts@7.20.0`.
79
168
  - [docs] Add custom columns panel demo (#14825) @cherniavskii
80
169
  - [docs] Capitalize all instances of "Data Grid" (#14884) @samuelsycamore
81
170
  - [docs] Divide charts `tooltip` and `highlighting` pages (#14824) @JCQuintas
82
- - [docs] Document the `TreeItem2` component and the `useTreeItem2` hook (#14551) @noraleonte
171
+ - [docs] Document the `<TreeItem2 />` component and the `useTreeItem2` hook (#14551) @noraleonte
83
172
  - [docs] Fix column pinning for "Disable detail panel content scroll" section (#14854 and #14885) @kalyan90
84
173
  - [docs] Fix detail panel demo not working well with pinned columns (#14883) @cherniavskii
85
174
  - [docs] New recipe of a read-only field (#14606) @flaviendelangle
@@ -367,7 +456,7 @@ Same changes as in `@mui/x-charts@7.17.0`.
367
456
 
368
457
  ### Docs
369
458
 
370
- - [docs] Add missing callout on "Imperative API" tree view sections (#14503) @flaviendelangle
459
+ - [docs] Add missing callout on "Imperative API" Tree View sections (#14503) @flaviendelangle
371
460
  - [docs] Fix broken redirection to MUI X v5 @oliviertassinari
372
461
  - [docs] Fix multiple `console.error` messages on `charts` docs (#14554) @JCQuintas
373
462
  - [docs] Fixed typo in Row Grouping recipes (#14549) @Miodini
@@ -708,7 +797,7 @@ Same changes as in `@mui/x-charts@7.13.0`.
708
797
  - [core] Fix ESLint issue (#14207) @LukasTy
709
798
  - [core] Fix Netlify build cache issue (#14182) @cherniavskii
710
799
  - [code-infra] Refactor Netlify `cache-docs` plugin setup (#14105) @LukasTy
711
- - [internals] Move utils needed for tree view virtualization to shared package (#14202) @flaviendelangle
800
+ - [internals] Move utils needed for Tree View virtualization to shared package (#14202) @flaviendelangle
712
801
 
713
802
  ## 7.12.1
714
803
 
@@ -799,7 +888,7 @@ This expansion of the Pro plan comes with some adjustments to our pricing strate
799
888
 
800
889
  We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
801
890
 
802
- - 🎁 Introduce [item reordering using drag and drop](https://mui.com/x/react-tree-view/rich-tree-view/ordering/) on the `RichTreeViewPro` component
891
+ - 🎁 Introduce [item reordering using drag and drop](https://mui.com/x/react-tree-view/rich-tree-view/ordering/) on the `<RichTreeViewPro />` component
803
892
 
804
893
  <img width="287" src="https://github.com/user-attachments/assets/78bd83c5-7ce4-4ed7-acf9-be70b2dbce54" alt="Item reordering using drag and drop" />
805
894
 
@@ -1292,7 +1381,7 @@ Same changes as in `@mui/x-date-pickers@7.8.0`.
1292
1381
 
1293
1382
  - [core] Add eslint rule to restrict import from `../internals` root (#13633) @JCQuintas
1294
1383
  - [docs-infra] Sync `\_app` folder with monorepo (#13582) @Janpot
1295
- - [license] Allow usage of charts and tree view pro package for old premium licenses (#13619) @flaviendelangle
1384
+ - [license] Allow usage of Charts and Tree View Pro package for old premium licenses (#13619) @flaviendelangle
1296
1385
 
1297
1386
  ## 7.7.1
1298
1387
 
@@ -1360,7 +1449,7 @@ Same changes as in `@mui/x-date-pickers@7.7.1`, plus:
1360
1449
  - [TreeView] Improve typing to support optional dependencies in plugins and in the item (#13523) @flaviendelangle
1361
1450
  - [TreeView] Move `useTreeViewId` to the core plugins (#13566) @flaviendelangle
1362
1451
  - [TreeView] Remove unused state from `useTreeViewId` (#13579) @flaviendelangle
1363
- - [TreeView] Support `itemId` with escaping characters when using `SimpleTreeView` (#13487) @oukunan
1452
+ - [TreeView] Support `itemId` with escaping characters when using Simple Tree View (#13487) @oukunan
1364
1453
 
1365
1454
  ### Docs
1366
1455
 
@@ -1440,7 +1529,7 @@ Same changes as in `@mui/x-date-pickers@7.7.0`.
1440
1529
  - [TreeView] Improve TypeScript for plugins (#13380) @flaviendelangle
1441
1530
  - [TreeView] Improve the typing of the cancelable events (#13152) @flaviendelangle
1442
1531
  - [TreeView] Prepare support for PigmentCSS (#13412) @flaviendelangle
1443
- - [TreeView] Refactor the tree view internals to prepare for headless API (#13311) @flaviendelangle
1532
+ - [TreeView] Refactor the Tree View internals to prepare for headless API (#13311) @flaviendelangle
1444
1533
 
1445
1534
  ### Docs
1446
1535
 
@@ -1455,7 +1544,7 @@ Same changes as in `@mui/x-date-pickers@7.7.0`.
1455
1544
  - [core] Add `eslint-plugin-react-compiler` experimental version and rules (#13415) @JCQuintas
1456
1545
  - [core] Minor setup cleanup (#13467) @LukasTy
1457
1546
  - [infra] Adjust CI setup (#13448) @LukasTy
1458
- - [test] Add tests for the custom slots of `TreeItem2` (#13314) @flaviendelangle
1547
+ - [test] Add tests for the custom slots of `<TreeItem2 />` (#13314) @flaviendelangle
1459
1548
 
1460
1549
  ## 7.6.2
1461
1550
 
@@ -1640,7 +1729,7 @@ _May 23, 2024_
1640
1729
 
1641
1730
  We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
1642
1731
 
1643
- - 🧰 Improve tree view testing
1732
+ - 🧰 Improve Tree View testing
1644
1733
  - 📊 Add `label` to be displayed in BarChart
1645
1734
 
1646
1735
  ### Data Grid
@@ -1816,7 +1905,7 @@ Same changes as in `@mui/x-date-pickers@7.4.0`.
1816
1905
 
1817
1906
  #### `@mui/x-tree-view@7.4.0`
1818
1907
 
1819
- - [TreeView] Fix props propagation and theme entry in `TreeItem2` (#12889) @flaviendelangle
1908
+ - [TreeView] Fix props propagation and theme entry in `<TreeItem2 />` (#12889) @flaviendelangle
1820
1909
 
1821
1910
  ### Docs
1822
1911
 
@@ -2126,7 +2215,7 @@ Same changes as in `@mui/x-date-pickers@7.2.0`, plus:
2126
2215
  ### Docs
2127
2216
 
2128
2217
  - [docs] Add `AxisFormatter` documentation for customizing tick/tooltip value formatting (#12700) @JCQuintas
2129
- - [docs] Add file explorer example to rich tree view customization docs (#12707) @noraleonte
2218
+ - [docs] Add file explorer example to rich Tree View customization docs (#12707) @noraleonte
2130
2219
  - [docs] Do not use import of depth 3 in the doc (#12716) @flaviendelangle
2131
2220
  - [docs] Explain how to clip plots with composition (#12679) @alexfauquette
2132
2221
  - [docs] Fix typo in Data Grid v7 migration page (#12720) @bfaulk96
@@ -2202,7 +2291,7 @@ Same changes as in `@mui/x-date-pickers@7.1.1`, plus:
2202
2291
  #### `@mui/x-tree-view@7.1.1`
2203
2292
 
2204
2293
  - [TreeView] Add JSDoc to all `publicAPI` methods (#12649) @flaviendelangle
2205
- - [TreeView] Create `RichTreeViewPro` component (not released yet) (#12610) @flaviendelangle
2294
+ - [TreeView] Create `<RichTreeViewPro />` component (not released yet) (#12610) @flaviendelangle
2206
2295
  - [TreeView] Create Pro package (not released yet) (#12240) @flaviendelangle
2207
2296
  - [TreeView] Fix typo in errors (#12623) @alissa-tung
2208
2297
  - [TreeView] New API method: `setItemExpansion` (#12595) @flaviendelangle
@@ -2222,13 +2311,13 @@ Same changes as in `@mui/x-date-pickers@7.1.1`, plus:
2222
2311
  - [docs] Move Data Grid interfaces to standard API page layout (#12016) @alexfauquette
2223
2312
  - [docs] Remove ` around @default values (#12158) @alexfauquette
2224
2313
  - [docs] Remove `day` from the default `dayOfWeekFormatter` function params (#12644) @LukasTy
2225
- - [docs] Use `TreeItem2` for icon expansion example on `RichTreeView` (#12563) @flaviendelangle
2314
+ - [docs] Use `<TreeItem2 />` for icon expansion example on `<RichTreeView />` (#12563) @flaviendelangle
2226
2315
 
2227
2316
  ### Core
2228
2317
 
2229
2318
  - [core] Add cherry-pick `master` to `v6` action (#12648) @LukasTy
2230
2319
  - [core] Fix typo in `@mui/x-tree-view-pro/themeAugmentation` (#12674) @flaviendelangle
2231
- - [core] Introduce `describeTreeView` to run test on `SimpleTreeView` and `RichTreeView`, using `TreeItem` and `TreeItem2` + migrate expansion tests (#12428) @flaviendelangle
2320
+ - [core] Introduce `describeTreeView` to run test on `<SimpleTreeView />` and `<RichTreeView />`, using `<TreeItem />` and `<TreeItem2 />` + migrate expansion tests (#12428) @flaviendelangle
2232
2321
  - [core] Limit `test-types` CI step allowed memory (#12651) @LukasTy
2233
2322
  - [core] Remove explicit `express` package (#12602) @LukasTy
2234
2323
  - [core] Update to new embedded translations in the docs package (#12232) @Janpot
@@ -2293,7 +2382,7 @@ Same changes as in `@mui/x-date-pickers@7.1.0`, plus:
2293
2382
 
2294
2383
  #### `@mui/x-tree-view@7.1.0`
2295
2384
 
2296
- - [TreeView] Do not use outdated version of the state to compute new label first char in `RichTreeView` (#12512) @flaviendelangle
2385
+ - [TreeView] Do not use outdated version of the state to compute new label first char in Rich Tree View (#12512) @flaviendelangle
2297
2386
 
2298
2387
  ### Docs
2299
2388
 
@@ -2420,7 +2509,7 @@ Same changes as in `@mui/x-date-pickers@7.0.0`, plus:
2420
2509
 
2421
2510
  #### Breaking changes
2422
2511
 
2423
- - The required `nodeId` prop used by the `TreeItem` has been renamed to `itemId` for consistency:
2512
+ - The required `nodeId` prop used by `<TreeItem />` has been renamed to `itemId` for consistency:
2424
2513
 
2425
2514
  ```diff
2426
2515
  <TreeView>
@@ -2573,7 +2662,7 @@ The `onNodeFocus` callback has been renamed to `onItemFocus` for consistency:
2573
2662
  #### `@mui/x-tree-view@7.0.0-beta.7`
2574
2663
 
2575
2664
  - [TreeView] Clean the usage of the term "item" and "node" in API introduced during v7 (#12368) @noraleonte
2576
- - [TreeView] Introduce a new `TreeItem2` component and a new `useTreeItem2` hook (#11721) @flaviendelangle
2665
+ - [TreeView] Introduce a new `<TreeItem2 />` component and a new `useTreeItem2` hook (#11721) @flaviendelangle
2577
2666
  - [TreeView] Rename `onNodeFocus` to `onItemFocus` (#12419) @noraleonte
2578
2667
 
2579
2668
  ### Docs
@@ -2631,9 +2720,9 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.6`.
2631
2720
 
2632
2721
  #### Breaking changes
2633
2722
 
2634
- - The component used to animate the item children is now defined as a slot on the `TreeItem` component.
2723
+ - The component used to animate the item children is now defined as a slot on the `<TreeItem />` component.
2635
2724
 
2636
- If you were passing a `TransitionComponent` or `TransitionProps` to your `TreeItem` component,
2725
+ If you were passing a `TransitionComponent` or `TransitionProps` to your `<TreeItem />` component,
2637
2726
  you need to use the new `groupTransition` slot on this component:
2638
2727
 
2639
2728
  ```diff
@@ -2649,7 +2738,7 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.6`.
2649
2738
  </SimpleTreeView>
2650
2739
  ```
2651
2740
 
2652
- - The `group` class of the `TreeItem` component has been renamed to `groupTransition` to match with its new slot name.
2741
+ - The `group` class of the `<TreeItem />` component has been renamed to `groupTransition` to match with its new slot name.
2653
2742
 
2654
2743
  ```diff
2655
2744
  const StyledTreeItem = styled(TreeItem)({
@@ -2663,14 +2752,14 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.6`.
2663
2752
  #### `@mui/x-tree-view@7.0.0-beta.6`
2664
2753
 
2665
2754
  - [TreeView] Fix invalid nodes state when updating `props.items` (#12359) @flaviendelangle
2666
- - [TreeView] In the `RichTreeView`, do not use the item id as the HTML id attribute (#12319) @flaviendelangle
2755
+ - [TreeView] In the Rich Tree View, do not use the item id as the HTML id attribute (#12319) @flaviendelangle
2667
2756
  - [TreeView] New instance and publicAPI method: `getItem` (#12251) @flaviendelangle
2668
2757
  - [TreeView] Replace `TransitionComponent` and `TransitionProps` with a `groupTransition` slot (#12336) @flaviendelangle
2669
2758
 
2670
2759
  ### Docs
2671
2760
 
2672
2761
  - [docs] Add a note about `z-index` usage in SVG (#12337) @alexfauquette
2673
- - [docs] `RichTreeView` customization docs (#12231) @noraleonte
2762
+ - [docs] Rich Tree View customization docs (#12231) @noraleonte
2674
2763
 
2675
2764
  ### Core
2676
2765
 
@@ -3323,7 +3412,7 @@ Same changes as in `@mui/x-date-pickers@7.0.0-beta.0`, plus:
3323
3412
 
3324
3413
  ### Docs
3325
3414
 
3326
- - [docs] Add `contextValue` to the headless tree view doc (#11705) @flaviendelangle
3415
+ - [docs] Add `contextValue` to the headless Tree View doc (#11705) @flaviendelangle
3327
3416
  - [docs] Add section for the `disableSelection` prop (#11821) @flaviendelangle
3328
3417
  - [docs] Fix brand name non-breaking space (#11758) @oliviertassinari
3329
3418
  - [docs] Fix typo in Data Grid components page (#11775) @flaviendelangle
@@ -3346,7 +3435,7 @@ We'd like to offer a big thanks to the 11 contributors who made this release pos
3346
3435
 
3347
3436
  - 🎁 The Data Grid headers have been refactored to bring immense improvements to scrolling, state management, and overall performance of the grid.
3348
3437
  - ⚙️ The Data Grid disabled column-specific features like filtering, sorting, grouping, etc. could now be accessed programmatically. See the related [docs](https://next.mui.com/x/react-data-grid/api-object/#access-the-disabled-column-features) section.
3349
- - 🚀 Uplift the `SimpleTreeView` customization examples (#11424) @noraleonte
3438
+ - 🚀 Uplift the Simple Tree View customization examples (#11424) @noraleonte
3350
3439
  - 🌍 Add Croatian (hr-HR), Portuguese (pt-PT), and Chinese (Hong Kong) (zh-HK) locales (#11668) on the Data Grid @BCaspari
3351
3440
  - 🐞 Bugfixes
3352
3441
  - 💔 Bump `@mui/material` peer dependency for all packages (#11692) @LukasTy
@@ -3557,7 +3646,7 @@ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.9`.
3557
3646
  ```
3558
3647
 
3559
3648
  - The `useTreeItem` hook has been renamed `useTreeItemState`.
3560
- This will help create a new headless version of the `TreeItem` component based on a future `useTreeItem` hook.
3649
+ This will help create a new headless version of the Tree Item component based on a future `useTreeItem` hook.
3561
3650
 
3562
3651
  ```diff
3563
3652
  -import { TreeItem, useTreeItem } from '@mui/x-tree-view/TreeItem';
@@ -3657,13 +3746,13 @@ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.9`.
3657
3746
  - [docs] Cleanup and fix Pickers Playground styling (#11700) @LukasTy
3658
3747
  - [docs] First draft of the Tree View custom plugin doc (#11564) @flaviendelangle
3659
3748
  - [docs] Fix Pickers migration syntax and diffs (#11695) @LukasTy
3660
- - [docs] Fix generated tree view API docs (#11737) @LukasTy
3749
+ - [docs] Fix generated Tree View API docs (#11737) @LukasTy
3661
3750
  - [docs] Generate docs for Tree View slots (#11730) @flaviendelangle
3662
3751
  - [docs] Improve codemod for v7 (#11650) @oliviertassinari
3663
3752
  - [docs] Improve Data Grid `pageSizeOptions` prop documentation (#11682) @oliviertassinari
3664
3753
  - [docs] Parse markdown on API docs demo titles (#11728) @LukasTy
3665
3754
  - [docs] Remove the description from the `className` prop (#11693) @oliviertassinari
3666
- - [docs] Uplift `SimpleTreeView` customization examples (#11424) @noraleonte
3755
+ - [docs] Uplift Simple Tree View customization examples (#11424) @noraleonte
3667
3756
  - [docs] Uplift the Date Pickers playground (#11555) @danilo-leal
3668
3757
 
3669
3758
  ### Core
@@ -3740,8 +3829,8 @@ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.8`.
3740
3829
 
3741
3830
  ### Tree View / `@mui/x-tree-view@7.0.0-alpha.8`
3742
3831
 
3743
- - [tree view] Cleanup `onKeyDown` handler (#11481) @flaviendelangle
3744
- - [tree view] Define the parameters used by each plugin to avoid listing them in each component (#11473) @flaviendelangle
3832
+ - [TreeView] Cleanup `onKeyDown` handler (#11481) @flaviendelangle
3833
+ - [TreeView] Define the parameters used by each plugin to avoid listing them in each component (#11473) @flaviendelangle
3745
3834
 
3746
3835
  ### Docs
3747
3836
 
@@ -3768,7 +3857,7 @@ We'd like to offer a big thanks to the 7 contributors who made this release poss
3768
3857
 
3769
3858
  - 🎁 New component to create a Tree View from a structured data source:
3770
3859
 
3771
- You can now directly pass your data to the `RichTreeView` component instead of manually converting it into JSX `TreeItem` components:
3860
+ You can now directly pass your data to the `<RichTreeView />` component instead of manually converting it into JSX `<TreeItem />` components:
3772
3861
 
3773
3862
  ```tsx
3774
3863
  const ITEMS = [
@@ -5099,7 +5188,7 @@ Here is an example of the renaming for the `<ChartsTooltip />` component.
5099
5188
 
5100
5189
  ### Core
5101
5190
 
5102
- - [core] Adds migration docs for charts, pickers and tree view (#10926) @michelengelen
5191
+ - [core] Adds migration docs for Charts, Pickers, and Tree View (#10926) @michelengelen
5103
5192
  - [core] Bump monorepo (#10959) @LukasTy
5104
5193
  - [core] Changed prettier branch value to next (#10917) @michelengelen
5105
5194
  - [core] Fix GitHub title tag consistency @oliviertassinari
@@ -695,6 +695,7 @@ DataGridRaw.propTypes = {
695
695
  * Setting it to a lower value could be useful when using dynamic row height,
696
696
  * but might reduce performance when displaying a large number of rows.
697
697
  * @default 166
698
+ * @deprecated
698
699
  */
699
700
  rowPositionsDebounceMs: PropTypes.number,
700
701
  /**
@@ -1,2 +1 @@
1
1
  export * from './DataGrid';
2
- export { DATA_GRID_PROPS_DEFAULT_VALUES } from './useDataGridProps';
package/DataGrid/index.js CHANGED
@@ -1,2 +1 @@
1
- export * from "./DataGrid.js";
2
- export { DATA_GRID_PROPS_DEFAULT_VALUES } from "./useDataGridProps.js";
1
+ export * from "./DataGrid.js";
@@ -28,6 +28,7 @@ import { useGridColumnGrouping, columnGroupsStateInitializer } from "../hooks/fe
28
28
  import { useGridVirtualization, virtualizationStateInitializer } from "../hooks/features/virtualization/index.js";
29
29
  import { columnResizeStateInitializer, useGridColumnResize } from "../hooks/features/columnResize/useGridColumnResize.js";
30
30
  import { rowSpanningStateInitializer, useGridRowSpanning } from "../hooks/features/rows/useGridRowSpanning.js";
31
+ import { listViewStateInitializer, useGridListView } from "../hooks/features/listView/useGridListView.js";
31
32
  export const useDataGridComponent = (inputApiRef, props) => {
32
33
  const apiRef = useGridInitialization(inputApiRef, props);
33
34
 
@@ -57,12 +58,13 @@ export const useDataGridComponent = (inputApiRef, props) => {
57
58
  useGridInitializeState(columnMenuStateInitializer, apiRef, props);
58
59
  useGridInitializeState(columnGroupsStateInitializer, apiRef, props);
59
60
  useGridInitializeState(virtualizationStateInitializer, apiRef, props);
61
+ useGridInitializeState(listViewStateInitializer, apiRef, props);
60
62
  useGridKeyboardNavigation(apiRef, props);
61
63
  useGridRowSelection(apiRef, props);
62
64
  useGridColumns(apiRef, props);
63
65
  useGridRows(apiRef, props);
64
66
  useGridRowSpanning(apiRef, props);
65
- useGridParamsApi(apiRef);
67
+ useGridParamsApi(apiRef, props);
66
68
  useGridColumnSpanning(apiRef);
67
69
  useGridColumnGrouping(apiRef, props);
68
70
  useGridEditing(apiRef, props);
@@ -83,5 +85,6 @@ export const useDataGridComponent = (inputApiRef, props) => {
83
85
  useGridEvents(apiRef, props);
84
86
  useGridStatePersistence(apiRef);
85
87
  useGridVirtualization(apiRef, props);
88
+ useGridListView(apiRef, props);
86
89
  return apiRef;
87
90
  };
@@ -1,7 +1,3 @@
1
- import { DataGridProcessedProps, DataGridProps, DataGridPropsWithDefaultValues } from '../models/props/DataGridProps';
1
+ import { DataGridProcessedProps, DataGridProps } from '../models/props/DataGridProps';
2
2
  import { GridValidRowModel } from '../models';
3
- /**
4
- * The default values of `DataGridPropsWithDefaultValues` to inject in the props of DataGrid.
5
- */
6
- export declare const DATA_GRID_PROPS_DEFAULT_VALUES: DataGridPropsWithDefaultValues;
7
3
  export declare const useDataGridProps: <R extends GridValidRowModel>(inProps: DataGridProps<R>) => DataGridProcessedProps<R>;
@@ -3,8 +3,8 @@ import * as React from 'react';
3
3
  import { useThemeProps } from '@mui/material/styles';
4
4
  import { GRID_DEFAULT_LOCALE_TEXT } from "../constants/index.js";
5
5
  import { DATA_GRID_DEFAULT_SLOTS_COMPONENTS } from "../constants/defaultGridSlotsComponents.js";
6
- import { GridEditModes } from "../models/index.js";
7
6
  import { computeSlots, useProps } from "../internals/utils/index.js";
7
+ import { DATA_GRID_PROPS_DEFAULT_VALUES } from "../constants/dataGridPropsDefaultValues.js";
8
8
  const DATA_GRID_FORCED_PROPS = {
9
9
  disableMultipleColumnsFiltering: true,
10
10
  disableMultipleColumnsSorting: true,
@@ -14,67 +14,8 @@ const DATA_GRID_FORCED_PROPS = {
14
14
  checkboxSelectionVisibleOnly: false,
15
15
  disableColumnReorder: true,
16
16
  keepColumnPositionIfDraggedOutside: false,
17
- signature: 'DataGrid'
18
- };
19
-
20
- /**
21
- * The default values of `DataGridPropsWithDefaultValues` to inject in the props of DataGrid.
22
- */
23
- export const DATA_GRID_PROPS_DEFAULT_VALUES = {
24
- autoHeight: false,
25
- autoPageSize: false,
26
- autosizeOnMount: false,
27
- checkboxSelection: false,
28
- checkboxSelectionVisibleOnly: false,
29
- clipboardCopyCellDelimiter: '\t',
30
- columnBufferPx: 150,
31
- columnHeaderHeight: 56,
32
- disableAutosize: false,
33
- disableColumnFilter: false,
34
- disableColumnMenu: false,
35
- disableColumnReorder: false,
36
- disableColumnResize: false,
37
- disableColumnSelector: false,
38
- disableColumnSorting: false,
39
- disableDensitySelector: false,
40
- disableEval: false,
41
- disableMultipleColumnsFiltering: false,
42
- disableMultipleColumnsSorting: false,
43
- disableMultipleRowSelection: false,
44
- disableRowSelectionOnClick: false,
45
- disableVirtualization: false,
46
- editMode: GridEditModes.Cell,
47
- filterDebounceMs: 150,
48
- filterMode: 'client',
49
- hideFooter: false,
50
- hideFooterPagination: false,
51
- hideFooterRowCount: false,
52
- hideFooterSelectedRowCount: false,
53
- ignoreDiacritics: false,
54
- ignoreValueFormatterDuringExport: false,
55
- // TODO v8: Update to 'select'
56
- indeterminateCheckboxAction: 'deselect',
57
- keepColumnPositionIfDraggedOutside: false,
58
- keepNonExistentRowsSelected: false,
59
- loading: false,
60
- logger: console,
61
- logLevel: process.env.NODE_ENV === 'production' ? 'error' : 'warn',
62
- pageSizeOptions: [25, 50, 100],
63
- pagination: false,
64
- paginationMode: 'client',
65
- resizeThrottleMs: 60,
66
- rowBufferPx: 150,
67
- rowHeight: 52,
68
- rowPositionsDebounceMs: 166,
69
- rows: [],
70
- rowSelection: true,
71
- rowSpacingType: 'margin',
72
- showCellVerticalBorder: false,
73
- showColumnVerticalBorder: false,
74
- sortingMode: 'client',
75
- sortingOrder: ['asc', 'desc', null],
76
- throttleRowsMs: 0,
77
- unstable_rowSpanning: false
17
+ signature: 'DataGrid',
18
+ unstable_listView: false
78
19
  };
79
20
  const defaultSlots = DATA_GRID_DEFAULT_SLOTS_COMPONENTS;
80
21
  export const useDataGridProps = inProps => {
@@ -13,6 +13,7 @@ const GridPaginationRoot = styled(TablePagination)(({
13
13
  }) => ({
14
14
  maxHeight: 'calc(100% + 1px)',
15
15
  // border width
16
+ flexGrow: 1,
16
17
  [`& .${tablePaginationClasses.selectLabel}`]: {
17
18
  display: 'none',
18
19
  [theme.breakpoints.up('sm')]: {
@@ -7,7 +7,6 @@ import clsx from 'clsx';
7
7
  import { unstable_useForkRef as useForkRef } from '@mui/utils';
8
8
  import { fastMemo } from '@mui/x-internals/fastMemo';
9
9
  import { GridEditModes, GridRowModes, GridCellModes } from "../models/gridEditRowModel.js";
10
- import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
11
10
  import { gridClasses } from "../constants/gridClasses.js";
12
11
  import { composeGridClasses } from "../utils/composeGridClasses.js";
13
12
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
@@ -25,6 +24,7 @@ import { PinnedPosition, gridPinnedColumnPositionLookup } from "./cell/GridCell.
25
24
  import { GridScrollbarFillerCell as ScrollbarFiller } from "./GridScrollbarFillerCell.js";
26
25
  import { getPinnedCellOffset } from "../internals/utils/getPinnedCellOffset.js";
27
26
  import { useGridConfiguration } from "../hooks/utils/useGridConfiguration.js";
27
+ import { useGridPrivateApiContext } from "../hooks/utils/useGridPrivateApiContext.js";
28
28
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
29
29
  function EmptyCell({
30
30
  width
@@ -40,6 +40,13 @@ function EmptyCell({
40
40
  }
41
41
  });
42
42
  }
43
+ process.env.NODE_ENV !== "production" ? EmptyCell.propTypes = {
44
+ // ----------------------------- Warning --------------------------------
45
+ // | These PropTypes are generated from the TypeScript type definitions |
46
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
47
+ // ----------------------------------------------------------------------
48
+ width: PropTypes.number.isRequired
49
+ } : void 0;
43
50
  const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
44
51
  const {
45
52
  selected,
@@ -67,7 +74,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
67
74
  onMouseOver
68
75
  } = props,
69
76
  other = _objectWithoutPropertiesLoose(props, _excluded);
70
- const apiRef = useGridApiContext();
77
+ const apiRef = useGridPrivateApiContext();
71
78
  const configuration = useGridConfiguration();
72
79
  const ref = React.useRef(null);
73
80
  const rootProps = useGridRootProps();
@@ -91,30 +98,17 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
91
98
  const getRowAriaAttributes = configuration.hooks.useGridRowAriaAttributes();
92
99
  React.useLayoutEffect(() => {
93
100
  if (currentPage.range) {
94
- // The index prop is relative to the rows from all pages. As example, the index prop of the
95
- // first row is 5 if `paginationModel.pageSize=5` and `paginationModel.page=1`. However, the index used by the virtualization
96
- // doesn't care about pagination and considers the rows from the current page only, so the
97
- // first row always has index=0. We need to subtract the index of the first row to make it
98
- // compatible with the index used by the virtualization.
99
101
  const rowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(rowId);
100
- // pinned rows are not part of the visible rows
101
- if (rowIndex != null) {
102
+ // Pinned rows are not part of the visible rows
103
+ if (rowIndex !== undefined) {
102
104
  apiRef.current.unstable_setLastMeasuredRowIndex(rowIndex);
103
105
  }
104
106
  }
105
- const rootElement = ref.current;
106
- const hasFixedHeight = rowHeight !== 'auto';
107
- if (!rootElement || hasFixedHeight || typeof ResizeObserver === 'undefined') {
108
- return undefined;
107
+ if (ref.current && rowHeight === 'auto') {
108
+ return apiRef.current.observeRowHeight(ref.current, rowId);
109
109
  }
110
- const resizeObserver = new ResizeObserver(entries => {
111
- const [entry] = entries;
112
- const height = entry.borderBoxSize && entry.borderBoxSize.length > 0 ? entry.borderBoxSize[0].blockSize : entry.contentRect.height;
113
- apiRef.current.unstable_storeRowHeightMeasurement(rowId, height);
114
- });
115
- resizeObserver.observe(rootElement);
116
- return () => resizeObserver.disconnect();
117
- }, [apiRef, currentPage.range, index, rowHeight, rowId]);
110
+ return undefined;
111
+ }, [apiRef, currentPage.range, rowHeight, rowId]);
118
112
  const publish = React.useCallback((eventName, propHandler) => event => {
119
113
  // Ignore portal
120
114
  if (isEventTargetInPortal(event)) {
@@ -171,15 +165,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
171
165
  disableColumnReorder
172
166
  } = rootProps;
173
167
  const rowReordering = rootProps.rowReordering;
174
- const sizes = useGridSelector(apiRef, () => _extends({}, apiRef.current.unstable_getRowInternalSizes(rowId)), objectShallowCompare);
175
- let minHeight = rowHeight;
176
- if (minHeight === 'auto' && sizes) {
177
- const numberOfBaseSizes = 1;
178
- const maximumSize = sizes.baseCenter ?? 0;
179
- if (maximumSize > 0 && numberOfBaseSizes > 1) {
180
- minHeight = maximumSize;
181
- }
182
- }
168
+ const heightEntry = useGridSelector(apiRef, () => _extends({}, apiRef.current.getRowHeightEntry(rowId)), objectShallowCompare);
183
169
  const style = React.useMemo(() => {
184
170
  if (isNotVisible) {
185
171
  return {
@@ -191,25 +177,25 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
191
177
  const rowStyle = _extends({}, styleProp, {
192
178
  maxHeight: rowHeight === 'auto' ? 'none' : rowHeight,
193
179
  // max-height doesn't support "auto"
194
- minHeight,
180
+ minHeight: rowHeight,
195
181
  '--height': typeof rowHeight === 'number' ? `${rowHeight}px` : rowHeight
196
182
  });
197
- if (sizes?.spacingTop) {
183
+ if (heightEntry.spacingTop) {
198
184
  const property = rootProps.rowSpacingType === 'border' ? 'borderTopWidth' : 'marginTop';
199
- rowStyle[property] = sizes.spacingTop;
185
+ rowStyle[property] = heightEntry.spacingTop;
200
186
  }
201
- if (sizes?.spacingBottom) {
187
+ if (heightEntry.spacingBottom) {
202
188
  const property = rootProps.rowSpacingType === 'border' ? 'borderBottomWidth' : 'marginBottom';
203
189
  let propertyValue = rowStyle[property];
204
190
  // avoid overriding existing value
205
191
  if (typeof propertyValue !== 'number') {
206
192
  propertyValue = parseInt(propertyValue || '0', 10);
207
193
  }
208
- propertyValue += sizes.spacingBottom;
194
+ propertyValue += heightEntry.spacingBottom;
209
195
  rowStyle[property] = propertyValue;
210
196
  }
211
197
  return rowStyle;
212
- }, [isNotVisible, rowHeight, styleProp, minHeight, sizes, rootProps.rowSpacingType]);
198
+ }, [isNotVisible, rowHeight, styleProp, heightEntry, rootProps.rowSpacingType]);
213
199
  const rowClassNames = apiRef.current.unstable_applyPipeProcessors('rowClassName', [], rowId);
214
200
  const ariaAttributes = rowNode ? getRowAriaAttributes(rowNode, index) : undefined;
215
201
  if (typeof rootProps.getRowClassName === 'function') {
@@ -287,6 +273,9 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
287
273
  for (let i = renderContext.firstColumnIndex; i < renderContext.lastColumnIndex; i += 1) {
288
274
  const column = visibleColumns[i];
289
275
  const indexInSection = i - pinnedColumns.left.length;
276
+ if (!column) {
277
+ continue;
278
+ }
290
279
  cells.push(getCell(column, indexInSection, i, middleColumnsLength));
291
280
  }
292
281
  if (hasVirtualFocusCellRight) {
@@ -74,6 +74,14 @@ function GridOverlayWrapper(props) {
74
74
  }, props))
75
75
  }));
76
76
  }
77
+ process.env.NODE_ENV !== "production" ? GridOverlayWrapper.propTypes = {
78
+ // ----------------------------- Warning --------------------------------
79
+ // | These PropTypes are generated from the TypeScript type definitions |
80
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
81
+ // ----------------------------------------------------------------------
82
+ loadingOverlayVariant: PropTypes.oneOf(['circular-progress', 'linear-progress', 'skeleton']),
83
+ overlayType: PropTypes.oneOf(['loadingOverlay', 'noResultsOverlay', 'noRowsOverlay'])
84
+ } : void 0;
77
85
  process.env.NODE_ENV !== "production" ? GridOverlays.propTypes = {
78
86
  // ----------------------------- Warning --------------------------------
79
87
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -513,6 +513,7 @@ export const GridRootStyles = styled('div', {
513
513
  },
514
514
  /* Cell styles */
515
515
  [`& .${c.cell}`]: {
516
+ flex: '0 0 auto',
516
517
  height: 'var(--height)',
517
518
  width: 'var(--width)',
518
519
  lineHeight: 'calc(var(--height) - 1px)',