@mui/x-data-grid 6.0.0-beta.4 → 6.0.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 (521) hide show
  1. package/CHANGELOG.md +204 -29
  2. package/DataGrid/DataGrid.js +10 -2
  3. package/DataGrid/useDataGridProps.js +25 -18
  4. package/colDef/gridSingleSelectColDef.js +13 -4
  5. package/components/GridColumnHeaders.d.ts +7 -0
  6. package/components/GridColumnHeaders.js +108 -0
  7. package/components/GridFooter.d.ts +1 -1
  8. package/components/GridFooter.js +2 -2
  9. package/components/GridHeader.js +2 -2
  10. package/components/GridLoadingOverlay.d.ts +1 -1
  11. package/components/GridNoResultsOverlay.d.ts +1 -1
  12. package/components/GridNoRowsOverlay.d.ts +1 -1
  13. package/components/GridRow.d.ts +13 -7
  14. package/components/GridRow.js +49 -31
  15. package/components/GridRowCount.d.ts +1 -1
  16. package/components/GridRowCount.js +4 -6
  17. package/components/GridScrollArea.js +4 -3
  18. package/components/GridSelectedRowCount.d.ts +1 -1
  19. package/components/GridSelectedRowCount.js +4 -6
  20. package/components/base/GridBody.d.ts +1 -4
  21. package/components/base/GridBody.js +43 -5
  22. package/components/base/GridFooterPlaceholder.js +2 -2
  23. package/components/base/GridOverlays.js +7 -7
  24. package/components/cell/GridActionsCell.js +4 -4
  25. package/components/cell/GridActionsCellItem.js +3 -3
  26. package/components/cell/GridBooleanCell.js +1 -1
  27. package/components/cell/GridCell.d.ts +2 -5
  28. package/components/cell/GridCell.js +14 -12
  29. package/components/cell/GridEditBooleanCell.js +3 -3
  30. package/components/cell/GridEditInputCell.js +3 -6
  31. package/components/cell/GridEditSingleSelectCell.d.ts +2 -8
  32. package/components/cell/GridEditSingleSelectCell.js +32 -16
  33. package/components/columnHeaders/ColumnHeaderMenuIcon.js +4 -4
  34. package/components/columnHeaders/GridBaseColumnHeaders.d.ts +7 -0
  35. package/{modern/components/columnHeaders/GridColumnHeaders.js → components/columnHeaders/GridBaseColumnHeaders.js} +14 -20
  36. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +6 -6
  37. package/components/columnHeaders/GridColumnHeaderItem.js +5 -5
  38. package/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
  39. package/components/columnHeaders/GridColumnHeaderSortIcon.js +7 -7
  40. package/components/columnHeaders/GridColumnHeaderTitle.js +10 -14
  41. package/components/columnHeaders/GridColumnHeadersInner.d.ts +1 -1
  42. package/components/columnHeaders/GridColumnHeadersInner.js +6 -6
  43. package/components/columnHeaders/GridIconButtonContainer.js +4 -6
  44. package/components/columnSelection/GridCellCheckboxRenderer.js +3 -3
  45. package/components/columnSelection/GridHeaderCheckbox.js +3 -3
  46. package/components/containers/GridFooterContainer.d.ts +1 -1
  47. package/components/containers/GridFooterContainer.js +10 -15
  48. package/components/containers/GridMainContainer.js +3 -5
  49. package/components/containers/GridOverlay.d.ts +1 -2
  50. package/components/containers/GridOverlay.js +7 -11
  51. package/components/containers/GridRoot.js +4 -5
  52. package/components/containers/GridRootStyles.d.ts +5 -1
  53. package/components/containers/GridRootStyles.js +7 -3
  54. package/components/containers/GridToolbarContainer.d.ts +1 -1
  55. package/components/containers/GridToolbarContainer.js +4 -6
  56. package/components/index.d.ts +1 -1
  57. package/components/index.js +1 -1
  58. package/components/menu/GridMenu.js +5 -7
  59. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -1
  60. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -1
  61. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -1
  62. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +2 -2
  63. package/components/panel/GridColumnsPanel.js +16 -18
  64. package/components/panel/GridPanel.d.ts +6 -2
  65. package/components/panel/GridPanel.js +4 -0
  66. package/components/panel/GridPanelContent.d.ts +1 -1
  67. package/components/panel/GridPanelContent.js +4 -6
  68. package/components/panel/GridPanelFooter.d.ts +1 -1
  69. package/components/panel/GridPanelFooter.js +4 -6
  70. package/components/panel/GridPanelHeader.d.ts +1 -1
  71. package/components/panel/GridPanelHeader.js +4 -6
  72. package/components/panel/GridPanelWrapper.js +3 -5
  73. package/components/panel/GridPreferencesPanel.js +4 -4
  74. package/components/panel/filterPanel/GridFilterForm.js +50 -45
  75. package/components/panel/filterPanel/GridFilterInputBoolean.js +14 -11
  76. package/components/panel/filterPanel/GridFilterInputDate.js +4 -5
  77. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -8
  78. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +28 -20
  79. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +3 -3
  80. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +2 -8
  81. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +53 -25
  82. package/components/panel/filterPanel/GridFilterInputValue.js +4 -5
  83. package/components/panel/filterPanel/GridFilterPanel.d.ts +5 -3
  84. package/components/panel/filterPanel/GridFilterPanel.js +35 -11
  85. package/components/panel/filterPanel/filterPanelUtils.d.ts +1 -2
  86. package/components/panel/filterPanel/filterPanelUtils.js +3 -9
  87. package/components/toolbar/GridToolbarColumnsButton.js +4 -4
  88. package/components/toolbar/GridToolbarDensitySelector.js +9 -9
  89. package/components/toolbar/GridToolbarExportContainer.js +4 -4
  90. package/components/toolbar/GridToolbarFilterButton.js +9 -11
  91. package/components/toolbar/GridToolbarQuickFilter.js +8 -7
  92. package/components/virtualization/GridVirtualScroller.d.ts +1 -1
  93. package/components/virtualization/GridVirtualScroller.js +4 -6
  94. package/components/virtualization/GridVirtualScrollerContent.d.ts +1 -1
  95. package/components/virtualization/GridVirtualScrollerContent.js +4 -4
  96. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +1 -1
  97. package/components/virtualization/GridVirtualScrollerRenderZone.js +4 -6
  98. package/constants/defaultGridSlotsComponents.js +5 -54
  99. package/constants/localeTextConstants.js +1 -0
  100. package/hooks/core/useGridLocaleText.js +2 -4
  101. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +22 -1
  102. package/hooks/features/columnHeaders/useGridColumnHeaders.js +19 -26
  103. package/hooks/features/columns/useGridColumns.d.ts +1 -1
  104. package/hooks/features/columns/useGridColumns.js +5 -5
  105. package/hooks/features/filter/useGridFilter.d.ts +1 -1
  106. package/hooks/features/filter/useGridFilter.js +5 -5
  107. package/hooks/features/statePersistence/gridStatePersistenceInterface.d.ts +2 -0
  108. package/hooks/features/virtualization/useGridVirtualScroller.js +36 -19
  109. package/index.d.ts +3 -0
  110. package/index.js +5 -1
  111. package/internals/index.d.ts +4 -1
  112. package/internals/index.js +3 -2
  113. package/internals/utils/computeSlots.d.ts +6 -0
  114. package/internals/utils/computeSlots.js +17 -0
  115. package/internals/utils/index.d.ts +2 -0
  116. package/internals/utils/index.js +2 -0
  117. package/internals/utils/slotsMigration.d.ts +4 -0
  118. package/internals/utils/slotsMigration.js +13 -0
  119. package/legacy/DataGrid/DataGrid.js +10 -2
  120. package/legacy/DataGrid/useDataGridProps.js +21 -20
  121. package/legacy/colDef/gridSingleSelectColDef.js +13 -4
  122. package/legacy/components/GridColumnHeaders.js +106 -0
  123. package/legacy/components/GridFooter.js +2 -2
  124. package/legacy/components/GridHeader.js +2 -2
  125. package/legacy/components/GridRow.js +47 -31
  126. package/legacy/components/GridRowCount.js +4 -6
  127. package/legacy/components/GridScrollArea.js +4 -3
  128. package/legacy/components/GridSelectedRowCount.js +4 -6
  129. package/legacy/components/base/GridBody.js +43 -5
  130. package/legacy/components/base/GridFooterPlaceholder.js +2 -2
  131. package/legacy/components/base/GridOverlays.js +7 -7
  132. package/legacy/components/cell/GridActionsCell.js +4 -4
  133. package/legacy/components/cell/GridActionsCellItem.js +3 -3
  134. package/legacy/components/cell/GridBooleanCell.js +2 -2
  135. package/legacy/components/cell/GridCell.js +14 -12
  136. package/legacy/components/cell/GridEditBooleanCell.js +3 -3
  137. package/legacy/components/cell/GridEditInputCell.js +3 -6
  138. package/legacy/components/cell/GridEditSingleSelectCell.js +40 -23
  139. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +4 -4
  140. package/legacy/components/columnHeaders/{GridColumnHeaders.js → GridBaseColumnHeaders.js} +14 -19
  141. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +6 -6
  142. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +5 -5
  143. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
  144. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +7 -7
  145. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +12 -17
  146. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +6 -6
  147. package/legacy/components/columnHeaders/GridIconButtonContainer.js +4 -6
  148. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +3 -3
  149. package/legacy/components/columnSelection/GridHeaderCheckbox.js +3 -3
  150. package/legacy/components/containers/GridFooterContainer.js +10 -15
  151. package/legacy/components/containers/GridMainContainer.js +3 -5
  152. package/legacy/components/containers/GridOverlay.js +12 -17
  153. package/legacy/components/containers/GridRoot.js +5 -6
  154. package/legacy/components/containers/GridRootStyles.js +7 -3
  155. package/legacy/components/containers/GridToolbarContainer.js +4 -6
  156. package/legacy/components/index.js +1 -1
  157. package/legacy/components/menu/GridMenu.js +5 -7
  158. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -1
  159. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -1
  160. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -1
  161. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +2 -2
  162. package/legacy/components/panel/GridColumnsPanel.js +16 -20
  163. package/legacy/components/panel/GridPanel.js +4 -0
  164. package/legacy/components/panel/GridPanelContent.js +4 -6
  165. package/legacy/components/panel/GridPanelFooter.js +4 -6
  166. package/legacy/components/panel/GridPanelHeader.js +4 -6
  167. package/legacy/components/panel/GridPanelWrapper.js +3 -5
  168. package/legacy/components/panel/GridPreferencesPanel.js +4 -4
  169. package/legacy/components/panel/filterPanel/GridFilterForm.js +50 -45
  170. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +14 -11
  171. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +4 -5
  172. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +32 -26
  173. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +3 -3
  174. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +52 -27
  175. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +4 -5
  176. package/legacy/components/panel/filterPanel/GridFilterPanel.js +36 -10
  177. package/legacy/components/panel/filterPanel/filterPanelUtils.js +3 -9
  178. package/legacy/components/toolbar/GridToolbarColumnsButton.js +4 -4
  179. package/legacy/components/toolbar/GridToolbarDensitySelector.js +9 -9
  180. package/legacy/components/toolbar/GridToolbarExportContainer.js +4 -4
  181. package/legacy/components/toolbar/GridToolbarFilterButton.js +9 -11
  182. package/legacy/components/toolbar/GridToolbarQuickFilter.js +8 -7
  183. package/legacy/components/virtualization/GridVirtualScroller.js +4 -6
  184. package/legacy/components/virtualization/GridVirtualScrollerContent.js +4 -4
  185. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +4 -6
  186. package/legacy/constants/defaultGridSlotsComponents.js +5 -54
  187. package/legacy/constants/localeTextConstants.js +1 -0
  188. package/legacy/hooks/core/useGridLocaleText.js +2 -4
  189. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +19 -26
  190. package/legacy/hooks/features/columns/useGridColumns.js +5 -5
  191. package/legacy/hooks/features/filter/useGridFilter.js +5 -5
  192. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +34 -17
  193. package/legacy/index.js +5 -1
  194. package/legacy/internals/index.js +3 -2
  195. package/legacy/internals/utils/computeSlots.js +16 -0
  196. package/legacy/internals/utils/index.js +2 -0
  197. package/legacy/internals/utils/slotsMigration.js +14 -0
  198. package/legacy/locales/arSD.js +15 -19
  199. package/legacy/locales/beBY.js +1 -0
  200. package/legacy/locales/bgBG.js +1 -0
  201. package/legacy/locales/csCZ.js +25 -32
  202. package/legacy/locales/daDK.js +1 -0
  203. package/legacy/locales/deDE.js +1 -0
  204. package/legacy/locales/elGR.js +1 -0
  205. package/legacy/locales/esES.js +2 -1
  206. package/legacy/locales/faIR.js +1 -0
  207. package/legacy/locales/fiFI.js +1 -0
  208. package/legacy/locales/frFR.js +1 -0
  209. package/legacy/locales/heIL.js +1 -0
  210. package/legacy/locales/huHU.js +1 -0
  211. package/legacy/locales/itIT.js +1 -0
  212. package/legacy/locales/jaJP.js +1 -0
  213. package/legacy/locales/koKR.js +1 -0
  214. package/legacy/locales/nbNO.js +1 -0
  215. package/legacy/locales/nlNL.js +1 -0
  216. package/legacy/locales/plPL.js +1 -0
  217. package/legacy/locales/ptBR.js +1 -0
  218. package/legacy/locales/roRO.js +1 -0
  219. package/legacy/locales/ruRU.js +1 -0
  220. package/legacy/locales/skSK.js +1 -0
  221. package/legacy/locales/svSE.js +1 -0
  222. package/legacy/locales/trTR.js +1 -0
  223. package/legacy/locales/ukUA.js +1 -0
  224. package/legacy/locales/urPK.js +1 -0
  225. package/legacy/locales/viVN.js +1 -0
  226. package/legacy/locales/zhCN.js +1 -0
  227. package/legacy/locales/zhTW.js +1 -0
  228. package/legacy/material/components/MUISelectOption.js +14 -0
  229. package/legacy/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +1 -1
  230. package/legacy/{components → material}/icons/index.js +7 -1
  231. package/legacy/material/index.js +65 -0
  232. package/legacy/models/gridFilterItem.js +2 -0
  233. package/legacy/models/params/gridRowParams.js +4 -0
  234. package/locales/arSD.js +15 -19
  235. package/locales/beBY.js +1 -0
  236. package/locales/bgBG.js +1 -0
  237. package/locales/csCZ.js +24 -31
  238. package/locales/daDK.js +1 -0
  239. package/locales/deDE.js +1 -0
  240. package/locales/elGR.js +1 -0
  241. package/locales/esES.js +2 -1
  242. package/locales/faIR.js +1 -0
  243. package/locales/fiFI.js +1 -0
  244. package/locales/frFR.js +1 -0
  245. package/locales/heIL.js +1 -0
  246. package/locales/huHU.js +1 -0
  247. package/locales/itIT.js +1 -0
  248. package/locales/jaJP.js +1 -0
  249. package/locales/koKR.js +1 -0
  250. package/locales/nbNO.js +1 -0
  251. package/locales/nlNL.js +1 -0
  252. package/locales/plPL.js +1 -0
  253. package/locales/ptBR.js +1 -0
  254. package/locales/roRO.js +1 -0
  255. package/locales/ruRU.js +1 -0
  256. package/locales/skSK.js +1 -0
  257. package/locales/svSE.js +1 -0
  258. package/locales/trTR.js +1 -0
  259. package/locales/ukUA.js +1 -0
  260. package/locales/urPK.js +1 -0
  261. package/locales/viVN.js +1 -0
  262. package/locales/zhCN.js +1 -0
  263. package/locales/zhTW.js +1 -0
  264. package/material/components/MUISelectOption.d.ts +3 -0
  265. package/material/components/MUISelectOption.js +16 -0
  266. package/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +1 -1
  267. package/{components → material}/icons/index.d.ts +6 -0
  268. package/{components → material}/icons/index.js +7 -1
  269. package/material/index.d.ts +57 -0
  270. package/material/index.js +65 -0
  271. package/material/package.json +6 -0
  272. package/models/api/gridLocaleTextApi.d.ts +1 -0
  273. package/models/colDef/gridColDef.d.ts +19 -1
  274. package/models/gridExport.d.ts +4 -0
  275. package/models/gridFilterItem.d.ts +2 -0
  276. package/models/gridFilterItem.js +2 -0
  277. package/models/gridFilterModel.d.ts +2 -0
  278. package/models/gridFilterOperator.d.ts +2 -0
  279. package/models/gridIconSlotsComponent.d.ts +22 -2
  280. package/models/gridSlotsComponent.d.ts +18 -1
  281. package/models/gridSlotsComponentsProps.d.ts +103 -23
  282. package/models/params/gridRowParams.d.ts +6 -0
  283. package/models/params/gridRowParams.js +4 -0
  284. package/models/props/DataGridProps.d.ts +13 -2
  285. package/modern/DataGrid/DataGrid.js +10 -2
  286. package/modern/DataGrid/useDataGridProps.js +21 -17
  287. package/modern/colDef/gridSingleSelectColDef.js +13 -4
  288. package/modern/components/GridColumnHeaders.js +108 -0
  289. package/modern/components/GridFooter.js +1 -1
  290. package/modern/components/GridHeader.js +1 -1
  291. package/modern/components/GridRow.js +49 -28
  292. package/modern/components/GridRowCount.js +4 -6
  293. package/modern/components/GridScrollArea.js +4 -3
  294. package/modern/components/GridSelectedRowCount.js +4 -6
  295. package/modern/components/base/GridBody.js +43 -5
  296. package/modern/components/base/GridFooterPlaceholder.js +1 -1
  297. package/modern/components/base/GridOverlays.js +4 -4
  298. package/modern/components/cell/GridActionsCell.js +3 -3
  299. package/modern/components/cell/GridActionsCellItem.js +2 -2
  300. package/modern/components/cell/GridBooleanCell.js +1 -1
  301. package/modern/components/cell/GridCell.js +14 -12
  302. package/modern/components/cell/GridEditBooleanCell.js +2 -2
  303. package/modern/components/cell/GridEditInputCell.js +3 -6
  304. package/modern/components/cell/GridEditSingleSelectCell.js +30 -15
  305. package/modern/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  306. package/{components/columnHeaders/GridColumnHeaders.js → modern/components/columnHeaders/GridBaseColumnHeaders.js} +14 -20
  307. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +5 -5
  308. package/modern/components/columnHeaders/GridColumnHeaderItem.js +4 -4
  309. package/modern/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
  310. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +6 -6
  311. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +9 -13
  312. package/modern/components/columnHeaders/GridColumnHeadersInner.js +6 -6
  313. package/modern/components/columnHeaders/GridIconButtonContainer.js +4 -6
  314. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
  315. package/modern/components/columnSelection/GridHeaderCheckbox.js +2 -2
  316. package/modern/components/containers/GridFooterContainer.js +10 -15
  317. package/modern/components/containers/GridMainContainer.js +3 -5
  318. package/modern/components/containers/GridOverlay.js +7 -11
  319. package/modern/components/containers/GridRoot.js +4 -5
  320. package/modern/components/containers/GridRootStyles.js +7 -3
  321. package/modern/components/containers/GridToolbarContainer.js +4 -6
  322. package/modern/components/index.js +1 -1
  323. package/modern/components/menu/GridMenu.js +4 -6
  324. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -1
  325. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -1
  326. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -1
  327. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +2 -2
  328. package/modern/components/panel/GridColumnsPanel.js +14 -16
  329. package/modern/components/panel/GridPanel.js +4 -0
  330. package/modern/components/panel/GridPanelContent.js +4 -6
  331. package/modern/components/panel/GridPanelFooter.js +4 -6
  332. package/modern/components/panel/GridPanelHeader.js +4 -6
  333. package/modern/components/panel/GridPanelWrapper.js +3 -5
  334. package/modern/components/panel/GridPreferencesPanel.js +3 -3
  335. package/modern/components/panel/filterPanel/GridFilterForm.js +49 -44
  336. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +13 -10
  337. package/modern/components/panel/filterPanel/GridFilterInputDate.js +3 -4
  338. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +24 -17
  339. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  340. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +52 -24
  341. package/modern/components/panel/filterPanel/GridFilterInputValue.js +3 -4
  342. package/modern/components/panel/filterPanel/GridFilterPanel.js +34 -10
  343. package/modern/components/panel/filterPanel/filterPanelUtils.js +3 -9
  344. package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -3
  345. package/modern/components/toolbar/GridToolbarDensitySelector.js +8 -8
  346. package/modern/components/toolbar/GridToolbarExportContainer.js +3 -3
  347. package/modern/components/toolbar/GridToolbarFilterButton.js +8 -10
  348. package/modern/components/toolbar/GridToolbarQuickFilter.js +7 -6
  349. package/modern/components/virtualization/GridVirtualScroller.js +4 -6
  350. package/modern/components/virtualization/GridVirtualScrollerContent.js +4 -4
  351. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +4 -6
  352. package/modern/constants/defaultGridSlotsComponents.js +5 -54
  353. package/modern/constants/localeTextConstants.js +1 -0
  354. package/modern/hooks/core/useGridLocaleText.js +2 -4
  355. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +19 -26
  356. package/modern/hooks/features/columns/useGridColumns.js +3 -3
  357. package/modern/hooks/features/filter/useGridFilter.js +3 -3
  358. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +34 -18
  359. package/modern/index.js +5 -1
  360. package/modern/internals/index.js +3 -2
  361. package/modern/internals/utils/computeSlots.js +17 -0
  362. package/modern/internals/utils/index.js +2 -0
  363. package/modern/internals/utils/slotsMigration.js +13 -0
  364. package/modern/locales/arSD.js +15 -19
  365. package/modern/locales/beBY.js +1 -0
  366. package/modern/locales/bgBG.js +1 -0
  367. package/modern/locales/csCZ.js +24 -31
  368. package/modern/locales/daDK.js +1 -0
  369. package/modern/locales/deDE.js +1 -0
  370. package/modern/locales/elGR.js +1 -0
  371. package/modern/locales/esES.js +2 -1
  372. package/modern/locales/faIR.js +1 -0
  373. package/modern/locales/fiFI.js +1 -0
  374. package/modern/locales/frFR.js +1 -0
  375. package/modern/locales/heIL.js +1 -0
  376. package/modern/locales/huHU.js +1 -0
  377. package/modern/locales/itIT.js +1 -0
  378. package/modern/locales/jaJP.js +1 -0
  379. package/modern/locales/koKR.js +1 -0
  380. package/modern/locales/nbNO.js +1 -0
  381. package/modern/locales/nlNL.js +1 -0
  382. package/modern/locales/plPL.js +1 -0
  383. package/modern/locales/ptBR.js +1 -0
  384. package/modern/locales/roRO.js +1 -0
  385. package/modern/locales/ruRU.js +1 -0
  386. package/modern/locales/skSK.js +1 -0
  387. package/modern/locales/svSE.js +1 -0
  388. package/modern/locales/trTR.js +1 -0
  389. package/modern/locales/ukUA.js +1 -0
  390. package/modern/locales/urPK.js +1 -0
  391. package/modern/locales/viVN.js +1 -0
  392. package/modern/locales/zhCN.js +1 -0
  393. package/modern/locales/zhTW.js +1 -0
  394. package/modern/material/components/MUISelectOption.js +16 -0
  395. package/modern/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +1 -1
  396. package/modern/{components → material}/icons/index.js +7 -1
  397. package/modern/material/index.js +65 -0
  398. package/modern/models/gridFilterItem.js +2 -0
  399. package/modern/models/params/gridRowParams.js +4 -0
  400. package/node/DataGrid/DataGrid.js +10 -2
  401. package/node/DataGrid/useDataGridProps.js +21 -17
  402. package/node/colDef/gridSingleSelectColDef.js +12 -3
  403. package/node/components/GridColumnHeaders.js +116 -0
  404. package/node/components/GridFooter.js +1 -1
  405. package/node/components/GridHeader.js +1 -1
  406. package/node/components/GridRow.js +49 -28
  407. package/node/components/GridRowCount.js +5 -7
  408. package/node/components/GridScrollArea.js +5 -4
  409. package/node/components/GridSelectedRowCount.js +5 -7
  410. package/node/components/base/GridBody.js +43 -5
  411. package/node/components/base/GridFooterPlaceholder.js +1 -1
  412. package/node/components/base/GridOverlays.js +6 -6
  413. package/node/components/cell/GridActionsCell.js +3 -3
  414. package/node/components/cell/GridActionsCellItem.js +2 -2
  415. package/node/components/cell/GridBooleanCell.js +1 -1
  416. package/node/components/cell/GridCell.js +14 -11
  417. package/node/components/cell/GridEditBooleanCell.js +2 -2
  418. package/node/components/cell/GridEditInputCell.js +3 -6
  419. package/node/components/cell/GridEditSingleSelectCell.js +28 -14
  420. package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  421. package/node/components/columnHeaders/{GridColumnHeaders.js → GridBaseColumnHeaders.js} +17 -23
  422. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +5 -5
  423. package/node/components/columnHeaders/GridColumnHeaderItem.js +4 -4
  424. package/node/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
  425. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +6 -6
  426. package/node/components/columnHeaders/GridColumnHeaderTitle.js +10 -14
  427. package/node/components/columnHeaders/GridColumnHeadersInner.js +7 -7
  428. package/node/components/columnHeaders/GridIconButtonContainer.js +5 -7
  429. package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
  430. package/node/components/columnSelection/GridHeaderCheckbox.js +2 -2
  431. package/node/components/containers/GridFooterContainer.js +11 -16
  432. package/node/components/containers/GridMainContainer.js +4 -6
  433. package/node/components/containers/GridOverlay.js +8 -12
  434. package/node/components/containers/GridRoot.js +4 -5
  435. package/node/components/containers/GridRootStyles.js +7 -3
  436. package/node/components/containers/GridToolbarContainer.js +5 -7
  437. package/node/components/index.js +1 -1
  438. package/node/components/menu/GridMenu.js +4 -6
  439. package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -1
  440. package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -1
  441. package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -1
  442. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +2 -2
  443. package/node/components/panel/GridColumnsPanel.js +14 -16
  444. package/node/components/panel/GridPanel.js +4 -0
  445. package/node/components/panel/GridPanelContent.js +5 -7
  446. package/node/components/panel/GridPanelFooter.js +5 -7
  447. package/node/components/panel/GridPanelHeader.js +5 -7
  448. package/node/components/panel/GridPanelWrapper.js +3 -5
  449. package/node/components/panel/GridPreferencesPanel.js +3 -3
  450. package/node/components/panel/filterPanel/GridFilterForm.js +48 -44
  451. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +13 -10
  452. package/node/components/panel/filterPanel/GridFilterInputDate.js +3 -4
  453. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +23 -16
  454. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  455. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +50 -23
  456. package/node/components/panel/filterPanel/GridFilterInputValue.js +3 -4
  457. package/node/components/panel/filterPanel/GridFilterPanel.js +34 -10
  458. package/node/components/panel/filterPanel/filterPanelUtils.js +3 -10
  459. package/node/components/toolbar/GridToolbarColumnsButton.js +3 -3
  460. package/node/components/toolbar/GridToolbarDensitySelector.js +8 -8
  461. package/node/components/toolbar/GridToolbarExportContainer.js +3 -3
  462. package/node/components/toolbar/GridToolbarFilterButton.js +8 -10
  463. package/node/components/toolbar/GridToolbarQuickFilter.js +7 -6
  464. package/node/components/virtualization/GridVirtualScroller.js +5 -7
  465. package/node/components/virtualization/GridVirtualScrollerContent.js +5 -5
  466. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +5 -7
  467. package/node/constants/defaultGridSlotsComponents.js +4 -53
  468. package/node/constants/localeTextConstants.js +1 -0
  469. package/node/hooks/core/useGridLocaleText.js +2 -4
  470. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +21 -28
  471. package/node/hooks/features/columns/useGridColumns.js +3 -3
  472. package/node/hooks/features/filter/useGridFilter.js +3 -3
  473. package/node/hooks/features/virtualization/useGridVirtualScroller.js +33 -16
  474. package/node/index.js +9 -1
  475. package/node/internals/index.js +94 -4
  476. package/node/internals/utils/computeSlots.js +23 -0
  477. package/node/internals/utils/index.js +27 -0
  478. package/node/internals/utils/slotsMigration.js +21 -0
  479. package/node/locales/arSD.js +15 -19
  480. package/node/locales/beBY.js +1 -0
  481. package/node/locales/bgBG.js +1 -0
  482. package/node/locales/csCZ.js +24 -31
  483. package/node/locales/daDK.js +1 -0
  484. package/node/locales/deDE.js +1 -0
  485. package/node/locales/elGR.js +1 -0
  486. package/node/locales/esES.js +2 -1
  487. package/node/locales/faIR.js +1 -0
  488. package/node/locales/fiFI.js +1 -0
  489. package/node/locales/frFR.js +1 -0
  490. package/node/locales/heIL.js +1 -0
  491. package/node/locales/huHU.js +1 -0
  492. package/node/locales/itIT.js +1 -0
  493. package/node/locales/jaJP.js +1 -0
  494. package/node/locales/koKR.js +1 -0
  495. package/node/locales/nbNO.js +1 -0
  496. package/node/locales/nlNL.js +1 -0
  497. package/node/locales/plPL.js +1 -0
  498. package/node/locales/ptBR.js +1 -0
  499. package/node/locales/roRO.js +1 -0
  500. package/node/locales/ruRU.js +1 -0
  501. package/node/locales/skSK.js +1 -0
  502. package/node/locales/svSE.js +1 -0
  503. package/node/locales/trTR.js +1 -0
  504. package/node/locales/ukUA.js +1 -0
  505. package/node/locales/urPK.js +1 -0
  506. package/node/locales/viVN.js +1 -0
  507. package/node/locales/zhCN.js +1 -0
  508. package/node/locales/zhTW.js +1 -0
  509. package/node/{components/DataGridColumnHeaders.js → material/components/MUISelectOption.js} +13 -35
  510. package/node/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +1 -1
  511. package/node/{components → material}/icons/index.js +10 -2
  512. package/node/material/index.js +73 -0
  513. package/node/models/gridFilterItem.js +2 -0
  514. package/node/models/params/gridRowParams.js +4 -0
  515. package/package.json +1 -1
  516. package/components/DataGridColumnHeaders.d.ts +0 -6
  517. package/components/DataGridColumnHeaders.js +0 -38
  518. package/components/columnHeaders/GridColumnHeaders.d.ts +0 -7
  519. package/legacy/components/DataGridColumnHeaders.js +0 -36
  520. package/modern/components/DataGridColumnHeaders.js +0 -38
  521. /package/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,161 @@
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
+ ## 6.0.0
7
+
8
+ _Mar 3, 2023_
9
+
10
+ We're happy to announce the first v6 stable release! 🎉🚀
11
+
12
+ This is now the officially supported major version, where we'll keep rolling out new features, bug fixes, and improvements.
13
+ Head over to the [what's new](https://mui.com/x/whats-new/) page to check the highlighted new features.
14
+
15
+ Migration guides are available with a complete list of the breaking changes:
16
+
17
+ - [Data Grid](https://mui.com/x/migration/migration-data-grid-v5/)
18
+ - [Date Pickers](https://mui.com/x/migration/migration-pickers-v5/)
19
+
20
+ We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
21
+
22
+ - 🎁 The row pinning is no longer experimental (#8055) @MBilalShafi
23
+
24
+ You can now use the row pinning without the `experimentalFeatures.rowPinning` flag enabled.
25
+
26
+ ```diff
27
+ <DataGridPro
28
+ - experimentalFeatures={{ rowPinning: true }}
29
+ />
30
+ ```
31
+ - ⚡️ Improved grid performance by rows and cells memoization (#7846) @m4theushw
32
+ - ✨ Fields have a distinct visual state when empty (#8069) @LukasTy
33
+ - 🌍 Improve Czech (cs-CZ) locale (#8113) @BlastyCZ
34
+ - 🌍 Improve Arabic (ar-SD) locale (#8100) @atf98
35
+ - 📚 Documentation improvements
36
+ - 🐞 Bugfixes
37
+
38
+ ### `@mui/x-data-grid@v6.0.0` / `@mui/x-data-grid-pro@v6.0.0` / `@mui/x-data-grid-premium@v6.0.0`
39
+
40
+ #### Breaking changes
41
+
42
+ - The `componentsProps` and `slotProps` props are now typed for better DX
43
+ - The `cellFocus`, `cellTabIndex` and `editRowsState` props are not passed to the component used in the row slot. You can use the new `focusedCell` and `tabbableCell` props instead. For the editing state, use the API methods.
44
+ The flag `experimentalFeatures.rowPinning` is no longer needed.
45
+
46
+ #### Changes
47
+
48
+ - [DataGrid] Add typing for `componentsProps` (#7968) @MBilalShafi
49
+ - [DataGrid] Allow multiple modules' augmentation (#8098) @MBilalShafi
50
+ - [DataGrid] Extract `BaseInputLabel` slot (#8068) @cherniavskii
51
+ - [DataGrid] Extract `BaseSelectOption` slot (#8072) @cherniavskii
52
+ - [DataGrid] Make possible to memoize rows and cells (#7846) @m4theushw
53
+ - [DataGrid] Register `getLocaleText` synchronously (#8029) @m4theushw
54
+ - [DataGrid] Start extracting material slots to a separate directory (#8004) @cherniavskii
55
+ - [DataGrid] Use `styled` from system (#8032) @siriwatknp
56
+ - [DataGridPro] Improve typing for `getColumnForNewFilter` method (#8043) @MBilalShafi
57
+ - [DataGridPro] Remove row pinning from experimental features (#8055) @MBilalShafi
58
+ - [l10n] Improve Czech (cs-CZ) locale (#8113) @BlastyCZ
59
+ - [l10n] Improve Arabic (ar-SD) locale (#8100) @atf98
60
+
61
+ ### `@mui/x-date-pickers@v6.0.0` / `@mui/x-date-pickers-pro@v6.0.0`
62
+
63
+ #### Breaking changes
64
+
65
+ On desktop, `DateTimePicker` shows the am/pm controls in the toolbar instead of the clock by default.
66
+ It can be overridden by specifying `ampmInClock` prop.
67
+
68
+ #### Changes
69
+
70
+ - [DateRangePicker] Generalize the highlight between months (#8079) @alexfauquette
71
+ - [fields] Clean the order of the tokens in the `formatTokenMap` of each adapter (#8112) @flaviendelangle
72
+ - [fields] Implement empty visual state (#8069) @LukasTy
73
+ - [fields] Replace `sectionOrder` state with a memoized variable (#8090) @flaviendelangle
74
+ - [pickers] Add support for UTC on `moment` adapter (#8031) @flaviendelangle
75
+ - [pickers] Document and deprecate `onClose` callback on static pickers (#8021) @LukasTy
76
+ - [pickers] Fix am/pm buttons position and responsiveness (#5149) @alexfauquette
77
+ - [pickers] Fix layout `sx` propagation (#8064) @alexfauquette
78
+ - [pickers] Increase `moment` peer dependency minimum version (#8046) @oliviertassinari
79
+ - [pickers] Remove `WrapperVariantContext` (#8088) @LukasTy
80
+ - [pickers] Stop using `WrapperVariantContext` in `Clock` (#8083) @LukasTy
81
+
82
+ ### Docs
83
+
84
+ - [docs] Add `aggregation` experimental flag removal to the migration guide (#8056) @MBilalShafi
85
+ - [docs] Add expansion state behavioral change to v6 migration guide (#8108) @MBilalShafi
86
+ - [docs] Change default date from 4th of April to 17th of April for readability (#8089) @flaviendelangle
87
+ - [docs] Clarify the MIT license restriction for grid pagination (#8045) @arunkp
88
+ - [docs] Fix typo replacing "bellow" by "below" (#8080) @TheBox193
89
+ - [docs] Link `API object` in the `apiRef` sections (#8106) @MBilalShafi
90
+ - [docs] Link to demonstrations in the interfaces API docs (#8028) @cherniavskii
91
+ - [docs] Remove the `@next` tag from installation instructions (#8102) @cherniavskii
92
+ - [docs] Start enforcing consistency in documentation vocabulary (#6871) @alexfauquette
93
+ - [docs] Update accessibility guidelines (#7970) @oliviertassinari
94
+ - [docs] Update the DataGrid demo to leverage the latest features (#7863) @joserodolfofreitas
95
+ - [docs] Update migration guide for stable release (#8092) @joserodolfofreitas
96
+
97
+ ### Core
98
+
99
+ - [core] Add modified docs page links in the PR (#7848) @alexfauquette
100
+ - [core] Add test on value timezone (#7867) @alexfauquette
101
+ - [core] Bump monorepo (#8006) @LukasTy
102
+ - [core] Change default branch back to `master` (#8081) @m4theushw
103
+ - [core] Upgrade monorepo (#8115) @MBilalShafi
104
+ - [core] Mention the use of Support key as an alternative to the OrderID (#6968) @joserodolfofreitas
105
+ - [test] Fix flaky tests (#8097) @cherniavskii
106
+
107
+ ## 6.0.0-beta.5
108
+
109
+ _Feb 23, 2023_
110
+
111
+ We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
112
+
113
+ - ⚡️ Add web worker support for Excel export (#7770) @m4theushw
114
+ - 🎁 Add a button to remove all filters on the data grid filter panel (#7326) @MBilalShafi
115
+ - ⚙️ Allow to customize options label and value in the data grid `singleSelect` column (#7684) @m4theushw
116
+ - 📚 Documentation improvements
117
+ - 🐞 Bugfixes
118
+
119
+ ### `@mui/x-data-grid@v6.0.0-beta.5` / `@mui/x-data-grid-pro@v6.0.0-beta.5` / `@mui/x-data-grid-premium@v6.0.0-beta.5`
120
+
121
+ #### Changes
122
+
123
+ - [DataGrid] Allow to customize label and value for `singleSelect` (#7684) @m4theushw
124
+ - [DataGrid] Fix `ownerState` being `undefined` in theme style overrides (#7964) @lolaignatova
125
+ - [DataGrid] Introduce `slots` and deprecate `components` (#7882) @MBilalShafi
126
+ - [DataGridPro] Add `Remove All` option in filter panel (#7326) @MBilalShafi
127
+ - [DataGridPremium] Add web worker support for Excel export (#7770) @m4theushw
128
+
129
+ ### `@mui/x-date-pickers@v6.0.0-beta.5` / `@mui/x-date-pickers-pro@v6.0.0-beta.5`
130
+
131
+ #### Breaking changes
132
+
133
+ - The `MuiDateSectionName` type was renamed to `FieldSectionType`
134
+
135
+ #### Changes
136
+
137
+ - [fields] Fix multi input range fields validation when uncontrolled (#8002) @LukasTy
138
+ - [fields] Fix single input time range fields slot props (#7988) @LukasTy
139
+ - [fields] Make the `ArrowUp` / `ArrowDown` edition only impact the active section (#7993) @flaviendelangle
140
+ - [fields] Fix single input range fields clearing (#7995) @flaviendelangle
141
+ - [fields] Clean the section object (#8009) @flaviendelangle
142
+ - [pickers] Fix `textField` slot `error` prop propagation (#7987) @LukasTy
143
+
144
+ ### `@mui/x-codemod@v6.0.0-beta.5`
145
+
146
+ #### Changes
147
+
148
+ - [codemod] Add `apiRef.current.getRowIndex` to `DataGrid` renaming codemod (#8001) @MBilalShafi
149
+
150
+ ### Docs
151
+
152
+ - [docs] Fine tune range fields demos (#7992) @LukasTy
153
+ - [docs] Fix a few scroll issues on mobile (#7900) @oliviertassinari
154
+ - [docs] Fix inconsistency in the data grid migration guide (#7963) @MBilalShafi
155
+
156
+ ### Core
157
+
158
+ - [core] Fix `moment` locale on adapter tests (#8020) @flaviendelangle
159
+ - [test] Support all adapters on the field tests about the formats (#7996) @flaviendelangle
160
+
6
161
  ## 6.0.0-beta.4
7
162
 
8
163
  _Feb 16, 2023_
@@ -236,17 +391,17 @@ We encourage you to try out this version, packed with improvements, bug fixes, a
236
391
 
237
392
  **Data Grid**
238
393
 
239
- - [Access to the API Object in the community version](https://next.mui.com/x/react-data-grid/api-object/)
240
- - [Improved column menu](https://next.mui.com/x/react-data-grid/column-menu/)
241
- - [Cell selection range](https://next.mui.com/x/react-data-grid/cell-selection/) (Premium)
394
+ - [Access to the API Object in the community version](https://mui.com/x/react-data-grid/api-object/)
395
+ - [Improved column menu](https://mui.com/x/react-data-grid/column-menu/)
396
+ - [Cell selection range](https://mui.com/x/react-data-grid/cell-selection/) (Premium)
242
397
 
243
398
  **Date and Time pickers**
244
399
 
245
- - [Fields: the new default input for pickers](https://next.mui.com/x/react-date-pickers/fields/).
246
- - [Improved layout customization](https://next.mui.com/x/react-date-pickers/custom-layout/)
247
- - [Edit date ranges with drag and drop](https://next.mui.com/x/react-date-pickers/date-range-calendar/) (Pro)
400
+ - [Fields: the new default input for pickers](https://mui.com/x/react-date-pickers/fields/).
401
+ - [Improved layout customization](https://mui.com/x/react-date-pickers/custom-layout/)
402
+ - [Edit date ranges with drag and drop](https://mui.com/x/react-date-pickers/date-range-calendar/) (Pro)
248
403
 
249
- You can check the migration guides for the [Data Grid](https://next.mui.com/x/migration/migration-data-grid-v5/) and [Date Pickers](https://next.mui.com/x/migration/migration-pickers-v5/) in the documentation.
404
+ You can check the migration guides for the [Data Grid](https://mui.com/x/migration/migration-data-grid-v5/) and [Date Pickers](https://mui.com/x/migration/migration-pickers-v5/) in the documentation.
250
405
 
251
406
  We'd like to offer a big thanks to the 10 contributors who made this release possible.
252
407
 
@@ -393,7 +548,7 @@ We'd like to offer a big thanks to the 10 contributors who made this release pos
393
548
  // Same for all the other pickers with an `Unstable_` prefix
394
549
  ```
395
550
 
396
- If you were still using the legacy picker (`DatePicker`, `DesktopDatePicker`, ...), please take a look at our [migration guide](https://next.mui.com/x/migration/migration-pickers-v5/#picker-components) for detailed explanations on how to start using the new ones.
551
+ If you were still using the legacy picker (`DatePicker`, `DesktopDatePicker`, ...), please take a look at our [migration guide](https://mui.com/x/migration/migration-pickers-v5/#picker-components) for detailed explanations on how to start using the new ones.
397
552
 
398
553
  - The fields components are no longer unstable
399
554
 
@@ -824,7 +979,7 @@ We'd like to offer a big thanks to the 6 contributors who made this release poss
824
979
  return <DataGrid apiRef={apiRef} {...other} />;
825
980
  ```
826
981
 
827
- See [the documentation](https://next.mui.com/x/react-data-grid/api-object/) for more information.
982
+ See [the documentation](https://mui.com/x/react-data-grid/api-object/) for more information.
828
983
 
829
984
  - 🎁 The `DataGridPremium` now supports cell selection:
830
985
 
@@ -832,7 +987,7 @@ We'd like to offer a big thanks to the 6 contributors who made this release poss
832
987
  <DataGridPremium unstable_cellSelection />
833
988
  ```
834
989
 
835
- See [the documentation](https://next.mui.com/x/react-data-grid/selection/#cell-selection) for more information
990
+ See [the documentation](https://mui.com/x/react-data-grid/selection/#cell-selection) for more information
836
991
 
837
992
  - 🌍 Support the Right To Left orientation on the fields components
838
993
  - 📚 Documentation improvements
@@ -1093,7 +1248,7 @@ _Nov 24, 2022_
1093
1248
 
1094
1249
  We'd like to offer a big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
1095
1250
 
1096
- - 🎁 Introduce the v6 pickers, built on top of the field components [DatePicker](https://next.mui.com/x/react-date-pickers/date-picker/), [TimePicker](https://next.mui.com/x/react-date-pickers/time-picker/), [DateTimePicker](https://next.mui.com/x/react-date-pickers/date-time-picker/), [DateRangePicker](https://next.mui.com/x/react-date-pickers/date-range-picker/).
1251
+ - 🎁 Introduce the v6 pickers, built on top of the field components [DatePicker](https://mui.com/x/react-date-pickers/date-picker/), [TimePicker](https://mui.com/x/react-date-pickers/time-picker/), [DateTimePicker](https://mui.com/x/react-date-pickers/date-time-picker/), [DateRangePicker](https://mui.com/x/react-date-pickers/date-range-picker/).
1097
1252
 
1098
1253
  The old (legacy) components will be removed at the end of the v6 beta.
1099
1254
 
@@ -1464,7 +1619,7 @@ We'd like to offer a big thanks to the 9 contributors who made this release poss
1464
1619
  The renamed props are the following:
1465
1620
 
1466
1621
  | Old name | New name |
1467
- | -------------------------- | ----------------------------- |
1622
+ | :------------------------- | :---------------------------- |
1468
1623
  | `selectionModel` | `rowSelectionModel` |
1469
1624
  | `onSelectionModelChange` | `onRowSelectionModelChange` |
1470
1625
  | `disableSelectionOnClick` | `disableRowSelectionOnClick` |
@@ -1583,20 +1738,20 @@ _Oct 13, 2022_
1583
1738
  We'd like to offer a big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
1584
1739
 
1585
1740
  - ⌚️ New components to edit date and time with <kbd>keyboard</kbd>—without using any modal or dropdown UI.
1586
- Please check out our [documentation](https://next.mui.com/x/react-date-pickers/fields/) to discover those new components.
1741
+ Please check out our [documentation](https://mui.com/x/react-date-pickers/fields/) to discover those new components.
1587
1742
 
1588
- - [`DateField`](https://next.mui.com/x/react-date-pickers/date-field/) to edit date
1589
- - [`TimeField`](https://next.mui.com/x/react-date-pickers/time-field/) to edit time
1590
- - [`DateTimeField`](https://next.mui.com/x/react-date-pickers/date-time-field/) to edit date and time
1591
- - [`MultiInputDateRangeField` / `SingleInputDateRangeField`](https://next.mui.com/x/react-date-pickers/date-range-field/) to edit date range
1592
- - [`MultiInputTimeRangeField`](https://next.mui.com/x/react-date-pickers/time-range-field/) to edit time range with two inputs
1593
- - [`MultiInputDateTimeRangeField`](https://next.mui.com/x/react-date-pickers/date-time-range-field/) to edit date and time range with two inputs
1743
+ - [`DateField`](https://mui.com/x/react-date-pickers/date-field/) to edit date
1744
+ - [`TimeField`](https://mui.com/x/react-date-pickers/time-field/) to edit time
1745
+ - [`DateTimeField`](https://mui.com/x/react-date-pickers/date-time-field/) to edit date and time
1746
+ - [`MultiInputDateRangeField` / `SingleInputDateRangeField`](https://mui.com/x/react-date-pickers/date-range-field/) to edit date range
1747
+ - [`MultiInputTimeRangeField`](https://mui.com/x/react-date-pickers/time-range-field/) to edit time range with two inputs
1748
+ - [`MultiInputDateTimeRangeField`](https://mui.com/x/react-date-pickers/date-time-range-field/) to edit date and time range with two inputs
1594
1749
 
1595
1750
  ⚠️ These components are unstable.
1596
1751
  They might receive breaking changes on their props to have the best components possible by the time of the stable release.
1597
1752
 
1598
1753
  - 📝 Allow to limit to one filter per column for `DataGridPro` and `DataGridPremium` (#6333) @MBilalShafi
1599
- - 📚 New [page describing the validation props on each picker](https://next.mui.com/x/react-date-pickers/validation/) (#6064) @flaviendelangle
1754
+ - 📚 New [page describing the validation props on each picker](https://mui.com/x/react-date-pickers/validation/) (#6064) @flaviendelangle
1600
1755
  - 📚 Documentation improvements
1601
1756
  - 🐞 Bugfixes
1602
1757
 
@@ -1617,14 +1772,14 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
1617
1772
  For users that didn't migrate to the new editing API in v5, additional work may be needed because the new API is not equivalent to the legacy API. Although, some migration steps are available to help in this task.
1618
1773
 
1619
1774
  - The `editCellPropsChange` event was removed. If you still need it please file a new issue so we can propose an alternative.
1620
- - The `cellEditCommit` event was removed and the `processRowUpdate` prop can be used in place. More information, check the [docs](https://next.mui.com/x/react-data-grid/editing/#persistence) section about the topic.
1621
- - The `editRowsModel` and `onEditRowsModelChange` props were removed. The [`cellModesModel`](https://next.mui.com/x/react-data-grid/editing/#controlled-mode) or [`rowModesModel`](https://next.mui.com/x/react-data-grid/editing/#controlled-mode) props can be used to achieve the same goal.
1775
+ - The `cellEditCommit` event was removed and the `processRowUpdate` prop can be used in place. More information, check the [docs](https://mui.com/x/react-data-grid/editing/#persistence) section about the topic.
1776
+ - The `editRowsModel` and `onEditRowsModelChange` props were removed. The [`cellModesModel`](https://mui.com/x/react-data-grid/editing/#controlled-mode) or [`rowModesModel`](https://mui.com/x/react-data-grid/editing/#controlled-mode) props can be used to achieve the same goal.
1622
1777
  - The following API methods were removed:
1623
1778
  - Use `apiRef.current.stopCellEditMode` to replace `apiRef.current.commitCellChange`
1624
1779
  - Use `apiRef.current.startCellEditMode` to replace `apiRef.current.setCellMode(id, field, 'edit')`
1625
1780
  - Use `apiRef.current.stopRowEditMode` to replace `apiRef.current.commitRowChange`
1626
1781
  - Use `apiRef.current.startRowMode` to replace `apiRef.current.setRowMode(id, 'edit')`
1627
- - Use the [`cellModesModel`](https://next.mui.com/x/react-data-grid/editing/#controlled-mode) or [`rowModesModel`](https://next.mui.com/x/react-data-grid/editing/#controlled-mode) props to replace `apiRef.current.setEditRowsModel`
1782
+ - Use the [`cellModesModel`](https://mui.com/x/react-data-grid/editing/#controlled-mode) or [`rowModesModel`](https://mui.com/x/react-data-grid/editing/#controlled-mode) props to replace `apiRef.current.setEditRowsModel`
1628
1783
 
1629
1784
  #### Changes
1630
1785
 
@@ -2025,7 +2180,7 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
2025
2180
  />
2026
2181
  ```
2027
2182
 
2028
- You can find more information about this new API on our [documentation](https://next.mui.com/x/react-data-grid/column-visibility/).
2183
+ You can find more information about this new API on our [documentation](https://mui.com/x/react-data-grid/column-visibility/).
2029
2184
 
2030
2185
  - The `GridEvents` enum is now a TypeScript type.
2031
2186
 
@@ -2051,7 +2206,7 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
2051
2206
  You can now use the `localText` prop available on all picker components:
2052
2207
 
2053
2208
  | Removed prop | Property in the new `localText` prop |
2054
- | ---------------------------- | --------------------------------------------------------------------------------- |
2209
+ | :--------------------------- | :-------------------------------------------------------------------------------- |
2055
2210
  | `endText` | `end` |
2056
2211
  | `getClockLabelText` | `clockLabelText` |
2057
2212
  | `getHoursClockNumberText` | `hoursClockNumberText` |
@@ -2075,7 +2230,7 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
2075
2230
  />
2076
2231
  ```
2077
2232
 
2078
- You can find more information about the new api, including how to set those translations on all your components at once in the [documentation](https://next.mui.com/x/react-date-pickers/localization/)
2233
+ You can find more information about the new api, including how to set those translations on all your components at once in the [documentation](https://mui.com/x/react-date-pickers/localization/)
2079
2234
 
2080
2235
  - The deprecated `locale` prop of the `LocalizationProvider` component have been renamed `adapterLocale`:
2081
2236
 
@@ -2179,6 +2334,26 @@ You can find more information about the new api, including how to set those tran
2179
2334
  - [test] Skip tests for column pinning and dynamic row height (#5997) @m4theushw
2180
2335
  - [website] Improve security header @oliviertassinari
2181
2336
 
2337
+ ## 5.17.25
2338
+
2339
+ _Feb 23, 2023_
2340
+
2341
+ We'd like to offer a big thanks to the 2 contributors who made this release possible. Here are some highlights ✨:
2342
+
2343
+ - 🐞 Bugfixes
2344
+
2345
+ ### `@mui/x-data-grid@v5.17.25` / `@mui/x-data-grid-pro@v5.17.25` / `@mui/x-data-grid-premium@v5.17.25`
2346
+
2347
+ #### Changes
2348
+
2349
+ - [DataGrid] Fix `ownerState` being `undefined` in theme style overrides (#7757) @lolaignatova
2350
+
2351
+ ### `@mui/x-date-pickers@v5.0.20` / `@mui/x-date-pickers-pro@v5.0.20`
2352
+
2353
+ #### Changes
2354
+
2355
+ - [DateTimePicker] Ensure toolbar `viewType` is correctly updated (#7942) @LukasTy
2356
+
2182
2357
  ## 5.17.24
2183
2358
 
2184
2359
  _Feb 16, 2023_
@@ -2654,7 +2829,7 @@ We'd like to offer a big thanks to the 5 contributors who made this release poss
2654
2829
 
2655
2830
  - [CalendarPicker] Don't move to closest enabled date when `props.date` contains a disabled date (#6537) @flaviendelangle
2656
2831
  - [DateRangePicker] Fix calendar day outside of month layout shifting on hover (pick #6448) (#6538) @alexfauquette
2657
- - [pickers] Fix typescript issues (#6510) @flaviendelangle
2832
+ - [pickers] Fix Typescript issues (#6510) @flaviendelangle
2658
2833
 
2659
2834
  ### Docs
2660
2835
 
@@ -2800,7 +2975,7 @@ We'd like to offer a big thanks to the 6 contributors who made this release poss
2800
2975
 
2801
2976
  ### Core
2802
2977
 
2803
- - [core] Update to typescript 4.8.3 (#6136) @flaviendelangle
2978
+ - [core] Update to Typescript 4.8.3 (#6136) @flaviendelangle
2804
2979
  - [core] Update RFC template (#6100) @bytasv
2805
2980
 
2806
2981
  ## 5.17.2
@@ -4116,7 +4291,7 @@ We'd like to offer a big thanks to the 15 contributors who made this release pos
4116
4291
  Here are the new names and the modifications needed to get the same information with the new selectors.
4117
4292
 
4118
4293
  | Old name | New name |
4119
- | ------------------------------- | ----------------------------------------- |
4294
+ | :------------------------------ | :---------------------------------------- |
4120
4295
  | `allGridColumnsFieldsSelector` | `gridColumnFieldsSelector` |
4121
4296
  | `allGridColumnsSelector` | `gridColumnDefinitionsSelector` |
4122
4297
  | `visibleGridColumnsSelector` | `gridVisibleColumnDefinitionsSelector` |
@@ -6,7 +6,6 @@ import { GridContextProvider } from '../context/GridContextProvider';
6
6
  import { useDataGridComponent } from './useDataGridComponent';
7
7
  import { useDataGridProps } from './useDataGridProps';
8
8
  import { DataGridVirtualScroller } from '../components/DataGridVirtualScroller';
9
- import { DataGridColumnHeaders } from '../components/DataGridColumnHeaders';
10
9
  import { jsx as _jsx } from "react/jsx-runtime";
11
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
11
  const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref) {
@@ -21,7 +20,6 @@ const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref
21
20
  sx: props.sx,
22
21
  ref: ref,
23
22
  children: [/*#__PURE__*/_jsx(GridHeader, {}), /*#__PURE__*/_jsx(GridBody, {
24
- ColumnHeadersComponent: DataGridColumnHeaders,
25
23
  VirtualScrollerComponent: DataGridVirtualScroller
26
24
  }), /*#__PURE__*/_jsx(GridFooterPlaceholder, {})]
27
25
  })
@@ -103,10 +101,12 @@ DataGridRaw.propTypes = {
103
101
  columnVisibilityModel: PropTypes.object,
104
102
  /**
105
103
  * Overrideable components.
104
+ * @deprecated Use `slots` instead.
106
105
  */
107
106
  components: PropTypes.object,
108
107
  /**
109
108
  * Overrideable components props dynamically passed to the component at rendering.
109
+ * @deprecated Use the `slotProps` prop instead.
110
110
  */
111
111
  componentsProps: PropTypes.object,
112
112
  /**
@@ -581,6 +581,14 @@ DataGridRaw.propTypes = {
581
581
  * @default false
582
582
  */
583
583
  showColumnVerticalBorder: PropTypes.bool,
584
+ /**
585
+ * Overrideable components props dynamically passed to the component at rendering.
586
+ */
587
+ slotProps: PropTypes.object,
588
+ /**
589
+ * Overrideable components.
590
+ */
591
+ slots: PropTypes.object,
584
592
  /**
585
593
  * Sorting can be processed on the server or client-side.
586
594
  * Set it to 'client' if you would like to handle sorting on the client-side.
@@ -1,9 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["components", "componentsProps"];
2
4
  import * as React from 'react';
3
5
  import { useThemeProps } from '@mui/material/styles';
4
6
  import { GRID_DEFAULT_LOCALE_TEXT } from '../constants';
5
7
  import { DATA_GRID_DEFAULT_SLOTS_COMPONENTS } from '../constants/defaultGridSlotsComponents';
6
8
  import { GridEditModes } from '../models';
9
+ import { computeSlots, uncapitalizeObjectKeys } from '../internals/utils';
7
10
  const DATA_GRID_FORCED_PROPS = {
8
11
  disableMultipleColumnsFiltering: true,
9
12
  disableMultipleColumnsSorting: true,
@@ -65,25 +68,29 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
65
68
  keepNonExistentRowsSelected: false,
66
69
  keepColumnPositionIfDraggedOutside: false
67
70
  };
71
+ const defaultSlots = uncapitalizeObjectKeys(DATA_GRID_DEFAULT_SLOTS_COMPONENTS);
68
72
  export const useDataGridProps = inProps => {
69
- const themedProps = useThemeProps({
70
- props: inProps,
71
- name: 'MuiDataGrid'
72
- });
73
+ const _useThemeProps = useThemeProps({
74
+ props: inProps,
75
+ name: 'MuiDataGrid'
76
+ }),
77
+ {
78
+ components,
79
+ componentsProps
80
+ } = _useThemeProps,
81
+ themedProps = _objectWithoutPropertiesLoose(_useThemeProps, _excluded);
73
82
  const localeText = React.useMemo(() => _extends({}, GRID_DEFAULT_LOCALE_TEXT, themedProps.localeText), [themedProps.localeText]);
74
- const components = React.useMemo(() => {
75
- const overrides = themedProps.components;
76
- if (!overrides) {
77
- return _extends({}, DATA_GRID_DEFAULT_SLOTS_COMPONENTS);
78
- }
79
- const mergedComponents = {};
80
- Object.entries(DATA_GRID_DEFAULT_SLOTS_COMPONENTS).forEach(([key, defaultComponent]) => {
81
- mergedComponents[key] = overrides[key] === undefined ? defaultComponent : overrides[key];
82
- });
83
- return mergedComponents;
84
- }, [themedProps.components]);
85
- return React.useMemo(() => _extends({}, DATA_GRID_PROPS_DEFAULT_VALUES, themedProps, {
86
- localeText,
83
+ const slots = React.useMemo(() => computeSlots({
84
+ defaultSlots,
85
+ slots: themedProps.slots,
87
86
  components
88
- }, DATA_GRID_FORCED_PROPS), [themedProps, localeText, components]);
87
+ }), [components, themedProps.slots]);
88
+ return React.useMemo(() => {
89
+ var _themedProps$slotProp;
90
+ return _extends({}, DATA_GRID_PROPS_DEFAULT_VALUES, themedProps, {
91
+ localeText,
92
+ slots,
93
+ slotProps: (_themedProps$slotProp = themedProps.slotProps) != null ? _themedProps$slotProp : componentsProps
94
+ }, DATA_GRID_FORCED_PROPS);
95
+ }, [themedProps, localeText, slots, componentsProps]);
89
96
  };
@@ -2,12 +2,21 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { GRID_STRING_COL_DEF } from './gridStringColDef';
3
3
  import { renderEditSingleSelectCell } from '../components/cell/GridEditSingleSelectCell';
4
4
  import { getGridSingleSelectOperators } from './gridSingleSelectOperators';
5
- import { getLabelFromValueOption, isSingleSelectColDef } from '../components/panel/filterPanel/filterPanelUtils';
5
+ import { isSingleSelectColDef } from '../components/panel/filterPanel/filterPanelUtils';
6
+ import { isObject } from '../utils/utils';
6
7
  const isArrayOfObjects = options => {
7
8
  return typeof options[0] === 'object';
8
9
  };
10
+ const defaultGetOptionValue = value => {
11
+ return isObject(value) ? value.value : value;
12
+ };
13
+ const defaultGetOptionLabel = value => {
14
+ return isObject(value) ? value.label : String(value);
15
+ };
9
16
  export const GRID_SINGLE_SELECT_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
10
17
  type: 'singleSelect',
18
+ getOptionLabel: defaultGetOptionLabel,
19
+ getOptionValue: defaultGetOptionValue,
11
20
  valueFormatter(params) {
12
21
  const {
13
22
  id,
@@ -36,10 +45,10 @@ export const GRID_SINGLE_SELECT_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
36
45
  return value;
37
46
  }
38
47
  if (!isArrayOfObjects(valueOptions)) {
39
- return getLabelFromValueOption(value);
48
+ return colDef.getOptionLabel(value);
40
49
  }
41
- const valueOption = valueOptions.find(option => option.value === value);
42
- return valueOption ? getLabelFromValueOption(valueOption) : '';
50
+ const valueOption = valueOptions.find(option => colDef.getOptionValue(option) === value);
51
+ return valueOption ? colDef.getOptionLabel(valueOption) : '';
43
52
  },
44
53
  renderEditCell: renderEditSingleSelectCell,
45
54
  filterOperators: getGridSingleSelectOperators()
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { UseGridColumnHeadersProps } from '../hooks/features/columnHeaders/useGridColumnHeaders';
3
+ interface GridColumnHeadersProps extends React.HTMLAttributes<HTMLDivElement>, Omit<UseGridColumnHeadersProps, 'innerRef'> {
4
+ innerRef?: React.Ref<HTMLDivElement>;
5
+ }
6
+ declare const GridColumnHeaders: React.ForwardRefExoticComponent<GridColumnHeadersProps & React.RefAttributes<HTMLDivElement>>;
7
+ export { GridColumnHeaders };
@@ -0,0 +1,108 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["innerRef", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnPositions", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "densityFactor", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
4
+ import * as React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { useGridColumnHeaders } from '../hooks/features/columnHeaders/useGridColumnHeaders';
7
+ import { GridScrollArea } from './GridScrollArea';
8
+ import { GridBaseColumnHeaders } from './columnHeaders/GridBaseColumnHeaders';
9
+ import { GridColumnHeadersInner } from './columnHeaders/GridColumnHeadersInner';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHeaders(props, ref) {
13
+ const {
14
+ innerRef,
15
+ visibleColumns,
16
+ sortColumnLookup,
17
+ filterColumnLookup,
18
+ columnPositions,
19
+ columnHeaderTabIndexState,
20
+ columnGroupHeaderTabIndexState,
21
+ columnHeaderFocus,
22
+ columnGroupHeaderFocus,
23
+ densityFactor,
24
+ headerGroupingMaxDepth,
25
+ columnMenuState,
26
+ columnVisibility,
27
+ columnGroupsHeaderStructure,
28
+ hasOtherElementInTabSequence
29
+ } = props,
30
+ other = _objectWithoutPropertiesLoose(props, _excluded);
31
+ const {
32
+ isDragging,
33
+ getRootProps,
34
+ getInnerProps,
35
+ getColumnHeaders,
36
+ getColumnGroupHeaders
37
+ } = useGridColumnHeaders({
38
+ innerRef,
39
+ visibleColumns,
40
+ sortColumnLookup,
41
+ filterColumnLookup,
42
+ columnPositions,
43
+ columnHeaderTabIndexState,
44
+ columnGroupHeaderTabIndexState,
45
+ columnHeaderFocus,
46
+ columnGroupHeaderFocus,
47
+ densityFactor,
48
+ headerGroupingMaxDepth,
49
+ columnMenuState,
50
+ columnVisibility,
51
+ columnGroupsHeaderStructure,
52
+ hasOtherElementInTabSequence
53
+ });
54
+ return /*#__PURE__*/_jsxs(GridBaseColumnHeaders, _extends({
55
+ ref: ref
56
+ }, getRootProps(other), {
57
+ children: [/*#__PURE__*/_jsx(GridScrollArea, {
58
+ scrollDirection: "left"
59
+ }), /*#__PURE__*/_jsxs(GridColumnHeadersInner, _extends({
60
+ isDragging: isDragging
61
+ }, getInnerProps(), {
62
+ children: [getColumnGroupHeaders(), getColumnHeaders()]
63
+ })), /*#__PURE__*/_jsx(GridScrollArea, {
64
+ scrollDirection: "right"
65
+ })]
66
+ }));
67
+ });
68
+ process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
69
+ // ----------------------------- Warning --------------------------------
70
+ // | These PropTypes are generated from the TypeScript type definitions |
71
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
72
+ // ----------------------------------------------------------------------
73
+ columnGroupHeaderFocus: PropTypes.shape({
74
+ depth: PropTypes.number.isRequired,
75
+ field: PropTypes.string.isRequired
76
+ }),
77
+ columnGroupHeaderTabIndexState: PropTypes.shape({
78
+ depth: PropTypes.number.isRequired,
79
+ field: PropTypes.string.isRequired
80
+ }),
81
+ columnGroupsHeaderStructure: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.shape({
82
+ columnFields: PropTypes.arrayOf(PropTypes.string).isRequired,
83
+ groupId: PropTypes.string
84
+ }))).isRequired,
85
+ columnHeaderFocus: PropTypes.shape({
86
+ field: PropTypes.string.isRequired
87
+ }),
88
+ columnHeaderTabIndexState: PropTypes.shape({
89
+ field: PropTypes.string.isRequired
90
+ }),
91
+ columnMenuState: PropTypes.shape({
92
+ field: PropTypes.string,
93
+ open: PropTypes.bool.isRequired
94
+ }).isRequired,
95
+ columnPositions: PropTypes.arrayOf(PropTypes.number).isRequired,
96
+ columnVisibility: PropTypes.object.isRequired,
97
+ densityFactor: PropTypes.number.isRequired,
98
+ filterColumnLookup: PropTypes.object.isRequired,
99
+ hasOtherElementInTabSequence: PropTypes.bool.isRequired,
100
+ headerGroupingMaxDepth: PropTypes.number.isRequired,
101
+ innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
102
+ current: PropTypes.object
103
+ })]),
104
+ minColumnIndex: PropTypes.number,
105
+ sortColumnLookup: PropTypes.object.isRequired,
106
+ visibleColumns: PropTypes.arrayOf(PropTypes.object).isRequired
107
+ } : void 0;
108
+ export { GridColumnHeaders };
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  declare const GridFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
3
- sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
3
+ sx?: import("@mui/system").SxProps<import("@mui/system").Theme> | undefined;
4
4
  } & React.RefAttributes<HTMLDivElement>>;
5
5
  export { GridFooter };
@@ -13,7 +13,7 @@ import { useGridRootProps } from '../hooks/utils/useGridRootProps';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
15
  const GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref) {
16
- var _rootProps$components;
16
+ var _rootProps$slotProps;
17
17
  const apiRef = useGridApiContext();
18
18
  const rootProps = useGridRootProps();
19
19
  const totalTopLevelRowCount = useGridSelector(apiRef, gridTopLevelRowCountSelector);
@@ -26,7 +26,7 @@ const GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref)
26
26
  rowCount: totalTopLevelRowCount,
27
27
  visibleRowCount: visibleTopLevelRowCount
28
28
  }) : null;
29
- const paginationElement = rootProps.pagination && !rootProps.hideFooterPagination && rootProps.components.Pagination && /*#__PURE__*/_jsx(rootProps.components.Pagination, _extends({}, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.pagination));
29
+ const paginationElement = rootProps.pagination && !rootProps.hideFooterPagination && rootProps.slots.pagination && /*#__PURE__*/_jsx(rootProps.slots.pagination, _extends({}, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.pagination));
30
30
  return /*#__PURE__*/_jsxs(GridFooterContainer, _extends({
31
31
  ref: ref
32
32
  }, props, {