@mui/x-data-grid 8.0.0-alpha.12 → 8.0.0-alpha.14

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 (504) hide show
  1. package/CHANGELOG.md +430 -0
  2. package/DataGrid/DataGrid.js +31 -22
  3. package/DataGrid/useDataGridProps.js +1 -1
  4. package/colDef/gridActionsColDef.js +1 -1
  5. package/colDef/gridBooleanColDef.js +1 -1
  6. package/colDef/gridCheckboxSelectionColDef.js +2 -4
  7. package/components/GridFooter.js +1 -1
  8. package/components/GridHeader.js +1 -1
  9. package/components/GridPagination.js +5 -6
  10. package/components/GridRowCount.js +4 -5
  11. package/components/GridScrollArea.js +4 -3
  12. package/components/GridSelectedRowCount.js +5 -6
  13. package/components/GridShadowScrollArea.d.ts +8 -0
  14. package/components/GridShadowScrollArea.js +82 -0
  15. package/components/cell/GridEditInputCell.js +2 -3
  16. package/components/columnSelection/GridHeaderCheckbox.js +51 -17
  17. package/components/columnsManagement/GridColumnsManagement.js +60 -61
  18. package/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  19. package/components/columnsPanel/ColumnsPanelTrigger.js +209 -0
  20. package/components/columnsPanel/index.d.ts +1 -0
  21. package/components/columnsPanel/index.js +16 -0
  22. package/components/containers/GridOverlay.js +6 -8
  23. package/components/containers/GridRoot.js +4 -2
  24. package/components/containers/GridRootStyles.d.ts +1 -2
  25. package/components/containers/GridRootStyles.js +77 -100
  26. package/components/containers/GridToolbarContainer.js +5 -6
  27. package/components/export/ExportCsv.d.ts +30 -0
  28. package/components/export/ExportCsv.js +196 -0
  29. package/components/export/ExportPrint.d.ts +30 -0
  30. package/components/export/ExportPrint.js +196 -0
  31. package/components/export/index.d.ts +2 -0
  32. package/components/export/index.js +27 -0
  33. package/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  34. package/components/filterPanel/FilterPanelTrigger.js +212 -0
  35. package/components/filterPanel/index.d.ts +1 -0
  36. package/components/filterPanel/index.js +16 -0
  37. package/components/index.d.ts +6 -1
  38. package/components/index.js +60 -0
  39. package/components/menu/GridMenu.js +7 -6
  40. package/components/menu/columnMenu/GridColumnHeaderMenu.js +4 -3
  41. package/components/panel/GridPanel.js +18 -20
  42. package/components/panel/GridPanelContent.js +6 -8
  43. package/components/panel/GridPanelFooter.js +5 -6
  44. package/components/panel/GridPanelHeader.js +4 -5
  45. package/components/panel/filterPanel/GridFilterForm.js +13 -20
  46. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  47. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  48. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  49. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +20 -45
  50. package/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  51. package/components/quickFilter/QuickFilter.d.ts +41 -0
  52. package/components/quickFilter/QuickFilter.js +110 -0
  53. package/components/quickFilter/QuickFilterClear.d.ts +28 -0
  54. package/components/quickFilter/QuickFilterClear.js +161 -0
  55. package/components/quickFilter/QuickFilterContext.d.ts +13 -0
  56. package/components/quickFilter/QuickFilterContext.js +17 -0
  57. package/components/quickFilter/QuickFilterControl.d.ts +28 -0
  58. package/components/quickFilter/QuickFilterControl.js +104 -0
  59. package/components/quickFilter/index.d.ts +3 -0
  60. package/components/quickFilter/index.js +38 -0
  61. package/components/toolbar/GridToolbar.d.ts +1 -1
  62. package/components/toolbar/GridToolbar.js +2 -2
  63. package/components/toolbar/GridToolbarFilterButton.js +5 -6
  64. package/components/toolbar/GridToolbarQuickFilter.js +57 -97
  65. package/components/toolbarV8/GridToolbar.d.ts +11 -0
  66. package/components/toolbarV8/GridToolbar.js +142 -0
  67. package/components/toolbarV8/Toolbar.d.ts +32 -0
  68. package/components/toolbarV8/Toolbar.js +132 -0
  69. package/components/toolbarV8/ToolbarButton.d.ts +23 -0
  70. package/components/toolbarV8/ToolbarButton.js +179 -0
  71. package/components/toolbarV8/ToolbarContext.d.ts +9 -0
  72. package/components/toolbarV8/ToolbarContext.js +17 -0
  73. package/components/toolbarV8/index.d.ts +2 -0
  74. package/components/toolbarV8/index.js +27 -0
  75. package/components/virtualization/GridVirtualScrollbar.js +15 -6
  76. package/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  77. package/constants/cssVariables.d.ts +294 -0
  78. package/constants/cssVariables.js +168 -0
  79. package/constants/dataGridPropsDefaultValues.js +1 -0
  80. package/constants/defaultGridSlotsComponents.js +2 -1
  81. package/constants/gridClasses.d.ts +17 -0
  82. package/constants/gridClasses.js +1 -1
  83. package/context/GridContextProvider.js +4 -1
  84. package/esm/DataGrid/DataGrid.js +31 -22
  85. package/esm/DataGrid/useDataGridProps.js +1 -1
  86. package/esm/colDef/gridActionsColDef.js +1 -1
  87. package/esm/colDef/gridBooleanColDef.js +1 -1
  88. package/esm/colDef/gridCheckboxSelectionColDef.js +2 -4
  89. package/esm/components/GridFooter.js +2 -2
  90. package/esm/components/GridHeader.js +1 -1
  91. package/esm/components/GridPagination.js +5 -6
  92. package/esm/components/GridRowCount.js +4 -5
  93. package/esm/components/GridScrollArea.js +2 -1
  94. package/esm/components/GridSelectedRowCount.js +5 -6
  95. package/esm/components/GridShadowScrollArea.d.ts +8 -0
  96. package/esm/components/GridShadowScrollArea.js +74 -0
  97. package/esm/components/cell/GridEditInputCell.js +2 -3
  98. package/esm/components/columnSelection/GridHeaderCheckbox.js +51 -17
  99. package/esm/components/columnsManagement/GridColumnsManagement.js +61 -62
  100. package/esm/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  101. package/esm/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
  102. package/esm/components/columnsPanel/index.d.ts +1 -0
  103. package/esm/components/columnsPanel/index.js +1 -0
  104. package/esm/components/containers/GridOverlay.js +6 -8
  105. package/esm/components/containers/GridRoot.js +4 -2
  106. package/esm/components/containers/GridRootStyles.d.ts +1 -2
  107. package/esm/components/containers/GridRootStyles.js +78 -101
  108. package/esm/components/containers/GridToolbarContainer.js +5 -6
  109. package/esm/components/export/ExportCsv.d.ts +30 -0
  110. package/esm/components/export/ExportCsv.js +189 -0
  111. package/esm/components/export/ExportPrint.d.ts +30 -0
  112. package/esm/components/export/ExportPrint.js +189 -0
  113. package/esm/components/export/index.d.ts +2 -0
  114. package/esm/components/export/index.js +2 -0
  115. package/esm/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  116. package/esm/components/filterPanel/FilterPanelTrigger.js +205 -0
  117. package/esm/components/filterPanel/index.d.ts +1 -0
  118. package/esm/components/filterPanel/index.js +1 -0
  119. package/esm/components/index.d.ts +6 -1
  120. package/esm/components/index.js +6 -1
  121. package/esm/components/menu/GridMenu.js +7 -6
  122. package/esm/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -1
  123. package/esm/components/panel/GridPanel.js +18 -20
  124. package/esm/components/panel/GridPanelContent.js +6 -8
  125. package/esm/components/panel/GridPanelFooter.js +5 -6
  126. package/esm/components/panel/GridPanelHeader.js +4 -5
  127. package/esm/components/panel/filterPanel/GridFilterForm.js +13 -20
  128. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  129. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  130. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  131. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.js +19 -44
  132. package/esm/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  133. package/esm/components/quickFilter/QuickFilter.d.ts +41 -0
  134. package/esm/components/quickFilter/QuickFilter.js +103 -0
  135. package/esm/components/quickFilter/QuickFilterClear.d.ts +28 -0
  136. package/esm/components/quickFilter/QuickFilterClear.js +154 -0
  137. package/esm/components/quickFilter/QuickFilterContext.d.ts +13 -0
  138. package/esm/components/quickFilter/QuickFilterContext.js +9 -0
  139. package/esm/components/quickFilter/QuickFilterControl.d.ts +28 -0
  140. package/esm/components/quickFilter/QuickFilterControl.js +97 -0
  141. package/esm/components/quickFilter/index.d.ts +3 -0
  142. package/esm/components/quickFilter/index.js +3 -0
  143. package/esm/components/toolbar/GridToolbar.d.ts +1 -1
  144. package/esm/components/toolbar/GridToolbar.js +2 -2
  145. package/esm/components/toolbar/GridToolbarFilterButton.js +5 -6
  146. package/esm/components/toolbar/GridToolbarQuickFilter.js +59 -97
  147. package/esm/components/toolbarV8/GridToolbar.d.ts +11 -0
  148. package/esm/components/toolbarV8/GridToolbar.js +135 -0
  149. package/esm/components/toolbarV8/Toolbar.d.ts +32 -0
  150. package/esm/components/toolbarV8/Toolbar.js +125 -0
  151. package/esm/components/toolbarV8/ToolbarButton.d.ts +23 -0
  152. package/esm/components/toolbarV8/ToolbarButton.js +172 -0
  153. package/esm/components/toolbarV8/ToolbarContext.d.ts +9 -0
  154. package/esm/components/toolbarV8/ToolbarContext.js +9 -0
  155. package/esm/components/toolbarV8/index.d.ts +2 -0
  156. package/esm/components/toolbarV8/index.js +2 -0
  157. package/esm/components/virtualization/GridVirtualScrollbar.js +10 -2
  158. package/esm/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  159. package/esm/constants/cssVariables.d.ts +294 -0
  160. package/esm/constants/cssVariables.js +161 -0
  161. package/esm/constants/dataGridPropsDefaultValues.js +1 -0
  162. package/esm/constants/defaultGridSlotsComponents.js +2 -1
  163. package/esm/constants/gridClasses.d.ts +17 -0
  164. package/esm/constants/gridClasses.js +1 -1
  165. package/esm/context/GridContextProvider.js +4 -1
  166. package/esm/hooks/features/clipboard/useGridClipboard.js +3 -2
  167. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  168. package/esm/hooks/features/columnResize/useGridColumnResize.js +2 -1
  169. package/esm/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  170. package/esm/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  171. package/esm/hooks/features/columns/gridColumnsSelector.js +8 -0
  172. package/esm/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  173. package/esm/hooks/features/columns/gridColumnsUtils.js +6 -3
  174. package/esm/hooks/features/columns/index.d.ts +1 -1
  175. package/esm/hooks/features/columns/index.js +1 -1
  176. package/esm/hooks/features/columns/useGridColumns.js +4 -2
  177. package/esm/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  178. package/esm/hooks/features/dataSource/gridDataSourceError.js +32 -0
  179. package/esm/hooks/features/dataSource/index.d.ts +2 -0
  180. package/esm/hooks/features/dataSource/index.js +2 -0
  181. package/esm/hooks/features/dataSource/models.d.ts +1 -1
  182. package/esm/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  183. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  184. package/esm/hooks/features/dimensions/useGridDimensions.js +11 -10
  185. package/esm/hooks/features/editing/useGridCellEditing.js +2 -1
  186. package/esm/hooks/features/editing/useGridRowEditing.js +2 -1
  187. package/esm/hooks/features/export/utils.js +4 -2
  188. package/esm/hooks/features/focus/useGridFocus.js +3 -2
  189. package/esm/hooks/features/index.d.ts +1 -1
  190. package/esm/hooks/features/index.js +1 -1
  191. package/esm/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  192. package/esm/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  193. package/esm/hooks/features/rowSelection/useGridRowSelection.js +148 -81
  194. package/esm/hooks/features/rowSelection/utils.d.ts +2 -2
  195. package/esm/hooks/features/rowSelection/utils.js +11 -11
  196. package/esm/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  197. package/esm/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  198. package/esm/hooks/features/rows/gridRowsUtils.js +8 -0
  199. package/esm/hooks/features/rows/useGridParamsApi.js +2 -8
  200. package/esm/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  201. package/esm/hooks/features/rows/useGridRows.d.ts +2 -2
  202. package/esm/hooks/features/rows/useGridRows.js +7 -7
  203. package/esm/hooks/features/rows/useGridRowsMeta.js +8 -0
  204. package/esm/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  205. package/esm/hooks/features/virtualization/useGridVirtualScroller.js +5 -11
  206. package/esm/hooks/utils/index.d.ts +2 -1
  207. package/esm/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  208. package/esm/hooks/utils/useGridComponentRenderer.js +36 -0
  209. package/esm/hooks/utils/useGridSelector.js +4 -1
  210. package/esm/hooks/utils/useIsSSR.js +4 -1
  211. package/esm/index.js +1 -1
  212. package/esm/internals/demo/TailwindDemoContainer.d.ts +11 -0
  213. package/esm/internals/demo/TailwindDemoContainer.js +55 -0
  214. package/esm/internals/demo/index.d.ts +1 -0
  215. package/esm/internals/demo/index.js +1 -0
  216. package/esm/internals/index.d.ts +6 -1
  217. package/esm/internals/index.js +5 -1
  218. package/esm/internals/utils/propValidation.js +1 -1
  219. package/esm/locales/bnBD.d.ts +2 -0
  220. package/esm/locales/bnBD.js +167 -0
  221. package/esm/locales/deDE.js +3 -5
  222. package/esm/locales/huHU.js +10 -13
  223. package/esm/locales/index.d.ts +1 -0
  224. package/esm/locales/index.js +1 -0
  225. package/esm/locales/ruRU.js +17 -21
  226. package/esm/material/icons/index.d.ts +3 -3
  227. package/esm/material/icons/index.js +6 -6
  228. package/esm/material/index.d.ts +1 -0
  229. package/esm/material/index.js +167 -52
  230. package/esm/material/variables.d.ts +5 -0
  231. package/esm/material/variables.js +89 -0
  232. package/esm/models/api/gridRowSelectionApi.d.ts +4 -2
  233. package/esm/models/api/gridSortApi.d.ts +1 -1
  234. package/esm/models/configuration/gridConfiguration.d.ts +7 -1
  235. package/esm/models/gridBaseSlots.d.ts +61 -7
  236. package/esm/models/gridDataSource.d.ts +9 -4
  237. package/esm/models/gridIconSlotsComponent.d.ts +1 -1
  238. package/esm/models/gridRowSelectionManager.d.ts +9 -0
  239. package/esm/models/gridRowSelectionManager.js +36 -0
  240. package/esm/models/gridRowSelectionModel.d.ts +4 -2
  241. package/esm/models/gridSlotsComponent.d.ts +7 -28
  242. package/esm/models/gridSlotsComponentsProps.d.ts +3 -11
  243. package/esm/models/gridSortModel.d.ts +1 -1
  244. package/esm/models/index.d.ts +2 -1
  245. package/esm/models/index.js +2 -3
  246. package/esm/models/props/DataGridProps.d.ts +22 -17
  247. package/esm/utils/css/context.d.ts +14 -0
  248. package/esm/utils/css/context.js +54 -0
  249. package/esm/utils/index.d.ts +2 -1
  250. package/esm/utils/index.js +1 -1
  251. package/hooks/features/clipboard/useGridClipboard.js +3 -2
  252. package/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  253. package/hooks/features/columnResize/useGridColumnResize.js +28 -27
  254. package/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  255. package/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  256. package/hooks/features/columns/gridColumnsSelector.js +9 -1
  257. package/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  258. package/hooks/features/columns/gridColumnsUtils.js +6 -3
  259. package/hooks/features/columns/index.d.ts +1 -1
  260. package/hooks/features/columns/index.js +94 -10
  261. package/hooks/features/columns/useGridColumns.js +4 -2
  262. package/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  263. package/hooks/features/dataSource/gridDataSourceError.js +40 -0
  264. package/hooks/features/dataSource/index.d.ts +2 -0
  265. package/hooks/features/dataSource/index.js +25 -0
  266. package/hooks/features/dataSource/models.d.ts +1 -1
  267. package/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  268. package/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  269. package/hooks/features/dimensions/useGridDimensions.js +19 -18
  270. package/hooks/features/editing/useGridCellEditing.js +10 -9
  271. package/hooks/features/editing/useGridRowEditing.js +11 -10
  272. package/hooks/features/export/utils.js +4 -2
  273. package/hooks/features/focus/useGridFocus.js +8 -7
  274. package/hooks/features/index.d.ts +1 -1
  275. package/hooks/features/index.js +11 -28
  276. package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  277. package/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  278. package/hooks/features/rowSelection/useGridRowSelection.js +146 -79
  279. package/hooks/features/rowSelection/utils.d.ts +2 -2
  280. package/hooks/features/rowSelection/utils.js +10 -10
  281. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  282. package/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  283. package/hooks/features/rows/gridRowsUtils.js +10 -1
  284. package/hooks/features/rows/useGridParamsApi.js +2 -8
  285. package/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  286. package/hooks/features/rows/useGridRows.d.ts +2 -2
  287. package/hooks/features/rows/useGridRows.js +7 -7
  288. package/hooks/features/rows/useGridRowsMeta.js +8 -0
  289. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  290. package/hooks/features/virtualization/useGridVirtualScroller.js +21 -27
  291. package/hooks/utils/index.d.ts +2 -1
  292. package/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  293. package/hooks/utils/useGridComponentRenderer.js +44 -0
  294. package/hooks/utils/useGridSelector.js +6 -2
  295. package/hooks/utils/useIsSSR.js +6 -2
  296. package/index.js +1 -1
  297. package/internals/demo/TailwindDemoContainer.d.ts +11 -0
  298. package/internals/demo/TailwindDemoContainer.js +63 -0
  299. package/internals/demo/index.d.ts +1 -0
  300. package/internals/demo/index.js +12 -0
  301. package/internals/index.d.ts +6 -1
  302. package/internals/index.js +43 -0
  303. package/internals/utils/propValidation.js +1 -1
  304. package/locales/bnBD.d.ts +2 -0
  305. package/locales/bnBD.js +173 -0
  306. package/locales/deDE.js +3 -5
  307. package/locales/huHU.js +10 -13
  308. package/locales/index.d.ts +1 -0
  309. package/locales/index.js +11 -0
  310. package/locales/ruRU.js +17 -21
  311. package/material/icons/index.d.ts +3 -3
  312. package/material/icons/index.js +7 -7
  313. package/material/index.d.ts +1 -0
  314. package/material/index.js +172 -51
  315. package/material/variables.d.ts +5 -0
  316. package/material/variables.js +95 -0
  317. package/models/api/gridRowSelectionApi.d.ts +4 -2
  318. package/models/api/gridSortApi.d.ts +1 -1
  319. package/models/configuration/gridConfiguration.d.ts +7 -1
  320. package/models/gridBaseSlots.d.ts +61 -7
  321. package/models/gridDataSource.d.ts +9 -4
  322. package/models/gridIconSlotsComponent.d.ts +1 -1
  323. package/models/gridRowSelectionManager.d.ts +9 -0
  324. package/models/gridRowSelectionManager.js +43 -0
  325. package/models/gridRowSelectionModel.d.ts +4 -2
  326. package/models/gridSlotsComponent.d.ts +7 -28
  327. package/models/gridSlotsComponentsProps.d.ts +3 -11
  328. package/models/gridSortModel.d.ts +1 -1
  329. package/models/index.d.ts +2 -1
  330. package/models/index.js +34 -11
  331. package/models/props/DataGridProps.d.ts +22 -17
  332. package/modern/DataGrid/DataGrid.js +31 -22
  333. package/modern/DataGrid/useDataGridProps.js +1 -1
  334. package/modern/colDef/gridActionsColDef.js +1 -1
  335. package/modern/colDef/gridBooleanColDef.js +1 -1
  336. package/modern/colDef/gridCheckboxSelectionColDef.js +2 -4
  337. package/modern/components/GridFooter.js +2 -2
  338. package/modern/components/GridHeader.js +1 -1
  339. package/modern/components/GridPagination.js +5 -6
  340. package/modern/components/GridRowCount.js +4 -5
  341. package/modern/components/GridScrollArea.js +2 -1
  342. package/modern/components/GridSelectedRowCount.js +5 -6
  343. package/modern/components/GridShadowScrollArea.d.ts +8 -0
  344. package/modern/components/GridShadowScrollArea.js +74 -0
  345. package/modern/components/cell/GridEditInputCell.js +2 -3
  346. package/modern/components/columnSelection/GridHeaderCheckbox.js +51 -17
  347. package/modern/components/columnsManagement/GridColumnsManagement.js +61 -62
  348. package/modern/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  349. package/modern/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
  350. package/modern/components/columnsPanel/index.d.ts +1 -0
  351. package/modern/components/columnsPanel/index.js +1 -0
  352. package/modern/components/containers/GridOverlay.js +6 -8
  353. package/modern/components/containers/GridRoot.js +4 -2
  354. package/modern/components/containers/GridRootStyles.d.ts +1 -2
  355. package/modern/components/containers/GridRootStyles.js +78 -101
  356. package/modern/components/containers/GridToolbarContainer.js +5 -6
  357. package/modern/components/export/ExportCsv.d.ts +30 -0
  358. package/modern/components/export/ExportCsv.js +189 -0
  359. package/modern/components/export/ExportPrint.d.ts +30 -0
  360. package/modern/components/export/ExportPrint.js +189 -0
  361. package/modern/components/export/index.d.ts +2 -0
  362. package/modern/components/export/index.js +2 -0
  363. package/modern/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  364. package/modern/components/filterPanel/FilterPanelTrigger.js +205 -0
  365. package/modern/components/filterPanel/index.d.ts +1 -0
  366. package/modern/components/filterPanel/index.js +1 -0
  367. package/modern/components/index.d.ts +6 -1
  368. package/modern/components/index.js +6 -1
  369. package/modern/components/menu/GridMenu.js +7 -6
  370. package/modern/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -1
  371. package/modern/components/panel/GridPanel.js +18 -20
  372. package/modern/components/panel/GridPanelContent.js +6 -8
  373. package/modern/components/panel/GridPanelFooter.js +5 -6
  374. package/modern/components/panel/GridPanelHeader.js +4 -5
  375. package/modern/components/panel/filterPanel/GridFilterForm.js +13 -20
  376. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  377. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  378. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  379. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +19 -44
  380. package/modern/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  381. package/modern/components/quickFilter/QuickFilter.d.ts +41 -0
  382. package/modern/components/quickFilter/QuickFilter.js +103 -0
  383. package/modern/components/quickFilter/QuickFilterClear.d.ts +28 -0
  384. package/modern/components/quickFilter/QuickFilterClear.js +154 -0
  385. package/modern/components/quickFilter/QuickFilterContext.d.ts +13 -0
  386. package/modern/components/quickFilter/QuickFilterContext.js +9 -0
  387. package/modern/components/quickFilter/QuickFilterControl.d.ts +28 -0
  388. package/modern/components/quickFilter/QuickFilterControl.js +97 -0
  389. package/modern/components/quickFilter/index.d.ts +3 -0
  390. package/modern/components/quickFilter/index.js +3 -0
  391. package/modern/components/toolbar/GridToolbar.d.ts +1 -1
  392. package/modern/components/toolbar/GridToolbar.js +2 -2
  393. package/modern/components/toolbar/GridToolbarFilterButton.js +5 -6
  394. package/modern/components/toolbar/GridToolbarQuickFilter.js +59 -97
  395. package/modern/components/toolbarV8/GridToolbar.d.ts +11 -0
  396. package/modern/components/toolbarV8/GridToolbar.js +135 -0
  397. package/modern/components/toolbarV8/Toolbar.d.ts +32 -0
  398. package/modern/components/toolbarV8/Toolbar.js +125 -0
  399. package/modern/components/toolbarV8/ToolbarButton.d.ts +23 -0
  400. package/modern/components/toolbarV8/ToolbarButton.js +172 -0
  401. package/modern/components/toolbarV8/ToolbarContext.d.ts +9 -0
  402. package/modern/components/toolbarV8/ToolbarContext.js +9 -0
  403. package/modern/components/toolbarV8/index.d.ts +2 -0
  404. package/modern/components/toolbarV8/index.js +2 -0
  405. package/modern/components/virtualization/GridVirtualScrollbar.js +10 -2
  406. package/modern/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  407. package/modern/constants/cssVariables.d.ts +294 -0
  408. package/modern/constants/cssVariables.js +161 -0
  409. package/modern/constants/dataGridPropsDefaultValues.js +1 -0
  410. package/modern/constants/defaultGridSlotsComponents.js +2 -1
  411. package/modern/constants/gridClasses.d.ts +17 -0
  412. package/modern/constants/gridClasses.js +1 -1
  413. package/modern/context/GridContextProvider.js +4 -1
  414. package/modern/hooks/features/clipboard/useGridClipboard.js +3 -2
  415. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  416. package/modern/hooks/features/columnResize/useGridColumnResize.js +2 -1
  417. package/modern/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  418. package/modern/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  419. package/modern/hooks/features/columns/gridColumnsSelector.js +8 -0
  420. package/modern/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  421. package/modern/hooks/features/columns/gridColumnsUtils.js +6 -3
  422. package/modern/hooks/features/columns/index.d.ts +1 -1
  423. package/modern/hooks/features/columns/index.js +1 -1
  424. package/modern/hooks/features/columns/useGridColumns.js +4 -2
  425. package/modern/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  426. package/modern/hooks/features/dataSource/gridDataSourceError.js +32 -0
  427. package/modern/hooks/features/dataSource/index.d.ts +2 -0
  428. package/modern/hooks/features/dataSource/index.js +2 -0
  429. package/modern/hooks/features/dataSource/models.d.ts +1 -1
  430. package/modern/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  431. package/modern/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  432. package/modern/hooks/features/dimensions/useGridDimensions.js +11 -10
  433. package/modern/hooks/features/editing/useGridCellEditing.js +2 -1
  434. package/modern/hooks/features/editing/useGridRowEditing.js +2 -1
  435. package/modern/hooks/features/export/utils.js +4 -2
  436. package/modern/hooks/features/focus/useGridFocus.js +3 -2
  437. package/modern/hooks/features/index.d.ts +1 -1
  438. package/modern/hooks/features/index.js +1 -1
  439. package/modern/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  440. package/modern/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  441. package/modern/hooks/features/rowSelection/useGridRowSelection.js +148 -81
  442. package/modern/hooks/features/rowSelection/utils.d.ts +2 -2
  443. package/modern/hooks/features/rowSelection/utils.js +11 -11
  444. package/modern/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  445. package/modern/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  446. package/modern/hooks/features/rows/gridRowsUtils.js +8 -0
  447. package/modern/hooks/features/rows/useGridParamsApi.js +2 -8
  448. package/modern/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  449. package/modern/hooks/features/rows/useGridRows.d.ts +2 -2
  450. package/modern/hooks/features/rows/useGridRows.js +7 -7
  451. package/modern/hooks/features/rows/useGridRowsMeta.js +8 -0
  452. package/modern/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  453. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +5 -11
  454. package/modern/hooks/utils/index.d.ts +2 -1
  455. package/modern/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  456. package/modern/hooks/utils/useGridComponentRenderer.js +36 -0
  457. package/modern/hooks/utils/useGridSelector.js +4 -1
  458. package/modern/hooks/utils/useIsSSR.js +4 -1
  459. package/modern/index.js +1 -1
  460. package/modern/internals/demo/TailwindDemoContainer.d.ts +11 -0
  461. package/modern/internals/demo/TailwindDemoContainer.js +55 -0
  462. package/modern/internals/demo/index.d.ts +1 -0
  463. package/modern/internals/demo/index.js +1 -0
  464. package/modern/internals/index.d.ts +6 -1
  465. package/modern/internals/index.js +5 -1
  466. package/modern/internals/utils/propValidation.js +1 -1
  467. package/modern/locales/bnBD.d.ts +2 -0
  468. package/modern/locales/bnBD.js +167 -0
  469. package/modern/locales/deDE.js +3 -5
  470. package/modern/locales/huHU.js +10 -13
  471. package/modern/locales/index.d.ts +1 -0
  472. package/modern/locales/index.js +1 -0
  473. package/modern/locales/ruRU.js +17 -21
  474. package/modern/material/icons/index.d.ts +3 -3
  475. package/modern/material/icons/index.js +6 -6
  476. package/modern/material/index.d.ts +1 -0
  477. package/modern/material/index.js +167 -52
  478. package/modern/material/variables.d.ts +5 -0
  479. package/modern/material/variables.js +89 -0
  480. package/modern/models/api/gridRowSelectionApi.d.ts +4 -2
  481. package/modern/models/api/gridSortApi.d.ts +1 -1
  482. package/modern/models/configuration/gridConfiguration.d.ts +7 -1
  483. package/modern/models/gridBaseSlots.d.ts +61 -7
  484. package/modern/models/gridDataSource.d.ts +9 -4
  485. package/modern/models/gridIconSlotsComponent.d.ts +1 -1
  486. package/modern/models/gridRowSelectionManager.d.ts +9 -0
  487. package/modern/models/gridRowSelectionManager.js +36 -0
  488. package/modern/models/gridRowSelectionModel.d.ts +4 -2
  489. package/modern/models/gridSlotsComponent.d.ts +7 -28
  490. package/modern/models/gridSlotsComponentsProps.d.ts +3 -11
  491. package/modern/models/gridSortModel.d.ts +1 -1
  492. package/modern/models/index.d.ts +2 -1
  493. package/modern/models/index.js +2 -3
  494. package/modern/models/props/DataGridProps.d.ts +22 -17
  495. package/modern/utils/css/context.d.ts +14 -0
  496. package/modern/utils/css/context.js +54 -0
  497. package/modern/utils/index.d.ts +2 -1
  498. package/modern/utils/index.js +1 -1
  499. package/package.json +2 -2
  500. package/tsconfig.build.tsbuildinfo +1 -1
  501. package/utils/css/context.d.ts +14 -0
  502. package/utils/css/context.js +64 -0
  503. package/utils/index.d.ts +2 -1
  504. package/utils/index.js +8 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,436 @@
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.14
9
+
10
+ _Mar 7, 2025_
11
+
12
+ We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🚀📊 New Pro Chart: It is now possible to create Funnel charts—perfect for visualizing conversions, sales pipelines and more!
15
+ <img width="418" alt="Screenshot 2025-01-31 at 12 22 31" src="https://github.com/user-attachments/assets/8cd26821-5f11-46bf-a9bb-34d212880a47" />
16
+ - 🎁 The first iteration of the radar chart is available. Features and refinements will be added in the coming weeks.
17
+ - 🛠️ New and improved [Toolbar component](https://next.mui.com/x/react-data-grid/components/toolbar/) for the data grid
18
+ - 🐞 Bugfixes
19
+
20
+ Special thanks go out to the community member for their valuable contributions:
21
+ @vadimka123.
22
+
23
+ Following are all team members who have contributed to this release:
24
+ @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @michelengelen, @noraleonte, @oliviertassinari.
25
+
26
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
27
+
28
+ ### Data Grid
29
+
30
+ #### Breaking changes
31
+
32
+ - The density selector has been removed from the toolbar. It is still possible to set the density programmatically via the `density` prop. A density selector can be added to a custom toolbar passed to `slots.toolbar`. See [Toolbar component—Settings menu](https://next.mui.com/x/react-data-grid/components/toolbar/#settings-menu) for an example.
33
+ - The quick filter is now shown in the toolbar by default. Use `slotProps={{ toolbar: { showQuickFilter: false } }}` to hide it.
34
+ - The `<GridSaveAltIcon />` icon is not exported anymore. Import `SaveAlt` from `@mui/icons-material` instead.
35
+
36
+ #### `@mui/x-data-grid@8.0.0-alpha.14`
37
+
38
+ - [DataGrid] Fix `aria-hidden` console error when scrollbar is dragged (#16829) @arminmeh
39
+ - [DataGrid] Fix scroll jump with dynamic row height (#16763) @cherniavskii
40
+ - [DataGrid] New `<Toolbar />` component (#14611) @KenanYusuf
41
+ - [DataGrid] Use new toolbar by default (#16814) @KenanYusuf
42
+ - [DataGrid] Remove the quick filtering on a given column (#16738) @vadimka123
43
+
44
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.14` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
45
+
46
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.14`.
47
+
48
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.14` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
49
+
50
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.14`.
51
+
52
+ ### Date and Time Pickers
53
+
54
+ #### Breaking changes
55
+
56
+ - All Date Time Picker variants now use Digital Clock for time editing.
57
+ - Stop passing invalid date to `onChange` when the date is partially filled — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#treat-partially-filled-date-as-null-in-onchange).
58
+
59
+ #### `@mui/x-date-pickers@8.0.0-alpha.14`
60
+
61
+ - [DateTimePicker] Use Digital Clock in all component variants (#16678) @LukasTy
62
+ - [fields] Always use `props.value` as the source of truth when defined (#15875) @flaviendelangle
63
+ - [fields] Fix Fields aria relationship with `helperText` (#16821) @LukasTy
64
+ - [pickers] Add `TValidationProps` generic to the `PickerManager` interface (#16832) @flaviendelangle
65
+ - [pickers] Fix `edge` property setting in different button position cases (#16838) @LukasTy
66
+ - [pickers] Fix typo in JSDoc (#16831) @flaviendelangle
67
+ - [pickers] Refactor the files in the `usePicker` folder (#16680) @flaviendelangle
68
+
69
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.14` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
70
+
71
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.14`.
72
+
73
+ ### Charts
74
+
75
+ #### `@mui/x-charts@8.0.0-alpha.14`
76
+
77
+ - [charts] Fix `undefined` behaving differently from missing value for axis size (#16844) @bernardobelchior
78
+ - [charts] Fix x-axis text anchor default when language is RTL (#16836) @bernardobelchior
79
+ - [charts] Add Radar chart (#16406) @alexfauquette
80
+ - [charts] Move series default color generation in the series config (#16752) @alexfauquette
81
+ - [charts] Render axis title within axis size (#16730) @bernardobelchior
82
+ - [charts] Split `defaultizeAxis` function into two (#16745) @bernardobelchior
83
+ - [charts] Warn if axes data don't have enough elements (#16830) @alexfauquette
84
+ - [charts] XAxis: Add defaults for `textAnchor` and `dominantBaseline` based on `angle` (#16817) @bernardobelchior
85
+
86
+ #### `@mui/x-charts-pro@8.0.0-alpha.14` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
87
+
88
+ Same changes as in `@mui/x-charts@8.0.0-alpha.14`, plus:
89
+
90
+ - [charts] Add Funnel chart (#14804) @JCQuintas
91
+
92
+ ### Tree View
93
+
94
+ #### Breaking changes
95
+
96
+ - The `selectItem` method has been renamed `setItemSelection`:
97
+
98
+ ```diff
99
+ const { publicAPI } = useTreeItemUtils();
100
+
101
+ const handleSelectItem() {
102
+ - publicAPI.selectItem({ event, itemId: props.itemId, shouldBeSelected: true })
103
+ + publicAPI.setItemSelection({ event, itemId: props.itemId, shouldBeSelected: true })
104
+ }
105
+ ```
106
+
107
+ - The `setItemExpansion` method now receives a single object instead of a list of parameters:
108
+
109
+ ```diff
110
+ const { publicAPI } = useTreeItemUtils();
111
+
112
+ const handleExpandItem() {
113
+ - publicAPI.setItemExpansion(event, props.itemId, true)
114
+ + publicAPI.setItemExpansion({ event, itemId: props.itemId, shouldBeExpanded: true })
115
+ }
116
+ ```
117
+
118
+ #### `@mui/x-tree-view@8.0.0-alpha.14`
119
+
120
+ - [TreeView] Clean the expansion and selection API methods (#16795) @flaviendelangle
121
+
122
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.14` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
123
+
124
+ Same changes as in `@mui/x-tree-view@8.0.0-alpha.14`.
125
+
126
+ ### Docs
127
+
128
+ - [docs] Fix padding package install on mobile (#16794) @oliviertassinari
129
+ - [docs] Typo fixes (#16835) @alexfauquette
130
+
131
+ ### Core
132
+
133
+ - [code-infra] Fix console warning in telemetry package (#16816) @JCQuintas
134
+ - [code-infra] Split date-picker test files (#16825) @JCQuintas
135
+ - [infra] Replace PR label check workflow with reusable version (#16762) @michelengelen
136
+ - [infra] Update label in priority-support issue template (#16767) @michelengelen
137
+ - [test] Add timeout to flaky screenshot tests (#16852) @LukasTy
138
+
139
+ ## 8.0.0-alpha.13
140
+
141
+ _Feb 28, 2025_
142
+
143
+ We'd like to offer a big thanks to the 19 contributors who made this release possible. Here are some highlights ✨:
144
+
145
+ - 📊 Decouple `margin` and `axis-size`. A new API to support multiple axes (#16418) @JCQuintas
146
+ - 🗺️ Added Bangla (bn-BD) locale
147
+ - 🗺️ Improve Russian (ru-RU) and Hungarian (hu-HU) locale on the Data Grid
148
+
149
+ Special thanks go out to the community members for their contributions:
150
+ @denpiligrim, @lhilgert9, @noherczeg, @officialkidmax, @pcorpet.
151
+ Following are all team members who have contributed to this release:
152
+ @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @KenanYusuf, @LukasTy, @michelengelen, @MBilalShafi, @oliviertassinari, @romgrk.
153
+
154
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
155
+
156
+ ### Data Grid
157
+
158
+ #### Breaking changes
159
+
160
+ - The `slots.baseFormControl` component was removed.
161
+
162
+ - The "Reset" button in the column visibility panel now resets to the initial column visibility model. Previously it was reset to the model that was active at the time the panel was opened. The reset behavior follows these rules:
163
+
164
+ 1. If an initial `columnVisibilityModel` is provided, it resets to that model.
165
+ 2. If a controlled `columnVisibilityModel` is provided, it resets to the first model value.
166
+ 3. When the columns are updated (via the `columns` prop or `updateColumns()` API method), the reset reference point updates to the current `columnVisibilityModel`.
167
+
168
+ To revert to the previous behavior, provide a custom component to the `slots.columnsManagement`.
169
+
170
+ - The deprecated `LicenseInfo` export has been removed from the `@mui/x-data-grid-pro` and `@mui/x-data-grid-premium` packages.
171
+ You have to import it from `@mui/x-license` instead:
172
+
173
+ ```diff
174
+ - import { LicenseInfo } from '@mui/x-data-grid-pro';
175
+ - import { LicenseInfo } from '@mui/x-data-grid-premium';
176
+ + import { LicenseInfo } from '@mui/x-license';
177
+
178
+ LicenseInfo.setLicenseKey('YOUR_LICENSE_KEY');
179
+ ```
180
+
181
+ - The row selection model has been changed from `GridRowId[]` to `{ type: 'include' | 'exclude'; ids: Set<GridRowId> }`.
182
+ Using `Set` allows for a more efficient row selection management.
183
+ The `exclude` selection type allows to select all rows except the ones in the `ids` set.
184
+
185
+ This change impacts the following props:
186
+
187
+ - `rowSelectionModel`
188
+ - `onRowSelectionModelChange`
189
+ - `initialState.rowSelectionModel`
190
+
191
+ ```diff
192
+ - const [rowSelectionModel, setRowSelectionModel] = React.useState<GridRowSelectionModel>([]);
193
+ + const [rowSelectionModel, setRowSelectionModel] = React.useState<GridRowSelectionModel>({ type: 'include', ids: new Set() });
194
+ ```
195
+
196
+ This change also impacts the `gridRowSelectionStateSelector` selector.
197
+ For convenience, use the `gridRowSelectionManagerSelector` selector to handle both selection types:
198
+
199
+ ```diff
200
+ - const rowSelection = gridRowSelectionStateSelector(apiRef);
201
+ - const isRowSelected = rowSelection.includes(rowId);
202
+ + const rowSelectionManager = gridRowSelectionManagerSelector(apiRef);
203
+ + const isRowSelected = rowSelectionManager.has(rowId);
204
+ ```
205
+
206
+ There is also a `createRowSelectionManager` utility function that can be used to manage the row selection:
207
+
208
+ ```ts
209
+ const rowSelectionManager = createRowSelectionManager({
210
+ type: 'include',
211
+ ids: new Set(),
212
+ });
213
+ rowSelectionManager.select(rowId);
214
+ rowSelectionManager.unselect(rowId);
215
+ rowSelectionManager.has(rowId);
216
+ ```
217
+
218
+ - The `selectedIdsLookupSelector` selector has been removed. Use the `gridRowSelectionManagerSelector` or `gridRowSelectionStateSelector` selectors instead.
219
+ - The `selectedGridRowsSelector` has been renamed to `gridRowSelectionIdsSelector`.
220
+ - The `selectedGridRowsCountSelector` has been renamed to `gridRowSelectionCountSelector`.
221
+
222
+ - The data source feature and its related props are now stable.
223
+
224
+ ```diff
225
+ <DataGridPro
226
+ - unstable_dataSource={dataSource}
227
+ - unstable_dataSourceCache={cache}
228
+ - unstable_lazyLoading
229
+ - unstable_lazyLoadingRequestThrottleMs={100}
230
+ + dataSource={dataSource}
231
+ + dataSourceCache={cache}
232
+ + lazyLoading
233
+ + lazyLoadingRequestThrottleMs={100}
234
+ />
235
+ ```
236
+
237
+ - The data source API is now stable.
238
+
239
+ ```diff
240
+ - apiRef.current.unstable_dataSource.getRows()
241
+ + apiRef.current.dataSource.getRows()
242
+ ```
243
+
244
+ - The signature of `unstable_onDataSourceError()` has been updated to support future use-cases.
245
+
246
+ ```diff
247
+ <DataGrid
248
+ - unstable_onDataSourceError={(error: Error, params: GridGetRowsParams) => {
249
+ - if (params.filterModel) {
250
+ - // do something
251
+ - }
252
+ - }}
253
+ + unstable_onDataSourceError={(error: GridGetRowsError | GridUpdateRowError) => {
254
+ + if (error instanceof GridGetRowsError && error.params.filterModel) {
255
+ + // do something
256
+ + }
257
+ + }}
258
+ />
259
+ ```
260
+
261
+ - Fix the type of the `GridSortModel` to allow readonly arrays.
262
+
263
+ - `GridSortItem` interface is not exported anymore.
264
+
265
+ - The `showToolbar` prop is now required to display the toolbar.
266
+
267
+ It is no longer necessary to pass `GridToolbar` as a slot to display the default toolbar.
268
+
269
+ ```diff
270
+ <DataGrid
271
+ + showToolbar
272
+ - slots={{
273
+ - toolbar: GridToolbar,
274
+ - }}
275
+ />
276
+ ```
277
+
278
+ #### `@mui/x-data-grid@8.0.0-alpha.13`
279
+
280
+ - [DataGrid] Add `showToolbar` prop to enable default toolbar (#16687) @KenanYusuf
281
+ - [DataGrid] Column Visibility: Update "Reset" button behavior (#16626) @MBilalShafi
282
+ - [DataGrid] Column management design updates (#16630) @KenanYusuf
283
+ - [DataGrid] Fix `showColumnVerticalBorder` prop (#16715) @KenanYusuf
284
+ - [DataGrid] Fix scrollbar overlapping cells on mount (#16639) @KenanYusuf
285
+ - [DataGrid] Fix: base `Select` menuprops `onClose()` (#16643) @romgrk
286
+ - [DataGrid] Make `GridSortItem` internal (#16732) @arminmeh
287
+ - [DataGrid] Make data source stable (#16710) @MBilalShafi
288
+ - [DataGrid] Reshape row selection model (#15651) @cherniavskii
289
+ - [DataGrid] Replace `sx` prop usage with `styled()` components (#16665) @KenanYusuf
290
+ - [DataGrid] Refactor: create base `Autocomplete` (#16390) @romgrk
291
+ - [DataGrid] Refactor: remove base form control (#16634) @romgrk
292
+ - [DataGrid] Refactor: remove base input label & adornment (#16646) @romgrk
293
+ - [DataGrid] Refactor: remove material containers (#16633) @romgrk
294
+ - [DataGrid] Refactor: theme to CSS variables (#16588) @romgrk
295
+ - [DataGrid] Update the signature of the `onDataSourceError()` callback (#16718) @MBilalShafi
296
+ - [DataGrid] Use readonly array for the `GridSortModel` (#16627) @pcorpet
297
+ - [DataGrid] Fix the popper focus trap (#16736) @romgrk
298
+ - [l10n] Added Bangla (bn-BD) locale (#16648) @officialkidmax
299
+ - [l10n] Improve Hungarian (hu-HU) locale (#16578) @noherczeg
300
+ - [l10n] Improve Russian (ru-RU) locale (#16591) @denpiligrim
301
+
302
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.13` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
303
+
304
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.13`, plus:
305
+
306
+ - [DataGridPro] Remove `LicenseInfo` reexports (#16671) @cherniavskii
307
+
308
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.13` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
309
+
310
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.13`, plus:
311
+
312
+ - [DataGridPremium] Use `valueGetter` to get row group keys (#16016) @cherniavskii
313
+
314
+ ### Date and Time Pickers
315
+
316
+ #### Breaking changes
317
+
318
+ - The `<DateRangePicker />` now uses a `dialog` instead of a `tooltip` to render their view when used with a single input range field.
319
+
320
+ #### `@mui/x-date-pickers@8.0.0-alpha.13`
321
+
322
+ - [l10n] Added Bangla (bn-BD) locale (#16648) @officialkidmax
323
+ - [pickers] Clean the typing of the slots on the range pickers (#16670) @flaviendelangle
324
+ - [pickers] Fix Time Clock meridiem button selected styles (#16681) @LukasTy
325
+ - [pickers] Make the single input field the default field on range pickers (#16656) @flaviendelangle
326
+ - [pickers] Move the opening logic to the range fields (#16175) @flaviendelangle
327
+
328
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.13` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
329
+
330
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.13`.
331
+
332
+ ### Charts
333
+
334
+ #### Breaking changes
335
+
336
+ - Charts array inputs are now `readonly`. Allowing externally defined `as const` to be used as a prop value of the React component.
337
+
338
+ ```tsx
339
+ const xAxis = [{ position: 'bottom' }] as const
340
+ <BarChart xAxis={xAxis} />
341
+ ```
342
+
343
+ - Replace `topAxis`, `rightAxis`, `bottomAxis` and `leftAxis` props by the `position` property in the axis config.
344
+ If you were using them to place axis, set the `position` property to the corresponding value `'top' | 'right' | 'bottom' | 'left'`.
345
+ If you were disabling an axis by setting it to `null`, set its `position` to `'none'`.
346
+
347
+ ```diff
348
+ <LineChart
349
+ yAxis={[
350
+ {
351
+ scaleType: 'linear',
352
+ + position: 'right',
353
+ },
354
+ ]}
355
+ series={[{ data: [1, 10, 30, 50, 70, 90, 100], label: 'linear' }]}
356
+ height={400}
357
+ - rightAxis={{}}
358
+ />
359
+ ```
360
+
361
+ - Remove `position` prop from `ChartsXAxis` and `ChartsYAxis`.
362
+ The `position` prop has been removed from the `ChartsXAxis` and `ChartsYAxis` components. Configure it directly in the axis config.
363
+
364
+ ```diff
365
+ <ChartContainer
366
+ yAxis={[
367
+ {
368
+ id: 'my-axis',
369
+ + position: 'right',
370
+ },
371
+ ]}
372
+ >
373
+ - <ChartsYAxis axisId="my-axis" position="right" />
374
+ + <ChartsYAxis axisId="my-axis" />
375
+ </ChartContainer>
376
+ ```
377
+
378
+ - Add `minTickLabelGap` to x-axis, which allows users to define the minimum gap, in pixels, between two tick labels. The default value is 4px. Make sure to check your charts as the spacing between tick labels might have changed.
379
+
380
+ #### `@mui/x-charts@8.0.0-alpha.13`
381
+
382
+ - [charts] Accept component in `labelMarkType` (#16739) @bernardobelchior
383
+ - [charts] Add `minTickLabelGap` to x-axis (#16548) @bernardobelchior
384
+ - [charts] Add unit test for pie chart with empty series (#16663) @bernardobelchior
385
+ - [charts] Decouple `margin` and `axis-size` (#16418) @JCQuintas
386
+ - [charts] Display slider tooltip on demos (#16723) @JCQuintas
387
+ - [charts] Fix composition docs link (#16761) @bernardobelchior
388
+ - [charts] Fix default label measurement being off (#16635) @bernardobelchior
389
+ - [charts] Fix is highlighted memoization (#16592) @alexfauquette
390
+ - [charts] Fix missing `theme.shape` error in the tooltip (#16748) @alexfauquette
391
+ - [charts] Fix typo in error message (#16641) @JCQuintas
392
+ - [charts] Improve axis size docs (#16673) @JCQuintas
393
+ - [charts] Improve performance of rendering ticks in x-axis (#16536) @bernardobelchior
394
+ - [charts] Make `defaultizeAxis` function type-safe (#16642) @JCQuintas
395
+ - [charts] Make `series.data` readonly (#16645) @JCQuintas
396
+ - [charts] Migrate `ChartsUsageDemo` to TSX and removed NoSnap (#16686) @JCQuintas
397
+ - [charts] Prevent `position='none'` axes from rendering (#16727) @JCQuintas
398
+ - [charts] Make array inputs readonly (#16632) @JCQuintas
399
+ - [charts] Remove state initialization hack (#16520) @alexfauquette
400
+ - [charts] Remove redundant default axis (#16734) @bernardobelchior
401
+
402
+ #### `@mui/x-charts-pro@8.0.0-alpha.13` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
403
+
404
+ Same changes as in `@mui/x-charts@8.0.0-alpha.13`, plus:
405
+
406
+ - [charts-pro] Add back zoom control (#16550) @alexfauquette
407
+
408
+ ### Tree View
409
+
410
+ #### `@mui/x-tree-view@8.0.0-alpha.13`
411
+
412
+ Internal changes.
413
+
414
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.13` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
415
+
416
+ Same changes as in `@mui/x-tree-view@8.0.0-alpha.13`.
417
+
418
+ ### `@mui/x-codemod@8.0.0-alpha.13`
419
+
420
+ - [codemod] Add a few Data Grid codemods (#16711) @MBilalShafi
421
+ - [codemod] Improve Pickers renaming codemod (#16685) @LukasTy
422
+
423
+ ### Docs
424
+
425
+ - [docs] Fix charts with on bar and line pages (#16712) @alexfauquette
426
+ - [docs] Fix migration guide introduction for charts (#16679) @alexfauquette
427
+ - [docs] Fix remaining charts demos on mobile (#16728) @alexfauquette
428
+ - [docs] Fix scroll overflow on mobile (#16675) @oliviertassinari
429
+ - [docs] Improve Pickers migration page (#16682) @LukasTy
430
+ - [docs] Update small Pickers doc inconsistencies (#16724) @LukasTy
431
+ - [code-infra] Charts changes for `vitest` (#16755) @JCQuintas
432
+ - [code-infra] General packages changes for `vitest` (#16757) @JCQuintas
433
+ - [code-infra] Native Node.js ESM (#16603) @Janpot
434
+ - [infra] Update contributor acknowledgment wording (#16751) @michelengelen
435
+ - [test] Revert timeout increase for possibly slow tests (#16651) @LukasTy
436
+ - [x-license] Introduce usage telemetry (#13530) @hasdfa
437
+
8
438
  ## 8.0.0-alpha.12
9
439
 
10
440
  _Feb 17, 2025_
@@ -18,9 +18,11 @@ var _GridContextProvider = require("../context/GridContextProvider");
18
18
  var _useDataGridComponent = require("./useDataGridComponent");
19
19
  var _useDataGridProps = require("./useDataGridProps");
20
20
  var _propValidation = require("../internals/utils/propValidation");
21
+ var _variables = require("../material/variables");
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  const configuration = {
23
24
  hooks: {
25
+ useCSSVariables: _variables.useMaterialCSSVariables,
24
26
  useGridAriaAttributes: _useGridAriaAttributes.useGridAriaAttributes,
25
27
  useGridRowAriaAttributes: _useGridRowAriaAttributes.useGridRowAriaAttributes
26
28
  }
@@ -145,6 +147,21 @@ DataGridRaw.propTypes = {
145
147
  * If defined, the Data Grid will ignore the `hide` property in [[GridColDef]].
146
148
  */
147
149
  columnVisibilityModel: _propTypes.default.object,
150
+ /**
151
+ * The data source object.
152
+ */
153
+ dataSource: _propTypes.default.shape({
154
+ getRows: _propTypes.default.func.isRequired,
155
+ updateRow: _propTypes.default.func
156
+ }),
157
+ /**
158
+ * Data source cache object.
159
+ */
160
+ dataSourceCache: _propTypes.default.shape({
161
+ clear: _propTypes.default.func.isRequired,
162
+ get: _propTypes.default.func.isRequired,
163
+ set: _propTypes.default.func.isRequired
164
+ }),
148
165
  /**
149
166
  * Set the density of the Data Grid.
150
167
  * @default "standard"
@@ -497,6 +514,11 @@ DataGridRaw.propTypes = {
497
514
  * @param {GridCallbackDetails} details Additional details for this callback.
498
515
  */
499
516
  onColumnWidthChange: _propTypes.default.func,
517
+ /**
518
+ * Callback fired when a data source request fails.
519
+ * @param {GridGetRowsError | GridUpdateRowError} error The data source error object.
520
+ */
521
+ onDataSourceError: _propTypes.default.func,
500
522
  /**
501
523
  * Callback fired when the density changes.
502
524
  * @param {GridDensity} density New density value.
@@ -694,7 +716,10 @@ DataGridRaw.propTypes = {
694
716
  /**
695
717
  * Sets the row selection model of the Data Grid.
696
718
  */
697
- rowSelectionModel: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired), _propTypes.default.number, _propTypes.default.string]),
719
+ rowSelectionModel: _propTypes.default /* @typescript-to-proptypes-ignore */.shape({
720
+ ids: _propTypes.default.instanceOf(Set).isRequired,
721
+ type: _propTypes.default.oneOf(['exclude', 'include']).isRequired
722
+ }),
698
723
  /**
699
724
  * Sets the type of space between rows added by `getRowSpacing`.
700
725
  * @default "margin"
@@ -719,6 +744,11 @@ DataGridRaw.propTypes = {
719
744
  * @default false
720
745
  */
721
746
  showColumnVerticalBorder: _propTypes.default.bool,
747
+ /**
748
+ * If `true`, the toolbar is displayed.
749
+ * @default false
750
+ */
751
+ showToolbar: _propTypes.default.bool,
722
752
  /**
723
753
  * Overridable components props dynamically passed to the component at rendering.
724
754
  */
@@ -750,27 +780,6 @@ DataGridRaw.propTypes = {
750
780
  * The system prop that allows defining system overrides as well as additional CSS styles.
751
781
  */
752
782
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
753
- /**
754
- * The data source object.
755
- */
756
- unstable_dataSource: _propTypes.default.shape({
757
- getRows: _propTypes.default.func.isRequired,
758
- updateRow: _propTypes.default.func
759
- }),
760
- /**
761
- * Data source cache object.
762
- */
763
- unstable_dataSourceCache: _propTypes.default.shape({
764
- clear: _propTypes.default.func.isRequired,
765
- get: _propTypes.default.func.isRequired,
766
- set: _propTypes.default.func.isRequired
767
- }),
768
- /**
769
- * Callback fired when the data source request fails.
770
- * @param {Error} error The error object.
771
- * @param {GridGetRowsParams} params With all properties from [[GridGetRowsParams]].
772
- */
773
- unstable_onDataSourceError: _propTypes.default.func,
774
783
  /**
775
784
  * If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
776
785
  * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
@@ -25,7 +25,7 @@ const DATA_GRID_FORCED_PROPS = {
25
25
  signature: 'DataGrid',
26
26
  unstable_listView: false
27
27
  };
28
- const getDataGridForcedProps = themedProps => (0, _extends2.default)({}, DATA_GRID_FORCED_PROPS, themedProps.unstable_dataSource ? {
28
+ const getDataGridForcedProps = themedProps => (0, _extends2.default)({}, DATA_GRID_FORCED_PROPS, themedProps.dataSource ? {
29
29
  filterMode: 'server',
30
30
  sortingMode: 'server',
31
31
  paginationMode: 'server'
@@ -22,5 +22,5 @@ const GRID_ACTIONS_COL_DEF = exports.GRID_ACTIONS_COL_DEF = (0, _extends2.defaul
22
22
  disableColumnMenu: true,
23
23
  disableExport: true,
24
24
  renderCell: _GridActionsCell.renderActionsCell,
25
- getApplyQuickFilterFn: undefined
25
+ getApplyQuickFilterFn: () => null
26
26
  });
@@ -40,7 +40,7 @@ const GRID_BOOLEAN_COL_DEF = exports.GRID_BOOLEAN_COL_DEF = (0, _extends2.defaul
40
40
  sortComparator: _gridSortingUtils.gridNumberComparator,
41
41
  valueFormatter: gridBooleanFormatter,
42
42
  filterOperators: (0, _gridBooleanOperators.getGridBooleanOperators)(),
43
- getApplyQuickFilterFn: undefined,
43
+ getApplyQuickFilterFn: () => null,
44
44
  // @ts-ignore
45
45
  aggregable: false,
46
46
  // @ts-ignore
@@ -10,7 +10,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _GridCellCheckboxRenderer = require("../components/columnSelection/GridCellCheckboxRenderer");
12
12
  var _GridHeaderCheckbox = require("../components/columnSelection/GridHeaderCheckbox");
13
- var _gridRowSelectionSelector = require("../hooks/features/rowSelection/gridRowSelectionSelector");
14
13
  var _gridBooleanColDef = require("./gridBooleanColDef");
15
14
  var _gridPropsSelectors = require("../hooks/core/gridPropsSelectors");
16
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -27,12 +26,11 @@ const GRID_CHECKBOX_SELECTION_COL_DEF = exports.GRID_CHECKBOX_SELECTION_COL_DEF
27
26
  disableColumnMenu: true,
28
27
  disableReorder: true,
29
28
  disableExport: true,
30
- getApplyQuickFilterFn: undefined,
29
+ getApplyQuickFilterFn: () => null,
31
30
  display: 'flex',
32
31
  valueGetter: (value, row, column, apiRef) => {
33
- const selectionLookup = (0, _gridRowSelectionSelector.selectedIdsLookupSelector)(apiRef);
34
32
  const rowId = (0, _gridPropsSelectors.gridRowIdSelector)(apiRef, row);
35
- return selectionLookup[rowId] !== undefined;
33
+ return apiRef.current.isRowSelected(rowId);
36
34
  },
37
35
  renderHeader: params => /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeaderCheckbox.GridHeaderCheckbox, (0, _extends2.default)({}, params)),
38
36
  renderCell: params => /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridCellCheckboxRenderer.GridCellCheckboxRenderer, (0, _extends2.default)({}, params))
@@ -23,7 +23,7 @@ const GridFooter = exports.GridFooter = (0, _forwardRef.forwardRef)(function Gri
23
23
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
24
24
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
25
25
  const totalTopLevelRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridTopLevelRowCountSelector);
26
- const selectedRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowSelectionSelector.selectedGridRowsCountSelector);
26
+ const selectedRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowSelectionSelector.gridRowSelectionCountSelector);
27
27
  const visibleTopLevelRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilteredTopLevelRowCountSelector);
28
28
  const selectedRowCountElement = !rootProps.hideFooterSelectedRowCount && selectedRowCount > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridSelectedRowCount.GridSelectedRowCount, {
29
29
  selectedRowCount: selectedRowCount
@@ -14,6 +14,6 @@ var _jsxRuntime = require("react/jsx-runtime");
14
14
  function GridHeader() {
15
15
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
16
16
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
17
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridPreferencesPanel.GridPreferencesPanel, {}), rootProps.slots.toolbar && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.toolbar, (0, _extends2.default)({}, rootProps.slotProps?.toolbar))]
17
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridPreferencesPanel.GridPreferencesPanel, {}), rootProps.showToolbar && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.toolbar, (0, _extends2.default)({}, rootProps.slotProps?.toolbar))]
18
18
  });
19
19
  }
@@ -12,30 +12,29 @@ var _styles = require("@mui/material/styles");
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _TablePagination = _interopRequireWildcard(require("@mui/material/TablePagination"));
14
14
  var _forwardRef = require("@mui/x-internals/forwardRef");
15
+ var _cssVariables = require("../constants/cssVariables");
15
16
  var _useGridSelector = require("../hooks/utils/useGridSelector");
16
17
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
17
18
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
18
19
  var _gridPaginationSelector = require("../hooks/features/pagination/gridPaginationSelector");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
20
- const GridPaginationRoot = (0, _styles.styled)(_TablePagination.default)(({
21
- theme
22
- }) => ({
21
+ const GridPaginationRoot = (0, _styles.styled)(_TablePagination.default)({
23
22
  maxHeight: 'calc(100% + 1px)',
24
23
  // border width
25
24
  flexGrow: 1,
26
25
  [`& .${_TablePagination.tablePaginationClasses.selectLabel}`]: {
27
26
  display: 'none',
28
- [theme.breakpoints.up('sm')]: {
27
+ [_cssVariables.vars.breakpoints.up('sm')]: {
29
28
  display: 'block'
30
29
  }
31
30
  },
32
31
  [`& .${_TablePagination.tablePaginationClasses.input}`]: {
33
32
  display: 'none',
34
- [theme.breakpoints.up('sm')]: {
33
+ [_cssVariables.vars.breakpoints.up('sm')]: {
35
34
  display: 'inline-flex'
36
35
  }
37
36
  }
38
- }));
37
+ });
39
38
  const wrapLabelDisplayedRows = (labelDisplayedRows, estimated) => {
40
39
  return ({
41
40
  from,
@@ -14,6 +14,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _system = require("@mui/system");
16
16
  var _forwardRef = require("@mui/x-internals/forwardRef");
17
+ var _cssVariables = require("../constants/cssVariables");
17
18
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
18
19
  var _gridClasses = require("../constants/gridClasses");
19
20
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
@@ -32,13 +33,11 @@ const GridRowCountRoot = (0, _system.styled)('div', {
32
33
  name: 'MuiDataGrid',
33
34
  slot: 'RowCount',
34
35
  overridesResolver: (props, styles) => styles.rowCount
35
- })(({
36
- theme
37
- }) => ({
36
+ })({
38
37
  alignItems: 'center',
39
38
  display: 'flex',
40
- margin: theme.spacing(0, 2)
41
- }));
39
+ margin: _cssVariables.vars.spacing(0, 2)
40
+ });
42
41
  const GridRowCount = exports.GridRowCount = (0, _forwardRef.forwardRef)(function GridRowCount(props, ref) {
43
42
  const {
44
43
  className,