@mui/x-data-grid 8.0.0-alpha.4 → 8.0.0-alpha.6

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 (254) hide show
  1. package/CHANGELOG.md +182 -0
  2. package/DataGrid/DataGrid.js +6 -9
  3. package/DataGrid/useDataGridProps.js +3 -3
  4. package/components/GridColumnHeaders.d.ts +1 -1
  5. package/components/GridColumnHeaders.js +4 -4
  6. package/components/GridFooter.d.ts +2 -1
  7. package/components/GridFooter.js +4 -4
  8. package/components/GridLoadingOverlay.d.ts +1 -1
  9. package/components/GridLoadingOverlay.js +10 -8
  10. package/components/GridNoResultsOverlay.d.ts +2 -1
  11. package/components/GridNoResultsOverlay.js +4 -4
  12. package/components/GridNoRowsOverlay.d.ts +2 -1
  13. package/components/GridNoRowsOverlay.js +4 -4
  14. package/components/GridPagination.d.ts +1 -1
  15. package/components/GridPagination.js +5 -3
  16. package/components/GridRow.d.ts +1 -1
  17. package/components/GridRow.js +15 -3
  18. package/components/GridRowCount.d.ts +1 -1
  19. package/components/GridRowCount.js +3 -2
  20. package/components/GridSelectedRowCount.d.ts +4 -1
  21. package/components/GridSelectedRowCount.js +3 -2
  22. package/components/GridSkeletonLoadingOverlay.d.ts +1 -1
  23. package/components/GridSkeletonLoadingOverlay.js +4 -3
  24. package/components/cell/GridActionsCellItem.d.ts +1 -1
  25. package/components/cell/GridActionsCellItem.js +7 -8
  26. package/components/cell/GridCell.d.ts +1 -1
  27. package/components/cell/GridCell.js +3 -2
  28. package/components/cell/GridEditInputCell.d.ts +1 -1
  29. package/components/cell/GridEditInputCell.js +72 -3
  30. package/components/cell/GridSkeletonCell.js +1 -2
  31. package/components/columnHeaders/GridBaseColumnHeaders.d.ts +1 -1
  32. package/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  33. package/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  34. package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +1 -1
  35. package/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  36. package/components/columnHeaders/GridIconButtonContainer.d.ts +1 -1
  37. package/components/columnHeaders/GridIconButtonContainer.js +5 -3
  38. package/components/columnSelection/GridCellCheckboxRenderer.d.ts +2 -2
  39. package/components/columnSelection/GridCellCheckboxRenderer.js +5 -3
  40. package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
  41. package/components/columnSelection/GridHeaderCheckbox.js +5 -3
  42. package/components/containers/GridFooterContainer.d.ts +1 -1
  43. package/components/containers/GridFooterContainer.js +5 -3
  44. package/components/containers/GridOverlay.d.ts +1 -1
  45. package/components/containers/GridOverlay.js +5 -3
  46. package/components/containers/GridRoot.d.ts +1 -1
  47. package/components/containers/GridRoot.js +5 -3
  48. package/components/containers/GridToolbarContainer.d.ts +1 -1
  49. package/components/containers/GridToolbarContainer.js +3 -2
  50. package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
  51. package/components/menu/columnMenu/GridColumnMenu.js +5 -5
  52. package/components/menu/columnMenu/GridColumnMenuContainer.d.ts +1 -1
  53. package/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  54. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
  55. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
  56. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
  57. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  58. package/components/panel/GridPanel.d.ts +1 -1
  59. package/components/panel/GridPanel.js +3 -2
  60. package/components/panel/GridPanelWrapper.d.ts +1 -1
  61. package/components/panel/GridPanelWrapper.js +5 -3
  62. package/components/panel/filterPanel/GridFilterForm.d.ts +1 -1
  63. package/components/panel/filterPanel/GridFilterForm.js +3 -2
  64. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -1
  65. package/components/panel/filterPanel/GridFilterInputBoolean.js +9 -9
  66. package/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  67. package/components/panel/filterPanel/GridFilterPanel.d.ts +1 -1
  68. package/components/panel/filterPanel/GridFilterPanel.js +4 -4
  69. package/components/panel/filterPanel/index.d.ts +2 -1
  70. package/components/panel/filterPanel/index.js +1 -1
  71. package/components/toolbar/GridToolbar.d.ts +1 -1
  72. package/components/toolbar/GridToolbar.js +4 -4
  73. package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
  74. package/components/toolbar/GridToolbarColumnsButton.js +3 -2
  75. package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
  76. package/components/toolbar/GridToolbarDensitySelector.js +6 -7
  77. package/components/toolbar/GridToolbarExport.d.ts +1 -1
  78. package/components/toolbar/GridToolbarExport.js +2 -1
  79. package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
  80. package/components/toolbar/GridToolbarExportContainer.js +3 -2
  81. package/components/toolbar/GridToolbarFilterButton.d.ts +2 -2
  82. package/components/toolbar/GridToolbarFilterButton.js +6 -2
  83. package/components/toolbar/GridToolbarQuickFilter.js +27 -23
  84. package/components/virtualization/GridMainContainer.d.ts +3 -1
  85. package/components/virtualization/GridMainContainer.js +4 -3
  86. package/components/virtualization/GridVirtualScrollbar.d.ts +1 -1
  87. package/components/virtualization/GridVirtualScrollbar.js +2 -1
  88. package/components/virtualization/GridVirtualScrollerContent.d.ts +2 -0
  89. package/components/virtualization/GridVirtualScrollerContent.js +5 -5
  90. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +2 -0
  91. package/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  92. package/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  93. package/hooks/features/columnResize/gridColumnResizeApi.d.ts +6 -0
  94. package/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  95. package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
  96. package/hooks/features/columnResize/useGridColumnResize.js +9 -4
  97. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
  98. package/hooks/features/columns/gridColumnsUtils.js +2 -1
  99. package/hooks/features/rows/useGridRowSpanning.js +76 -87
  100. package/index.js +1 -1
  101. package/internals/utils/index.d.ts +0 -1
  102. package/internals/utils/index.js +0 -1
  103. package/locales/koKR.js +45 -49
  104. package/locales/nlNL.js +5 -6
  105. package/material/index.js +36 -4
  106. package/models/gridBaseSlots.d.ts +36 -0
  107. package/models/gridBaseSlots.js +1 -0
  108. package/models/gridSlotsComponent.d.ts +16 -1
  109. package/models/gridSlotsComponentsProps.d.ts +38 -5
  110. package/models/props/DataGridProps.d.ts +0 -5
  111. package/modern/DataGrid/DataGrid.js +6 -9
  112. package/modern/DataGrid/useDataGridProps.js +3 -3
  113. package/modern/components/GridColumnHeaders.js +4 -4
  114. package/modern/components/GridFooter.js +4 -4
  115. package/modern/components/GridLoadingOverlay.js +10 -8
  116. package/modern/components/GridNoResultsOverlay.js +4 -4
  117. package/modern/components/GridNoRowsOverlay.js +4 -4
  118. package/modern/components/GridPagination.js +5 -3
  119. package/modern/components/GridRow.js +15 -3
  120. package/modern/components/GridRowCount.js +3 -2
  121. package/modern/components/GridSelectedRowCount.js +3 -2
  122. package/modern/components/GridSkeletonLoadingOverlay.js +4 -3
  123. package/modern/components/cell/GridActionsCellItem.js +7 -8
  124. package/modern/components/cell/GridCell.js +3 -2
  125. package/modern/components/cell/GridEditInputCell.js +72 -3
  126. package/modern/components/cell/GridSkeletonCell.js +1 -2
  127. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  128. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  129. package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  130. package/modern/components/columnHeaders/GridIconButtonContainer.js +5 -3
  131. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +5 -3
  132. package/modern/components/columnSelection/GridHeaderCheckbox.js +5 -3
  133. package/modern/components/containers/GridFooterContainer.js +5 -3
  134. package/modern/components/containers/GridOverlay.js +5 -3
  135. package/modern/components/containers/GridRoot.js +5 -3
  136. package/modern/components/containers/GridToolbarContainer.js +3 -2
  137. package/modern/components/menu/columnMenu/GridColumnMenu.js +5 -5
  138. package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  139. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
  140. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
  141. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
  142. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  143. package/modern/components/panel/GridPanel.js +3 -2
  144. package/modern/components/panel/GridPanelWrapper.js +5 -3
  145. package/modern/components/panel/filterPanel/GridFilterForm.js +3 -2
  146. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +9 -9
  147. package/modern/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  148. package/modern/components/panel/filterPanel/GridFilterPanel.js +4 -4
  149. package/modern/components/panel/filterPanel/index.js +1 -1
  150. package/modern/components/toolbar/GridToolbar.js +4 -4
  151. package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -2
  152. package/modern/components/toolbar/GridToolbarDensitySelector.js +6 -7
  153. package/modern/components/toolbar/GridToolbarExport.js +2 -1
  154. package/modern/components/toolbar/GridToolbarExportContainer.js +3 -2
  155. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -2
  156. package/modern/components/toolbar/GridToolbarQuickFilter.js +27 -23
  157. package/modern/components/virtualization/GridMainContainer.js +4 -3
  158. package/modern/components/virtualization/GridVirtualScrollbar.js +2 -1
  159. package/modern/components/virtualization/GridVirtualScrollerContent.js +5 -5
  160. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  161. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  162. package/modern/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  163. package/modern/hooks/features/columnResize/useGridColumnResize.js +9 -4
  164. package/modern/hooks/features/columns/gridColumnsUtils.js +2 -1
  165. package/modern/hooks/features/rows/useGridRowSpanning.js +76 -87
  166. package/modern/index.js +1 -1
  167. package/modern/internals/utils/index.js +0 -1
  168. package/modern/locales/koKR.js +45 -49
  169. package/modern/locales/nlNL.js +5 -6
  170. package/modern/material/index.js +36 -4
  171. package/modern/models/gridBaseSlots.js +1 -0
  172. package/modern/utils/utils.js +6 -1
  173. package/node/DataGrid/DataGrid.js +6 -9
  174. package/node/DataGrid/useDataGridProps.js +2 -2
  175. package/node/components/GridColumnHeaders.js +4 -4
  176. package/node/components/GridFooter.js +4 -4
  177. package/node/components/GridLoadingOverlay.js +10 -8
  178. package/node/components/GridNoResultsOverlay.js +4 -4
  179. package/node/components/GridNoRowsOverlay.js +4 -4
  180. package/node/components/GridPagination.js +5 -3
  181. package/node/components/GridRow.js +15 -3
  182. package/node/components/GridRowCount.js +3 -2
  183. package/node/components/GridSelectedRowCount.js +3 -2
  184. package/node/components/GridSkeletonLoadingOverlay.js +4 -3
  185. package/node/components/cell/GridActionsCellItem.js +6 -7
  186. package/node/components/cell/GridCell.js +3 -2
  187. package/node/components/cell/GridEditInputCell.js +72 -3
  188. package/node/components/cell/GridSkeletonCell.js +1 -2
  189. package/node/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  190. package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  191. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  192. package/node/components/columnHeaders/GridIconButtonContainer.js +5 -3
  193. package/node/components/columnSelection/GridCellCheckboxRenderer.js +5 -3
  194. package/node/components/columnSelection/GridHeaderCheckbox.js +5 -3
  195. package/node/components/containers/GridFooterContainer.js +5 -3
  196. package/node/components/containers/GridOverlay.js +5 -3
  197. package/node/components/containers/GridRoot.js +5 -3
  198. package/node/components/containers/GridToolbarContainer.js +3 -2
  199. package/node/components/menu/columnMenu/GridColumnMenu.js +5 -5
  200. package/node/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  201. package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +5 -10
  202. package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +5 -10
  203. package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +5 -10
  204. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  205. package/node/components/panel/GridPanel.js +3 -2
  206. package/node/components/panel/GridPanelWrapper.js +5 -3
  207. package/node/components/panel/filterPanel/GridFilterForm.js +3 -2
  208. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +10 -11
  209. package/node/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  210. package/node/components/panel/filterPanel/GridFilterPanel.js +4 -4
  211. package/node/components/panel/filterPanel/index.js +7 -11
  212. package/node/components/toolbar/GridToolbar.js +4 -4
  213. package/node/components/toolbar/GridToolbarColumnsButton.js +3 -2
  214. package/node/components/toolbar/GridToolbarDensitySelector.js +6 -7
  215. package/node/components/toolbar/GridToolbarExport.js +2 -1
  216. package/node/components/toolbar/GridToolbarExportContainer.js +3 -2
  217. package/node/components/toolbar/GridToolbarFilterButton.js +6 -2
  218. package/node/components/toolbar/GridToolbarQuickFilter.js +27 -23
  219. package/node/components/virtualization/GridMainContainer.js +4 -3
  220. package/node/components/virtualization/GridVirtualScrollbar.js +2 -1
  221. package/node/components/virtualization/GridVirtualScrollerContent.js +5 -5
  222. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  223. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  224. package/node/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  225. package/node/hooks/features/columnResize/useGridColumnResize.js +9 -4
  226. package/node/hooks/features/columns/gridColumnsUtils.js +2 -1
  227. package/node/hooks/features/rows/useGridRowSpanning.js +74 -85
  228. package/node/index.js +1 -1
  229. package/node/internals/utils/index.js +0 -11
  230. package/node/locales/koKR.js +45 -49
  231. package/node/locales/nlNL.js +5 -6
  232. package/node/material/index.js +37 -4
  233. package/node/models/gridBaseSlots.js +5 -0
  234. package/node/utils/utils.js +8 -1
  235. package/package.json +2 -2
  236. package/utils/utils.d.ts +1 -0
  237. package/utils/utils.js +6 -1
  238. package/internals/utils/useProps.d.ts +0 -1
  239. package/internals/utils/useProps.js +0 -24
  240. package/joy/icons.d.ts +0 -32
  241. package/joy/icons.js +0 -431
  242. package/joy/index.d.ts +0 -2
  243. package/joy/index.js +0 -2
  244. package/joy/joySlots.d.ts +0 -3
  245. package/joy/joySlots.js +0 -389
  246. package/joy/package.json +0 -6
  247. package/modern/internals/utils/useProps.js +0 -24
  248. package/modern/joy/icons.js +0 -431
  249. package/modern/joy/index.js +0 -2
  250. package/modern/joy/joySlots.js +0 -389
  251. package/node/internals/utils/useProps.js +0 -30
  252. package/node/joy/icons.js +0 -439
  253. package/node/joy/index.js +0 -13
  254. package/node/joy/joySlots.js +0 -397
package/CHANGELOG.md CHANGED
@@ -5,6 +5,187 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.0.0-alpha.6
9
+
10
+ _Dec 26, 2024_
11
+
12
+ We'd like to offer a big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🏎️ Improve Data Grid scrolling performance
15
+ - 🌍 Improve Dutch (nl-NL) locale on the Data Grid
16
+ - 🐞 Bugfixes
17
+
18
+ Special thanks go out to the community contributors who have helped make this release possible:
19
+ @JoepVerkoelen, @k-rajat19, @lauri865.
20
+ Following are all team members who have contributed to this release:
21
+ @flaviendelangle, @JCQuintas, @LukasTy, @MBilalShafi, @romgrk.
22
+
23
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
24
+
25
+ ### Data Grid
26
+
27
+ #### Breaking changes
28
+
29
+ - The `sanitizeFilterItemValue()` utility is not exported anymore.
30
+
31
+ #### `@mui/x-data-grid@8.0.0-alpha.6`
32
+
33
+ - [DataGrid] Avoid subscribing to `renderContext` state in grid root for better scroll performance (#15986) @lauri865
34
+ - [DataGrid] Fix header filters showing clear button while empty (#15829) @k-rajat19
35
+ - [DataGrid] Improve test coverage of server side data source (#15942) @MBilalShafi
36
+ - [DataGrid] Move progress components to leaf import (#15914) @romgrk
37
+ - [DataGrid] Move skeleton to leaf import (#15931) @romgrk
38
+ - [DataGrid] Replace `forwardRef` with a shim for forward compatibility (#15955) @lauri865
39
+ - [l10n] Improve Dutch (nl-NL) locale (#15994) @JoepVerkoelen
40
+
41
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
42
+
43
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.6`.
44
+
45
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.6` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
46
+
47
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.6`, plus:
48
+
49
+ - [DataGridPremium] Fix column unpinning with row grouping (#15908) @k-rajat19
50
+
51
+ ### Date and Time Pickers
52
+
53
+ #### `@mui/x-date-pickers@8.0.0-alpha.6`
54
+
55
+ - [pickers] Use `usePickerContext()` and `usePickerActionsContext()` to get the actions in the `actionBar` slot and in internal components (#15843) @flaviendelangle
56
+ - [pickers] Use `usePickerContext()` to get the view-related props in the layout, toolbar and tabs slots (#15606) @flaviendelangle
57
+
58
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
59
+
60
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.6`.
61
+
62
+ ### Charts
63
+
64
+ #### `@mui/x-charts@8.0.0-alpha.6`
65
+
66
+ No changes since `@mui/x-charts@v8.0.0-alpha.5`.
67
+
68
+ #### `@mui/x-charts-pro@8.0.0-alpha.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
69
+
70
+ Same changes as in `@mui/x-charts@8.0.0-alpha.6`.
71
+
72
+ ### Tree View
73
+
74
+ #### `@mui/x-tree-view@8.0.0-alpha.6`
75
+
76
+ No changes since `@mui/x-tree-view-pro@v8.0.0-alpha.5`.
77
+
78
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
79
+
80
+ Same changes as in `@mui/x-tree-view@8.0.0-alpha.6`.
81
+
82
+ ### Docs
83
+
84
+ - [docs] Remove production profiler from docs build (#15959) @lauri865
85
+ - [code-infra] Add new `next-env.d.ts` changes (#15947) @JCQuintas
86
+
87
+ ## 8.0.0-alpha.5
88
+
89
+ _Dec 19, 2024_
90
+
91
+ We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
92
+
93
+ - 🌍 Improve Korean (ko-KR) locale on the Data Grid
94
+ - 🐞 Bugfixes
95
+
96
+ Special thanks go out to the community contributors who have helped make this release possible:
97
+ @good-jinu, @k-rajat19.
98
+ Following are all team members who have contributed to this release:
99
+ @alexfauquette, @cherniavskii, @flaviendelangle, @KenanYusuf, @LukasTy, @MBilalShafi, @romgrk.
100
+
101
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
102
+
103
+ ### Data Grid
104
+
105
+ #### Breaking changes
106
+
107
+ - Passing additional props (like `data-*`, `aria-*`) directly on the Data Grid component is no longer supported. To pass the props, use `slotProps`.
108
+
109
+ - For `.root` element, use `slotProps.root`.
110
+ - For `.main` element (the one with `role="grid"`), use `slotProps.main`.
111
+
112
+ - `detailPanelExpandedRowIds` and `onDetailPanelExpandedRowIdsChange` props use a [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) instead of an array:
113
+
114
+ ```diff
115
+ -detailPanelExpandedRowIds?: GridRowId[];
116
+ +detailPanelExpandedRowIds?: Set<GridRowId>;
117
+
118
+ -onDetailPanelExpandedRowIdsChange?: (ids: GridRowId[], details: GridCallbackDetails) => void;
119
+ +onDetailPanelExpandedRowIdsChange?: (ids: Set<GridRowId>, details: GridCallbackDetails) => void;
120
+ ```
121
+
122
+ - `apiRef.current.getExpandedDetailPanels` and `apiRef.current.setExpandedDetailPanels` methods receive and return a [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) instead of an array.
123
+ - `gridDetailPanelExpandedRowIdsSelector` returns a [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) instead of an array.
124
+ - `gridDetailPanelExpandedRowsHeightCacheSelector` was removed.
125
+
126
+ #### `@mui/x-data-grid@8.0.0-alpha.5`
127
+
128
+ - [DataGrid] Consider `columnGroupHeaderHeight` prop in `getTotalHeaderHeight` method (#15915) @k-rajat19
129
+ - [DataGrid] Fix autosizing with virtualized columns (#15116) @k-rajat19
130
+ - [DataGrid] Move `<Badge />` to leaf import (#15879) @romgrk
131
+ - [DataGrid] Move `<ListItemText />` and `<ListItemIcon />` to leaf import (#15869) @romgrk
132
+ - [DataGrid] Remove the Joy UI demo (#15913) @romgrk
133
+ - [DataGrid] Update quick filter input variant (#15909) @KenanYusuf
134
+ - [DataGrid] Use `slotProps` to forward props to `.main` and `.root` elements (#15870) @MBilalShafi
135
+ - [l10n] Improve Korean(ko-KR) locale (#15878) @good-jinu
136
+
137
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
138
+
139
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.5`, plus:
140
+
141
+ - [DataGridPro] Use `Set` for `detailPanelExpandedRowIds` (#15835) @cherniavskii
142
+
143
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.5` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
144
+
145
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.5`.
146
+
147
+ ### Date and Time Pickers
148
+
149
+ #### Breaking changes
150
+
151
+ - The `<PickersMonth />` component has been moved inside the Month Calendar component — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#month-calendar).
152
+
153
+ - The `<PickersYear />` component has been moved inside the Year Calendar component — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#year-calendar).
154
+
155
+ #### `@mui/x-date-pickers@8.0.0-alpha.5`
156
+
157
+ - [pickers] Add verification to disable skipped hours in spring forward DST (#15849) @flaviendelangle
158
+ - [pickers] Remove `PickersMonth` and `PickersYear` from the theme and remove the `div` wrapping each button (#15806) @flaviendelangle
159
+ - [pickers] Use the new `ownerState` object on the `<PickersTextField />` component (#15863) @flaviendelangle
160
+
161
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
162
+
163
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.5`.
164
+
165
+ ### Charts
166
+
167
+ #### `@mui/x-charts@8.0.0-alpha.5`
168
+
169
+ - [charts] Fix `<ScatterChart />` value type if `null` (#15917) @alexfauquette
170
+
171
+ #### `@mui/x-charts-pro@8.0.0-alpha.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
172
+
173
+ Same changes as in `@mui/x-charts@8.0.0-alpha.5`.
174
+
175
+ ### Tree View
176
+
177
+ #### `@mui/x-tree-view@8.0.0-alpha.5`
178
+
179
+ No changes since `@mui/x-tree-view-pro@v8.0.0-alpha.4`.
180
+
181
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
182
+
183
+ Same changes as in `@mui/x-tree-view@8.0.0-alpha.5`.
184
+
185
+ ### Core
186
+
187
+ - [code-infra] Remove `@mui/material-nextjs` dependency (#15925) @LukasTy
188
+
8
189
  ## 8.0.0-alpha.4
9
190
 
10
191
  _Dec 13, 2024_
@@ -39,6 +220,7 @@ Following are all team members who have contributed to this release:
39
220
  -const output = useGridSelector(apiRef, selector, equals)
40
221
  +const output = useGridSelector(apiRef, selector, arguments, equals)
41
222
  ```
223
+
42
224
  - The default variant for text fields and selects in the filter panel has been changed to `outlined`.
43
225
  - The "row spanning" feature is now stable.
44
226
  ```diff
@@ -3,6 +3,7 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
+ import { forwardRef } from '@mui/x-internals/forwardRef';
6
7
  import { GridBody, GridFooterPlaceholder, GridHeader, GridRoot } from "../components/index.js";
7
8
  import { useGridAriaAttributes } from "../hooks/utils/useGridAriaAttributes.js";
8
9
  import { useGridRowAriaAttributes } from "../hooks/features/rows/useGridRowAriaAttributes.js";
@@ -23,7 +24,7 @@ if (process.env.NODE_ENV !== 'production') {
23
24
  // Only validate in MIT version
24
25
  props => props.columns && props.columns.some(column => column.resizable) && [`MUI X: \`column.resizable = true\` is not a valid prop.`, 'Column resizing is not available in the MIT version.', '', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n') || undefined];
25
26
  }
26
- const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref) {
27
+ const DataGridRaw = forwardRef(function DataGrid(inProps, ref) {
27
28
  const props = useDataGridProps(inProps);
28
29
  const privateApiRef = useDataGridComponent(props.apiRef, props);
29
30
  if (process.env.NODE_ENV !== 'production') {
@@ -36,9 +37,9 @@ const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref
36
37
  children: /*#__PURE__*/_jsxs(GridRoot, _extends({
37
38
  className: props.className,
38
39
  style: props.style,
39
- sx: props.sx,
40
- ref: ref
41
- }, props.forwardedProps, {
40
+ sx: props.sx
41
+ }, props.slotProps?.root, {
42
+ ref: ref,
42
43
  children: [/*#__PURE__*/_jsx(GridHeader, {}), /*#__PURE__*/_jsx(GridBody, {}), /*#__PURE__*/_jsx(GridFooterPlaceholder, {})]
43
44
  }))
44
45
  });
@@ -95,6 +96,7 @@ DataGridRaw.propTypes = {
95
96
  */
96
97
  autosizeOptions: PropTypes.shape({
97
98
  columns: PropTypes.arrayOf(PropTypes.string),
99
+ disableColumnVirtualization: PropTypes.bool,
98
100
  expand: PropTypes.bool,
99
101
  includeHeaders: PropTypes.bool,
100
102
  includeOutliers: PropTypes.bool,
@@ -248,11 +250,6 @@ DataGridRaw.propTypes = {
248
250
  quickFilterLogicOperator: PropTypes.oneOf(['and', 'or']),
249
251
  quickFilterValues: PropTypes.array
250
252
  }),
251
- /**
252
- * Forwarded props for the Data Grid root element.
253
- * @ignore - do not document.
254
- */
255
- forwardedProps: PropTypes.object,
256
253
  /**
257
254
  * Function that applies CSS classes dynamically on cells.
258
255
  * @param {GridCellParams} params With all properties from [[GridCellParams]].
@@ -3,7 +3,7 @@ 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 { computeSlots, useProps } from "../internals/utils/index.js";
6
+ import { computeSlots } from "../internals/utils/index.js";
7
7
  import { DATA_GRID_PROPS_DEFAULT_VALUES } from "../constants/dataGridPropsDefaultValues.js";
8
8
  const DATA_GRID_FORCED_PROPS = {
9
9
  disableMultipleColumnsFiltering: true,
@@ -19,12 +19,12 @@ const DATA_GRID_FORCED_PROPS = {
19
19
  };
20
20
  const defaultSlots = DATA_GRID_DEFAULT_SLOTS_COMPONENTS;
21
21
  export const useDataGridProps = inProps => {
22
- const themedProps = useProps(
22
+ const themedProps =
23
23
  // eslint-disable-next-line material-ui/mui-name-matches-component-name
24
24
  useThemeProps({
25
25
  props: inProps,
26
26
  name: 'MuiDataGrid'
27
- }));
27
+ });
28
28
  const localeText = React.useMemo(() => _extends({}, GRID_DEFAULT_LOCALE_TEXT, themedProps.localeText), [themedProps.localeText]);
29
29
  const slots = React.useMemo(() => computeSlots({
30
30
  defaultSlots,
@@ -3,5 +3,5 @@ import { UseGridColumnHeadersProps } from '../hooks/features/columnHeaders/useGr
3
3
  export interface GridColumnHeadersProps extends React.HTMLAttributes<HTMLDivElement>, UseGridColumnHeadersProps {
4
4
  ref?: React.Ref<HTMLDivElement>;
5
5
  }
6
- declare const MemoizedGridColumnHeaders: React.ForwardRefExoticComponent<Omit<GridColumnHeadersProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
+ declare const MemoizedGridColumnHeaders: React.ForwardRefExoticComponent<GridColumnHeadersProps> | React.ForwardRefExoticComponent<Omit<GridColumnHeadersProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
7
  export { MemoizedGridColumnHeaders as GridColumnHeaders };
@@ -4,10 +4,11 @@ const _excluded = ["className", "visibleColumns", "sortColumnLookup", "filterCol
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { fastMemo } from '@mui/x-internals/fastMemo';
7
+ import { forwardRef } from '@mui/x-internals/forwardRef';
7
8
  import { useGridColumnHeaders } from "../hooks/features/columnHeaders/useGridColumnHeaders.js";
8
9
  import { GridBaseColumnHeaders } from "./columnHeaders/GridBaseColumnHeaders.js";
9
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
- const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
11
+ const GridColumnHeaders = forwardRef(function GridColumnHeaders(props, ref) {
11
12
  const {
12
13
  visibleColumns,
13
14
  sortColumnLookup,
@@ -41,9 +42,8 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeade
41
42
  columnGroupsHeaderStructure,
42
43
  hasOtherElementInTabSequence
43
44
  });
44
- return /*#__PURE__*/_jsxs(GridBaseColumnHeaders, _extends({
45
- ref: ref
46
- }, other, getInnerProps(), {
45
+ return /*#__PURE__*/_jsxs(GridBaseColumnHeaders, _extends({}, other, getInnerProps(), {
46
+ ref: ref,
47
47
  children: [getColumnGroupHeadersRows(), getColumnHeadersRow()]
48
48
  }));
49
49
  });
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- declare const GridFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
2
+ import { GridFooterContainerProps } from './containers/GridFooterContainer';
3
+ declare const GridFooter: React.ForwardRefExoticComponent<GridFooterContainerProps> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
3
4
  sx?: import("@mui/system").SxProps<import("@mui/system").Theme>;
4
5
  } & React.RefAttributes<HTMLDivElement>>;
5
6
  export { GridFooter };
@@ -1,6 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
+ import { forwardRef } from '@mui/x-internals/forwardRef';
4
5
  import { useGridSelector } from "../hooks/utils/useGridSelector.js";
5
6
  import { gridTopLevelRowCountSelector } from "../hooks/features/rows/gridRowsSelector.js";
6
7
  import { selectedGridRowsCountSelector } from "../hooks/features/rowSelection/gridRowSelectionSelector.js";
@@ -10,7 +11,7 @@ import { GridSelectedRowCount } from "./GridSelectedRowCount.js";
10
11
  import { GridFooterContainer } from "./containers/GridFooterContainer.js";
11
12
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
12
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- const GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref) {
14
+ const GridFooter = forwardRef(function GridFooter(props, ref) {
14
15
  const apiRef = useGridApiContext();
15
16
  const rootProps = useGridRootProps();
16
17
  const totalTopLevelRowCount = useGridSelector(apiRef, gridTopLevelRowCountSelector);
@@ -24,9 +25,8 @@ const GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref)
24
25
  visibleRowCount: visibleTopLevelRowCount
25
26
  })) : null;
26
27
  const paginationElement = rootProps.pagination && !rootProps.hideFooterPagination && rootProps.slots.pagination && /*#__PURE__*/_jsx(rootProps.slots.pagination, _extends({}, rootProps.slotProps?.pagination));
27
- return /*#__PURE__*/_jsxs(GridFooterContainer, _extends({
28
- ref: ref
29
- }, props, {
28
+ return /*#__PURE__*/_jsxs(GridFooterContainer, _extends({}, props, {
29
+ ref: ref,
30
30
  children: [selectedRowCountElement, rowCountElement, paginationElement]
31
31
  }));
32
32
  });
@@ -13,5 +13,5 @@ export interface GridLoadingOverlayProps extends GridOverlayProps {
13
13
  */
14
14
  noRowsVariant?: GridLoadingOverlayVariant;
15
15
  }
16
- declare const GridLoadingOverlay: React.ForwardRefExoticComponent<GridLoadingOverlayProps & React.RefAttributes<HTMLDivElement>>;
16
+ declare const GridLoadingOverlay: React.ForwardRefExoticComponent<GridLoadingOverlayProps> | React.ForwardRefExoticComponent<GridLoadingOverlayProps & React.RefAttributes<HTMLDivElement>>;
17
17
  export { GridLoadingOverlay };
@@ -3,8 +3,8 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  const _excluded = ["variant", "noRowsVariant", "style"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
- import LinearProgress from '@mui/material/LinearProgress';
7
- import CircularProgress from '@mui/material/CircularProgress';
6
+ import { forwardRef } from '@mui/x-internals/forwardRef';
7
+ import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
8
8
  import { GridOverlay } from "./containers/GridOverlay.js";
9
9
  import { GridSkeletonLoadingOverlay } from "./GridSkeletonLoadingOverlay.js";
10
10
  import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
@@ -12,23 +12,23 @@ import { gridRowCountSelector, useGridSelector } from "../hooks/index.js";
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  const LOADING_VARIANTS = {
14
14
  'circular-progress': {
15
- component: CircularProgress,
15
+ component: rootProps => rootProps.slots.baseCircularProgress,
16
16
  style: {}
17
17
  },
18
18
  'linear-progress': {
19
- component: LinearProgress,
19
+ component: rootProps => rootProps.slots.baseLinearProgress,
20
20
  style: {
21
21
  display: 'block'
22
22
  }
23
23
  },
24
24
  skeleton: {
25
- component: GridSkeletonLoadingOverlay,
25
+ component: () => GridSkeletonLoadingOverlay,
26
26
  style: {
27
27
  display: 'block'
28
28
  }
29
29
  }
30
30
  };
31
- const GridLoadingOverlay = /*#__PURE__*/React.forwardRef(function GridLoadingOverlay(props, ref) {
31
+ const GridLoadingOverlay = forwardRef(function GridLoadingOverlay(props, ref) {
32
32
  const {
33
33
  variant = 'linear-progress',
34
34
  noRowsVariant = 'skeleton',
@@ -36,13 +36,15 @@ const GridLoadingOverlay = /*#__PURE__*/React.forwardRef(function GridLoadingOve
36
36
  } = props,
37
37
  other = _objectWithoutPropertiesLoose(props, _excluded);
38
38
  const apiRef = useGridApiContext();
39
+ const rootProps = useGridRootProps();
39
40
  const rowsCount = useGridSelector(apiRef, gridRowCountSelector);
40
41
  const activeVariant = LOADING_VARIANTS[rowsCount === 0 ? noRowsVariant : variant];
42
+ const Component = activeVariant.component(rootProps);
41
43
  return /*#__PURE__*/_jsx(GridOverlay, _extends({
42
- ref: ref,
43
44
  style: _extends({}, activeVariant.style, style)
44
45
  }, other, {
45
- children: /*#__PURE__*/_jsx(activeVariant.component, {})
46
+ ref: ref,
47
+ children: /*#__PURE__*/_jsx(Component, {})
46
48
  }));
47
49
  });
48
50
  process.env.NODE_ENV !== "production" ? GridLoadingOverlay.propTypes = {
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare const GridNoResultsOverlay: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
2
+ import { GridOverlayProps } from './containers/GridOverlay';
3
+ export declare const GridNoResultsOverlay: React.ForwardRefExoticComponent<GridOverlayProps> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
3
4
  sx?: import("@mui/system").SxProps<import("@mui/system").Theme>;
4
5
  } & React.RefAttributes<HTMLDivElement>>;
@@ -1,14 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
+ import { forwardRef } from '@mui/x-internals/forwardRef';
3
4
  import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
4
5
  import { GridOverlay } from "./containers/GridOverlay.js";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
6
- export const GridNoResultsOverlay = /*#__PURE__*/React.forwardRef(function GridNoResultsOverlay(props, ref) {
7
+ export const GridNoResultsOverlay = forwardRef(function GridNoResultsOverlay(props, ref) {
7
8
  const apiRef = useGridApiContext();
8
9
  const noResultsOverlayLabel = apiRef.current.getLocaleText('noResultsOverlayLabel');
9
- return /*#__PURE__*/_jsx(GridOverlay, _extends({
10
- ref: ref
11
- }, props, {
10
+ return /*#__PURE__*/_jsx(GridOverlay, _extends({}, props, {
11
+ ref: ref,
12
12
  children: noResultsOverlayLabel
13
13
  }));
14
14
  });
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- declare const GridNoRowsOverlay: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
2
+ import { GridOverlayProps } from './containers/GridOverlay';
3
+ declare const GridNoRowsOverlay: React.ForwardRefExoticComponent<GridOverlayProps> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
3
4
  sx?: import("@mui/system").SxProps<import("@mui/system").Theme>;
4
5
  } & React.RefAttributes<HTMLDivElement>>;
5
6
  export { GridNoRowsOverlay };
@@ -1,15 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
+ import { forwardRef } from '@mui/x-internals/forwardRef';
4
5
  import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
5
6
  import { GridOverlay } from "./containers/GridOverlay.js";
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
- const GridNoRowsOverlay = /*#__PURE__*/React.forwardRef(function GridNoRowsOverlay(props, ref) {
8
+ const GridNoRowsOverlay = forwardRef(function GridNoRowsOverlay(props, ref) {
8
9
  const apiRef = useGridApiContext();
9
10
  const noRowsLabel = apiRef.current.getLocaleText('noRowsLabel');
10
- return /*#__PURE__*/_jsx(GridOverlay, _extends({
11
- ref: ref
12
- }, props, {
11
+ return /*#__PURE__*/_jsx(GridOverlay, _extends({}, props, {
12
+ ref: ref,
13
13
  children: noRowsLabel
14
14
  }));
15
15
  });
@@ -6,5 +6,5 @@ export type WrappedLabelDisplayedRows = (args: LabelDisplayedRowsArgs & {
6
6
  interface GridPaginationOwnProps {
7
7
  component?: React.ElementType;
8
8
  }
9
- declare const GridPagination: React.ForwardRefExoticComponent<Omit<Partial<Omit<TablePaginationProps, "component">> & GridPaginationOwnProps, "ref"> & React.RefAttributes<unknown>>;
9
+ declare const GridPagination: React.ForwardRefExoticComponent<Partial<Omit<TablePaginationProps, "component">> & GridPaginationOwnProps> | React.ForwardRefExoticComponent<Omit<Partial<Omit<TablePaginationProps, "component">> & GridPaginationOwnProps, "ref"> & React.RefAttributes<unknown>>;
10
10
  export { GridPagination };
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import { styled } from '@mui/material/styles';
4
4
  import PropTypes from 'prop-types';
5
5
  import TablePagination, { tablePaginationClasses } from '@mui/material/TablePagination';
6
+ import { forwardRef } from '@mui/x-internals/forwardRef';
6
7
  import { useGridSelector } from "../hooks/utils/useGridSelector.js";
7
8
  import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
8
9
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
@@ -56,7 +57,7 @@ const defaultLabelDisplayedRows = ({
56
57
 
57
58
  // A mutable version of a readonly array.
58
59
 
59
- const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(props, ref) {
60
+ const GridPagination = forwardRef(function GridPagination(props, ref) {
60
61
  const apiRef = useGridApiContext();
61
62
  const rootProps = useGridRootProps();
62
63
  const paginationModel = useGridSelector(apiRef, gridPaginationModelSelector);
@@ -120,7 +121,6 @@ const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(pro
120
121
  const locales = apiRef.current.getLocaleText('MuiTablePagination');
121
122
  const wrappedLabelDisplayedRows = wrapLabelDisplayedRows(locales.labelDisplayedRows || defaultLabelDisplayedRows, estimatedRowCount);
122
123
  return /*#__PURE__*/_jsx(GridPaginationRoot, _extends({
123
- ref: ref,
124
124
  component: "div",
125
125
  count: rowCount,
126
126
  page: computedPage
@@ -134,7 +134,9 @@ const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(pro
134
134
  onRowsPerPageChange: handlePageSizeChange
135
135
  }, computedProps, locales, {
136
136
  labelDisplayedRows: wrappedLabelDisplayedRows
137
- }, props));
137
+ }, props, {
138
+ ref: ref
139
+ }));
138
140
  });
139
141
  process.env.NODE_ENV !== "production" ? GridPagination.propTypes = {
140
142
  // ----------------------------- Warning --------------------------------
@@ -40,5 +40,5 @@ export interface GridRowProps extends React.HTMLAttributes<HTMLDivElement> {
40
40
  onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
41
41
  [x: `data-${string}`]: string;
42
42
  }
43
- declare const MemoizedGridRow: React.ForwardRefExoticComponent<GridRowProps & React.RefAttributes<HTMLDivElement>>;
43
+ declare const MemoizedGridRow: React.ForwardRefExoticComponent<GridRowProps> | React.ForwardRefExoticComponent<GridRowProps & React.RefAttributes<HTMLDivElement>>;
44
44
  export { MemoizedGridRow as GridRow };
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
6
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
+ import { forwardRef } from '@mui/x-internals/forwardRef';
9
10
  import { GridEditModes, GridRowModes, GridCellModes } from "../models/gridEditRowModel.js";
10
11
  import { gridClasses } from "../constants/gridClasses.js";
11
12
  import { composeGridClasses } from "../utils/composeGridClasses.js";
@@ -25,8 +26,9 @@ import { GridScrollbarFillerCell as ScrollbarFiller } from "./GridScrollbarFille
25
26
  import { getPinnedCellOffset } from "../internals/utils/getPinnedCellOffset.js";
26
27
  import { useGridConfiguration } from "../hooks/utils/useGridConfiguration.js";
27
28
  import { useGridPrivateApiContext } from "../hooks/utils/useGridPrivateApiContext.js";
29
+ import { gridVirtualizationColumnEnabledSelector } from "../hooks/index.js";
28
30
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
29
- const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
31
+ const GridRow = forwardRef(function GridRow(props, refProp) {
30
32
  const {
31
33
  selected,
32
34
  rowId,
@@ -68,6 +70,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
68
70
  const gridHasFiller = dimensions.columnsTotalWidth < dimensions.viewportOuterSize.width;
69
71
  const editing = apiRef.current.getRowMode(rowId) === GridRowModes.Edit;
70
72
  const editable = rootProps.editMode === GridEditModes.Row;
73
+ const hasColumnVirtualization = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector);
71
74
  const hasFocusCell = focusedColumnIndex !== undefined;
72
75
  const hasVirtualFocusCellLeft = hasFocusCell && focusedColumnIndex >= pinnedColumns.left.length && focusedColumnIndex < renderContext.firstColumnIndex;
73
76
  const hasVirtualFocusCellRight = hasFocusCell && focusedColumnIndex < visibleColumns.length - pinnedColumns.right.length && focusedColumnIndex >= renderContext.lastColumnIndex;
@@ -249,7 +252,16 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
249
252
  if (hasVirtualFocusCellLeft) {
250
253
  cells.push(getCell(visibleColumns[focusedColumnIndex], focusedColumnIndex - pinnedColumns.left.length, focusedColumnIndex, middleColumnsLength, PinnedPosition.VIRTUAL));
251
254
  }
252
- for (let i = renderContext.firstColumnIndex; i < renderContext.lastColumnIndex; i += 1) {
255
+ let firstColumnIndex;
256
+ let lastColumnIndex;
257
+ if (!rootProps.disableVirtualization && !hasColumnVirtualization) {
258
+ firstColumnIndex = 0;
259
+ lastColumnIndex = visibleColumns.length;
260
+ } else {
261
+ firstColumnIndex = renderContext.firstColumnIndex;
262
+ lastColumnIndex = renderContext.lastColumnIndex;
263
+ }
264
+ for (let i = firstColumnIndex; i < lastColumnIndex; i += 1) {
253
265
  const column = visibleColumns[i];
254
266
  const indexInSection = i - pinnedColumns.left.length;
255
267
  if (!column) {
@@ -269,13 +281,13 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
269
281
  onMouseOver: publish('rowMouseOver', onMouseOver)
270
282
  } : null;
271
283
  return /*#__PURE__*/_jsxs("div", _extends({
272
- ref: handleRef,
273
284
  "data-id": rowId,
274
285
  "data-rowindex": index,
275
286
  role: "row",
276
287
  className: clsx(...rowClassNames, classes.root, className),
277
288
  style: style
278
289
  }, ariaAttributes, eventHandlers, other, {
290
+ ref: handleRef,
279
291
  children: [leftCells, /*#__PURE__*/_jsx("div", {
280
292
  role: "presentation",
281
293
  className: gridClasses.cellOffsetLeft,
@@ -7,7 +7,7 @@ interface RowCountProps {
7
7
  export type GridRowCountProps = React.HTMLAttributes<HTMLDivElement> & RowCountProps & {
8
8
  sx?: SxProps<Theme>;
9
9
  };
10
- declare const GridRowCount: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & RowCountProps & {
10
+ declare const GridRowCount: React.ForwardRefExoticComponent<GridRowCountProps> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & RowCountProps & {
11
11
  sx?: SxProps<Theme>;
12
12
  } & React.RefAttributes<HTMLDivElement>>;
13
13
  export { GridRowCount };
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
7
7
  import composeClasses from '@mui/utils/composeClasses';
8
8
  import { styled } from '@mui/system';
9
+ import { forwardRef } from '@mui/x-internals/forwardRef';
9
10
  import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
10
11
  import { getDataGridUtilityClass } from "../constants/gridClasses.js";
11
12
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
@@ -30,7 +31,7 @@ const GridRowCountRoot = styled('div', {
30
31
  display: 'flex',
31
32
  margin: theme.spacing(0, 2)
32
33
  }));
33
- const GridRowCount = /*#__PURE__*/React.forwardRef(function GridRowCount(props, ref) {
34
+ const GridRowCount = forwardRef(function GridRowCount(props, ref) {
34
35
  const {
35
36
  className,
36
37
  rowCount,
@@ -45,10 +46,10 @@ const GridRowCount = /*#__PURE__*/React.forwardRef(function GridRowCount(props,
45
46
  }
46
47
  const text = visibleRowCount < rowCount ? apiRef.current.getLocaleText('footerTotalVisibleRows')(visibleRowCount, rowCount) : rowCount.toLocaleString();
47
48
  return /*#__PURE__*/_jsxs(GridRowCountRoot, _extends({
48
- ref: ref,
49
49
  className: clsx(classes.root, className),
50
50
  ownerState: ownerState
51
51
  }, other, {
52
+ ref: ref,
52
53
  children: [apiRef.current.getLocaleText('footerTotalRows'), " ", text]
53
54
  }));
54
55
  });
@@ -3,7 +3,10 @@ import { SxProps, Theme } from '@mui/system';
3
3
  interface SelectedRowCountProps {
4
4
  selectedRowCount: number;
5
5
  }
6
- declare const GridSelectedRowCount: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & SelectedRowCountProps & {
6
+ type GridSelectedRowCountProps = React.HTMLAttributes<HTMLDivElement> & SelectedRowCountProps & {
7
+ sx?: SxProps<Theme>;
8
+ };
9
+ declare const GridSelectedRowCount: React.ForwardRefExoticComponent<GridSelectedRowCountProps> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & SelectedRowCountProps & {
7
10
  sx?: SxProps<Theme>;
8
11
  } & React.RefAttributes<HTMLDivElement>>;
9
12
  export { GridSelectedRowCount };