@mui/x-data-grid 7.0.0-alpha.8 → 7.0.0-beta.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 (566) hide show
  1. package/CHANGELOG.md +508 -30
  2. package/DataGrid/DataGrid.js +6 -6
  3. package/DataGrid/useDataGridComponent.js +2 -1
  4. package/DataGrid/useDataGridProps.js +1 -0
  5. package/README.md +3 -3
  6. package/components/GridColumnHeaders.d.ts +3 -2
  7. package/components/GridColumnHeaders.js +3 -11
  8. package/components/GridDetailPanels.d.ts +5 -0
  9. package/components/GridDetailPanels.js +4 -0
  10. package/components/GridHeaders.d.ts +4 -0
  11. package/components/GridHeaders.js +53 -0
  12. package/components/GridPinnedRows.d.ts +7 -0
  13. package/components/GridPinnedRows.js +4 -0
  14. package/components/GridRow.d.ts +7 -4
  15. package/components/GridRow.js +161 -97
  16. package/components/GridScrollbarFillerCell.d.ts +7 -0
  17. package/components/GridScrollbarFillerCell.js +39 -0
  18. package/components/base/GridBody.d.ts +2 -13
  19. package/components/base/GridBody.js +2 -116
  20. package/components/base/GridOverlays.js +10 -21
  21. package/components/cell/GridActionsCellItem.d.ts +2 -2
  22. package/components/cell/GridCell.d.ts +15 -21
  23. package/components/cell/GridCell.js +67 -372
  24. package/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  25. package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -1
  26. package/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  27. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -0
  28. package/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  29. package/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  30. package/components/columnsManagement/GridColumnsManagement.d.ts +36 -0
  31. package/components/columnsManagement/GridColumnsManagement.js +260 -0
  32. package/components/columnsManagement/index.d.ts +1 -0
  33. package/components/columnsManagement/index.js +1 -0
  34. package/components/columnsManagement/utils.d.ts +4 -0
  35. package/components/columnsManagement/utils.js +16 -0
  36. package/components/containers/GridRoot.js +18 -15
  37. package/components/containers/GridRootStyles.js +307 -204
  38. package/components/index.d.ts +1 -0
  39. package/components/index.js +1 -0
  40. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  41. package/components/panel/GridColumnsPanel.d.ts +0 -28
  42. package/components/panel/GridColumnsPanel.js +5 -213
  43. package/components/panel/GridPanel.js +3 -4
  44. package/components/panel/filterPanel/GridFilterForm.d.ts +6 -4
  45. package/components/panel/filterPanel/GridFilterForm.js +31 -14
  46. package/components/panel/filterPanel/GridFilterPanel.js +46 -20
  47. package/components/toolbar/GridToolbarColumnsButton.d.ts +13 -1
  48. package/components/toolbar/GridToolbarColumnsButton.js +40 -22
  49. package/components/toolbar/GridToolbarDensitySelector.d.ts +13 -1
  50. package/components/toolbar/GridToolbarDensitySelector.js +40 -22
  51. package/components/toolbar/GridToolbarExport.d.ts +10 -1
  52. package/components/toolbar/GridToolbarExport.js +6 -1
  53. package/components/toolbar/GridToolbarExportContainer.d.ts +15 -1
  54. package/components/toolbar/GridToolbarExportContainer.js +41 -23
  55. package/components/toolbar/GridToolbarFilterButton.d.ts +5 -4
  56. package/components/toolbar/GridToolbarFilterButton.js +6 -10
  57. package/components/virtualization/GridBottomContainer.d.ts +2 -0
  58. package/components/virtualization/GridBottomContainer.js +25 -0
  59. package/components/{containers → virtualization}/GridMainContainer.d.ts +2 -0
  60. package/components/virtualization/GridMainContainer.js +20 -0
  61. package/components/virtualization/GridTopContainer.d.ts +2 -0
  62. package/components/virtualization/GridTopContainer.js +35 -0
  63. package/components/virtualization/GridVirtualScrollbar.d.ts +7 -0
  64. package/components/virtualization/GridVirtualScrollbar.js +131 -0
  65. package/components/virtualization/GridVirtualScroller.d.ts +4 -4
  66. package/components/virtualization/GridVirtualScroller.js +69 -16
  67. package/components/virtualization/GridVirtualScrollerFiller.d.ts +4 -0
  68. package/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  69. package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  70. package/constants/defaultGridSlotsComponents.js +8 -3
  71. package/constants/gridClasses.d.ts +72 -12
  72. package/constants/gridClasses.js +1 -1
  73. package/constants/localeTextConstants.js +4 -6
  74. package/hooks/core/gridCoreSelector.d.ts +6 -0
  75. package/hooks/core/gridCoreSelector.js +5 -0
  76. package/hooks/core/useGridApiInitialization.js +4 -0
  77. package/hooks/core/useGridInitialization.js +4 -0
  78. package/hooks/core/useGridRefs.d.ts +3 -0
  79. package/hooks/core/useGridRefs.js +13 -0
  80. package/hooks/core/useGridTheme.d.ts +3 -0
  81. package/hooks/core/useGridTheme.js +19 -0
  82. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
  83. package/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
  84. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +13 -18
  85. package/hooks/features/columnHeaders/useGridColumnHeaders.js +68 -162
  86. package/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  87. package/hooks/features/columns/gridColumnsInterfaces.d.ts +17 -0
  88. package/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  89. package/hooks/features/columns/gridColumnsSelector.d.ts +14 -1
  90. package/hooks/features/columns/gridColumnsSelector.js +52 -0
  91. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -5
  92. package/hooks/features/columns/gridColumnsUtils.js +10 -12
  93. package/hooks/features/columns/index.d.ts +2 -2
  94. package/hooks/features/columns/index.js +2 -1
  95. package/hooks/features/columns/useGridColumnSpanning.js +62 -61
  96. package/hooks/features/columns/useGridColumns.js +20 -23
  97. package/hooks/features/dimensions/gridDimensionsApi.d.ts +60 -11
  98. package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +2 -0
  99. package/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  100. package/hooks/features/dimensions/index.d.ts +2 -0
  101. package/hooks/features/dimensions/index.js +1 -0
  102. package/hooks/features/dimensions/useGridDimensions.d.ts +7 -1
  103. package/hooks/features/dimensions/useGridDimensions.js +216 -148
  104. package/hooks/features/export/serializers/csvSerializer.js +2 -2
  105. package/hooks/features/filter/useGridFilter.js +3 -3
  106. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -2
  107. package/hooks/features/focus/gridFocusStateSelector.js +2 -6
  108. package/hooks/features/focus/useGridFocus.js +3 -3
  109. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  110. package/hooks/features/pagination/useGridPagination.js +3 -5
  111. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -0
  112. package/hooks/features/rows/gridRowsSelector.d.ts +2 -2
  113. package/hooks/features/rows/gridRowsSelector.js +5 -5
  114. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  115. package/hooks/features/rows/gridRowsUtils.js +8 -5
  116. package/hooks/features/rows/useGridRowsMeta.js +7 -4
  117. package/hooks/features/scroll/useGridScroll.js +8 -10
  118. package/hooks/features/sorting/gridSortingUtils.js +1 -1
  119. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  120. package/hooks/features/sorting/useGridSorting.js +15 -10
  121. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +14 -0
  122. package/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  123. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +27 -42
  124. package/hooks/features/virtualization/useGridVirtualScroller.js +441 -438
  125. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  126. package/hooks/features/virtualization/useGridVirtualization.js +8 -1
  127. package/hooks/utils/index.d.ts +3 -0
  128. package/hooks/utils/index.js +4 -1
  129. package/hooks/utils/useGridAriaAttributes.js +1 -2
  130. package/hooks/utils/useGridNativeEventListener.js +4 -9
  131. package/hooks/utils/useResizeObserver.d.ts +2 -0
  132. package/hooks/utils/useResizeObserver.js +36 -0
  133. package/hooks/utils/useRunOnce.d.ts +5 -0
  134. package/hooks/utils/useRunOnce.js +18 -0
  135. package/index.js +1 -1
  136. package/internals/index.d.ts +12 -9
  137. package/internals/index.js +9 -7
  138. package/legacy/DataGrid/DataGrid.js +6 -6
  139. package/legacy/DataGrid/useDataGridComponent.js +2 -1
  140. package/legacy/DataGrid/useDataGridProps.js +1 -0
  141. package/legacy/components/GridColumnHeaders.js +3 -11
  142. package/legacy/components/GridDetailPanels.js +4 -0
  143. package/legacy/components/GridHeaders.js +53 -0
  144. package/legacy/components/GridPinnedRows.js +4 -0
  145. package/legacy/components/GridRow.js +159 -98
  146. package/legacy/components/GridScrollbarFillerCell.js +36 -0
  147. package/legacy/components/base/GridBody.js +2 -114
  148. package/legacy/components/base/GridOverlays.js +10 -25
  149. package/legacy/components/cell/GridCell.js +69 -377
  150. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  151. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  152. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  153. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  154. package/legacy/components/columnsManagement/GridColumnsManagement.js +300 -0
  155. package/legacy/components/columnsManagement/index.js +1 -0
  156. package/legacy/components/columnsManagement/utils.js +22 -0
  157. package/legacy/components/containers/GridRoot.js +18 -15
  158. package/legacy/components/containers/GridRootStyles.js +215 -137
  159. package/legacy/components/index.js +1 -0
  160. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  161. package/legacy/components/panel/GridColumnsPanel.js +5 -233
  162. package/legacy/components/panel/GridPanel.js +3 -4
  163. package/legacy/components/panel/filterPanel/GridFilterForm.js +30 -13
  164. package/legacy/components/panel/filterPanel/GridFilterPanel.js +49 -20
  165. package/legacy/components/toolbar/GridToolbarColumnsButton.js +40 -21
  166. package/legacy/components/toolbar/GridToolbarDensitySelector.js +40 -21
  167. package/legacy/components/toolbar/GridToolbarExport.js +6 -1
  168. package/legacy/components/toolbar/GridToolbarExportContainer.js +40 -21
  169. package/legacy/components/toolbar/GridToolbarFilterButton.js +6 -10
  170. package/legacy/components/virtualization/GridBottomContainer.js +25 -0
  171. package/legacy/components/virtualization/GridMainContainer.js +20 -0
  172. package/legacy/components/virtualization/GridTopContainer.js +35 -0
  173. package/legacy/components/virtualization/GridVirtualScrollbar.js +129 -0
  174. package/legacy/components/virtualization/GridVirtualScroller.js +67 -16
  175. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +70 -0
  176. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  177. package/legacy/constants/defaultGridSlotsComponents.js +8 -3
  178. package/legacy/constants/gridClasses.js +1 -1
  179. package/legacy/constants/localeTextConstants.js +4 -6
  180. package/legacy/hooks/core/gridCoreSelector.js +7 -0
  181. package/legacy/hooks/core/useGridApiInitialization.js +4 -0
  182. package/legacy/hooks/core/useGridInitialization.js +4 -0
  183. package/legacy/hooks/core/useGridRefs.js +13 -0
  184. package/legacy/hooks/core/useGridTheme.js +21 -0
  185. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
  186. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +69 -181
  187. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  188. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  189. package/legacy/hooks/features/columns/gridColumnsSelector.js +62 -0
  190. package/legacy/hooks/features/columns/gridColumnsUtils.js +10 -16
  191. package/legacy/hooks/features/columns/index.js +2 -1
  192. package/legacy/hooks/features/columns/useGridColumnSpanning.js +60 -59
  193. package/legacy/hooks/features/columns/useGridColumns.js +22 -23
  194. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +3 -0
  195. package/legacy/hooks/features/dimensions/index.js +1 -0
  196. package/legacy/hooks/features/dimensions/useGridDimensions.js +226 -151
  197. package/legacy/hooks/features/export/serializers/csvSerializer.js +2 -2
  198. package/legacy/hooks/features/filter/useGridFilter.js +3 -3
  199. package/legacy/hooks/features/focus/gridFocusStateSelector.js +2 -6
  200. package/legacy/hooks/features/focus/useGridFocus.js +3 -3
  201. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  202. package/legacy/hooks/features/pagination/useGridPagination.js +3 -5
  203. package/legacy/hooks/features/rows/gridRowsSelector.js +5 -5
  204. package/legacy/hooks/features/rows/gridRowsUtils.js +8 -5
  205. package/legacy/hooks/features/rows/useGridRowsMeta.js +7 -4
  206. package/legacy/hooks/features/scroll/useGridScroll.js +8 -10
  207. package/legacy/hooks/features/sorting/gridSortingUtils.js +1 -1
  208. package/legacy/hooks/features/sorting/useGridSorting.js +15 -10
  209. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +29 -1
  210. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +490 -483
  211. package/legacy/hooks/features/virtualization/useGridVirtualization.js +8 -1
  212. package/legacy/hooks/utils/index.js +4 -1
  213. package/legacy/hooks/utils/useGridAriaAttributes.js +1 -2
  214. package/legacy/hooks/utils/useGridNativeEventListener.js +4 -9
  215. package/legacy/hooks/utils/useResizeObserver.js +36 -0
  216. package/legacy/hooks/utils/useRunOnce.js +18 -0
  217. package/legacy/index.js +1 -1
  218. package/legacy/internals/index.js +9 -7
  219. package/legacy/locales/arSD.js +5 -6
  220. package/legacy/locales/beBY.js +5 -6
  221. package/legacy/locales/bgBG.js +5 -6
  222. package/legacy/locales/csCZ.js +5 -6
  223. package/legacy/locales/daDK.js +5 -6
  224. package/legacy/locales/deDE.js +5 -6
  225. package/legacy/locales/elGR.js +5 -6
  226. package/legacy/locales/esES.js +5 -6
  227. package/legacy/locales/faIR.js +5 -6
  228. package/legacy/locales/fiFI.js +5 -6
  229. package/legacy/locales/frFR.js +5 -6
  230. package/legacy/locales/heIL.js +5 -6
  231. package/legacy/locales/hrHR.js +160 -0
  232. package/legacy/locales/huHU.js +5 -6
  233. package/legacy/locales/index.js +4 -1
  234. package/legacy/locales/itIT.js +5 -6
  235. package/legacy/locales/jaJP.js +5 -6
  236. package/legacy/locales/koKR.js +5 -6
  237. package/legacy/locales/nbNO.js +5 -6
  238. package/legacy/locales/nlNL.js +5 -6
  239. package/legacy/locales/plPL.js +5 -6
  240. package/legacy/locales/ptBR.js +5 -6
  241. package/legacy/locales/ptPT.js +160 -0
  242. package/legacy/locales/roRO.js +5 -6
  243. package/legacy/locales/ruRU.js +5 -6
  244. package/legacy/locales/skSK.js +5 -6
  245. package/legacy/locales/svSE.js +5 -6
  246. package/legacy/locales/trTR.js +5 -6
  247. package/legacy/locales/ukUA.js +5 -6
  248. package/legacy/locales/urPK.js +5 -6
  249. package/legacy/locales/viVN.js +5 -6
  250. package/legacy/locales/zhCN.js +5 -6
  251. package/legacy/locales/zhHK.js +160 -0
  252. package/legacy/locales/zhTW.js +5 -6
  253. package/legacy/models/index.js +0 -1
  254. package/legacy/models/params/index.js +1 -2
  255. package/legacy/utils/utils.js +10 -1
  256. package/locales/arSD.js +5 -6
  257. package/locales/beBY.js +5 -6
  258. package/locales/bgBG.js +5 -6
  259. package/locales/csCZ.js +5 -6
  260. package/locales/daDK.js +5 -6
  261. package/locales/deDE.js +5 -6
  262. package/locales/elGR.js +5 -6
  263. package/locales/esES.js +5 -6
  264. package/locales/faIR.js +5 -6
  265. package/locales/fiFI.js +5 -6
  266. package/locales/frFR.js +5 -6
  267. package/locales/heIL.js +5 -6
  268. package/locales/hrHR.d.ts +1 -0
  269. package/locales/hrHR.js +148 -0
  270. package/locales/huHU.js +5 -6
  271. package/locales/index.d.ts +3 -0
  272. package/locales/index.js +4 -1
  273. package/locales/itIT.js +5 -6
  274. package/locales/jaJP.js +5 -6
  275. package/locales/koKR.js +5 -6
  276. package/locales/nbNO.js +5 -6
  277. package/locales/nlNL.js +5 -6
  278. package/locales/plPL.js +5 -6
  279. package/locales/ptBR.js +5 -6
  280. package/locales/ptPT.d.ts +1 -0
  281. package/locales/ptPT.js +148 -0
  282. package/locales/roRO.js +5 -6
  283. package/locales/ruRU.js +5 -6
  284. package/locales/skSK.js +5 -6
  285. package/locales/svSE.js +5 -6
  286. package/locales/trTR.js +5 -6
  287. package/locales/ukUA.js +5 -6
  288. package/locales/urPK.js +5 -6
  289. package/locales/viVN.js +5 -6
  290. package/locales/zhCN.js +5 -6
  291. package/locales/zhHK.d.ts +1 -0
  292. package/locales/zhHK.js +148 -0
  293. package/locales/zhTW.js +5 -6
  294. package/models/api/gridColumnGroupingApi.d.ts +2 -2
  295. package/models/api/gridCoreApi.d.ts +16 -16
  296. package/models/api/gridLocaleTextApi.d.ts +3 -5
  297. package/models/api/gridRowsMetaApi.d.ts +1 -1
  298. package/models/api/gridVirtualizationApi.d.ts +2 -3
  299. package/models/colDef/gridColType.d.ts +11 -2
  300. package/models/events/gridEventLookup.d.ts +3 -3
  301. package/models/gridFilterModel.d.ts +1 -1
  302. package/models/gridSlotsComponent.d.ts +21 -2
  303. package/models/gridSlotsComponentsProps.d.ts +4 -0
  304. package/models/gridStateCommunity.d.ts +5 -1
  305. package/models/index.d.ts +0 -1
  306. package/models/index.js +0 -1
  307. package/models/params/index.d.ts +0 -1
  308. package/models/params/index.js +1 -2
  309. package/models/props/DataGridProps.d.ts +6 -11
  310. package/modern/DataGrid/DataGrid.js +6 -6
  311. package/modern/DataGrid/useDataGridComponent.js +2 -1
  312. package/modern/DataGrid/useDataGridProps.js +1 -0
  313. package/modern/components/GridColumnHeaders.js +3 -11
  314. package/modern/components/GridDetailPanels.js +4 -0
  315. package/modern/components/GridHeaders.js +53 -0
  316. package/modern/components/GridPinnedRows.js +4 -0
  317. package/modern/components/GridRow.js +159 -96
  318. package/modern/components/GridScrollbarFillerCell.js +39 -0
  319. package/modern/components/base/GridBody.js +2 -116
  320. package/modern/components/base/GridOverlays.js +10 -16
  321. package/modern/components/cell/GridCell.js +65 -369
  322. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  323. package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  324. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  325. package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  326. package/modern/components/columnsManagement/GridColumnsManagement.js +256 -0
  327. package/modern/components/columnsManagement/index.js +1 -0
  328. package/modern/components/columnsManagement/utils.js +16 -0
  329. package/modern/components/containers/GridRoot.js +18 -14
  330. package/modern/components/containers/GridRootStyles.js +307 -204
  331. package/modern/components/index.js +1 -0
  332. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  333. package/modern/components/panel/GridColumnsPanel.js +4 -209
  334. package/modern/components/panel/GridPanel.js +3 -4
  335. package/modern/components/panel/filterPanel/GridFilterForm.js +30 -13
  336. package/modern/components/panel/filterPanel/GridFilterPanel.js +46 -20
  337. package/modern/components/toolbar/GridToolbarColumnsButton.js +38 -21
  338. package/modern/components/toolbar/GridToolbarDensitySelector.js +38 -21
  339. package/modern/components/toolbar/GridToolbarExport.js +6 -1
  340. package/modern/components/toolbar/GridToolbarExportContainer.js +39 -22
  341. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -10
  342. package/modern/components/virtualization/GridBottomContainer.js +25 -0
  343. package/modern/components/virtualization/GridMainContainer.js +20 -0
  344. package/modern/components/virtualization/GridTopContainer.js +35 -0
  345. package/modern/components/virtualization/GridVirtualScrollbar.js +131 -0
  346. package/modern/components/virtualization/GridVirtualScroller.js +69 -16
  347. package/modern/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  348. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  349. package/modern/constants/defaultGridSlotsComponents.js +8 -3
  350. package/modern/constants/gridClasses.js +1 -1
  351. package/modern/constants/localeTextConstants.js +4 -6
  352. package/modern/hooks/core/gridCoreSelector.js +5 -0
  353. package/modern/hooks/core/useGridApiInitialization.js +3 -0
  354. package/modern/hooks/core/useGridInitialization.js +4 -0
  355. package/modern/hooks/core/useGridRefs.js +13 -0
  356. package/modern/hooks/core/useGridTheme.js +19 -0
  357. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
  358. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +67 -160
  359. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  360. package/modern/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  361. package/modern/hooks/features/columns/gridColumnsSelector.js +51 -0
  362. package/modern/hooks/features/columns/gridColumnsUtils.js +10 -12
  363. package/modern/hooks/features/columns/index.js +2 -1
  364. package/modern/hooks/features/columns/useGridColumnSpanning.js +62 -61
  365. package/modern/hooks/features/columns/useGridColumns.js +19 -21
  366. package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  367. package/modern/hooks/features/dimensions/index.js +1 -0
  368. package/modern/hooks/features/dimensions/useGridDimensions.js +214 -146
  369. package/modern/hooks/features/export/serializers/csvSerializer.js +2 -2
  370. package/modern/hooks/features/filter/useGridFilter.js +3 -3
  371. package/modern/hooks/features/focus/gridFocusStateSelector.js +2 -6
  372. package/modern/hooks/features/focus/useGridFocus.js +3 -3
  373. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  374. package/modern/hooks/features/pagination/useGridPagination.js +3 -5
  375. package/modern/hooks/features/rows/gridRowsSelector.js +2 -2
  376. package/modern/hooks/features/rows/gridRowsUtils.js +8 -5
  377. package/modern/hooks/features/rows/useGridRowsMeta.js +7 -4
  378. package/modern/hooks/features/scroll/useGridScroll.js +8 -9
  379. package/modern/hooks/features/sorting/gridSortingUtils.js +1 -1
  380. package/modern/hooks/features/sorting/useGridSorting.js +15 -10
  381. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  382. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +435 -432
  383. package/modern/hooks/features/virtualization/useGridVirtualization.js +8 -1
  384. package/modern/hooks/utils/index.js +4 -1
  385. package/modern/hooks/utils/useGridAriaAttributes.js +1 -1
  386. package/modern/hooks/utils/useGridNativeEventListener.js +3 -9
  387. package/modern/hooks/utils/useResizeObserver.js +36 -0
  388. package/modern/hooks/utils/useRunOnce.js +18 -0
  389. package/modern/index.js +1 -1
  390. package/modern/internals/index.js +9 -7
  391. package/modern/locales/arSD.js +5 -6
  392. package/modern/locales/beBY.js +5 -6
  393. package/modern/locales/bgBG.js +5 -6
  394. package/modern/locales/csCZ.js +5 -6
  395. package/modern/locales/daDK.js +5 -6
  396. package/modern/locales/deDE.js +5 -6
  397. package/modern/locales/elGR.js +5 -6
  398. package/modern/locales/esES.js +5 -6
  399. package/modern/locales/faIR.js +5 -6
  400. package/modern/locales/fiFI.js +5 -6
  401. package/modern/locales/frFR.js +5 -6
  402. package/modern/locales/heIL.js +5 -6
  403. package/modern/locales/hrHR.js +148 -0
  404. package/modern/locales/huHU.js +5 -6
  405. package/modern/locales/index.js +4 -1
  406. package/modern/locales/itIT.js +5 -6
  407. package/modern/locales/jaJP.js +5 -6
  408. package/modern/locales/koKR.js +5 -6
  409. package/modern/locales/nbNO.js +5 -6
  410. package/modern/locales/nlNL.js +5 -6
  411. package/modern/locales/plPL.js +5 -6
  412. package/modern/locales/ptBR.js +5 -6
  413. package/modern/locales/ptPT.js +148 -0
  414. package/modern/locales/roRO.js +5 -6
  415. package/modern/locales/ruRU.js +5 -6
  416. package/modern/locales/skSK.js +5 -6
  417. package/modern/locales/svSE.js +5 -6
  418. package/modern/locales/trTR.js +5 -6
  419. package/modern/locales/ukUA.js +5 -6
  420. package/modern/locales/urPK.js +5 -6
  421. package/modern/locales/viVN.js +5 -6
  422. package/modern/locales/zhCN.js +5 -6
  423. package/modern/locales/zhHK.js +148 -0
  424. package/modern/locales/zhTW.js +5 -6
  425. package/modern/models/index.js +0 -1
  426. package/modern/models/params/index.js +1 -2
  427. package/modern/utils/utils.js +10 -1
  428. package/node/DataGrid/DataGrid.js +6 -6
  429. package/node/DataGrid/useDataGridComponent.js +1 -0
  430. package/node/DataGrid/useDataGridProps.js +1 -0
  431. package/node/components/GridColumnHeaders.js +3 -11
  432. package/node/components/GridDetailPanels.js +10 -0
  433. package/node/components/GridHeaders.js +60 -0
  434. package/node/components/GridPinnedRows.js +10 -0
  435. package/node/components/GridRow.js +157 -94
  436. package/node/components/GridScrollbarFillerCell.js +47 -0
  437. package/node/components/base/GridBody.js +7 -118
  438. package/node/components/base/GridOverlays.js +9 -15
  439. package/node/components/cell/GridCell.js +66 -369
  440. package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  441. package/node/components/columnHeaders/GridColumnHeaderItem.js +8 -4
  442. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  443. package/node/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  444. package/node/components/columnsManagement/GridColumnsManagement.js +264 -0
  445. package/node/components/columnsManagement/index.js +16 -0
  446. package/node/components/columnsManagement/utils.js +24 -0
  447. package/node/components/containers/GridRoot.js +17 -14
  448. package/node/components/containers/GridRootStyles.js +175 -72
  449. package/node/components/index.js +11 -0
  450. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  451. package/node/components/panel/GridColumnsPanel.js +4 -208
  452. package/node/components/panel/GridPanel.js +3 -4
  453. package/node/components/panel/filterPanel/GridFilterForm.js +29 -12
  454. package/node/components/panel/filterPanel/GridFilterPanel.js +45 -19
  455. package/node/components/toolbar/GridToolbarColumnsButton.js +36 -20
  456. package/node/components/toolbar/GridToolbarDensitySelector.js +36 -20
  457. package/node/components/toolbar/GridToolbarExport.js +6 -1
  458. package/node/components/toolbar/GridToolbarExportContainer.js +37 -21
  459. package/node/components/toolbar/GridToolbarFilterButton.js +6 -10
  460. package/node/components/virtualization/GridBottomContainer.js +34 -0
  461. package/node/components/{containers → virtualization}/GridMainContainer.js +7 -29
  462. package/node/components/virtualization/GridTopContainer.js +44 -0
  463. package/node/components/virtualization/GridVirtualScrollbar.js +138 -0
  464. package/node/components/virtualization/GridVirtualScroller.js +69 -17
  465. package/node/components/virtualization/GridVirtualScrollerFiller.js +77 -0
  466. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  467. package/node/constants/defaultGridSlotsComponents.js +6 -1
  468. package/node/constants/gridClasses.js +1 -1
  469. package/node/constants/localeTextConstants.js +4 -6
  470. package/node/hooks/core/gridCoreSelector.js +12 -0
  471. package/node/hooks/core/useGridApiInitialization.js +3 -0
  472. package/node/hooks/core/useGridInitialization.js +4 -0
  473. package/node/hooks/core/useGridRefs.js +22 -0
  474. package/node/hooks/core/useGridTheme.js +29 -0
  475. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
  476. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +65 -159
  477. package/node/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  478. package/node/hooks/features/columns/gridColumnsInterfaces.js +11 -1
  479. package/node/hooks/features/columns/gridColumnsSelector.js +52 -1
  480. package/node/hooks/features/columns/gridColumnsUtils.js +10 -13
  481. package/node/hooks/features/columns/index.js +22 -61
  482. package/node/hooks/features/columns/useGridColumnSpanning.js +62 -61
  483. package/node/hooks/features/columns/useGridColumns.js +20 -22
  484. package/node/hooks/features/dimensions/gridDimensionsSelectors.js +8 -0
  485. package/node/hooks/features/dimensions/index.js +11 -0
  486. package/node/hooks/features/dimensions/useGridDimensions.js +215 -144
  487. package/node/hooks/features/export/serializers/csvSerializer.js +2 -2
  488. package/node/hooks/features/filter/useGridFilter.js +2 -2
  489. package/node/hooks/features/focus/gridFocusStateSelector.js +3 -7
  490. package/node/hooks/features/focus/useGridFocus.js +2 -2
  491. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -15
  492. package/node/hooks/features/pagination/useGridPagination.js +3 -5
  493. package/node/hooks/features/rows/gridRowsSelector.js +2 -2
  494. package/node/hooks/features/rows/gridRowsUtils.js +8 -5
  495. package/node/hooks/features/rows/useGridRowsMeta.js +5 -3
  496. package/node/hooks/features/scroll/useGridScroll.js +8 -9
  497. package/node/hooks/features/sorting/gridSortingUtils.js +1 -1
  498. package/node/hooks/features/sorting/useGridSorting.js +15 -10
  499. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  500. package/node/hooks/features/virtualization/useGridVirtualScroller.js +434 -431
  501. package/node/hooks/features/virtualization/useGridVirtualization.js +9 -1
  502. package/node/hooks/utils/index.js +36 -0
  503. package/node/hooks/utils/useGridAriaAttributes.js +1 -1
  504. package/node/hooks/utils/useGridNativeEventListener.js +3 -9
  505. package/node/hooks/utils/useResizeObserver.js +44 -0
  506. package/node/hooks/utils/useRunOnce.js +27 -0
  507. package/node/index.js +1 -1
  508. package/node/internals/index.js +86 -71
  509. package/node/locales/arSD.js +5 -6
  510. package/node/locales/beBY.js +5 -6
  511. package/node/locales/bgBG.js +5 -6
  512. package/node/locales/csCZ.js +5 -6
  513. package/node/locales/daDK.js +5 -6
  514. package/node/locales/deDE.js +5 -6
  515. package/node/locales/elGR.js +5 -6
  516. package/node/locales/esES.js +5 -6
  517. package/node/locales/faIR.js +5 -6
  518. package/node/locales/fiFI.js +5 -6
  519. package/node/locales/frFR.js +5 -6
  520. package/node/locales/heIL.js +5 -6
  521. package/node/locales/hrHR.js +154 -0
  522. package/node/locales/huHU.js +5 -6
  523. package/node/locales/index.js +33 -0
  524. package/node/locales/itIT.js +5 -6
  525. package/node/locales/jaJP.js +5 -6
  526. package/node/locales/koKR.js +5 -6
  527. package/node/locales/nbNO.js +5 -6
  528. package/node/locales/nlNL.js +5 -6
  529. package/node/locales/plPL.js +5 -6
  530. package/node/locales/ptBR.js +5 -6
  531. package/node/locales/ptPT.js +154 -0
  532. package/node/locales/roRO.js +5 -6
  533. package/node/locales/ruRU.js +5 -6
  534. package/node/locales/skSK.js +5 -6
  535. package/node/locales/svSE.js +5 -6
  536. package/node/locales/trTR.js +5 -6
  537. package/node/locales/ukUA.js +5 -6
  538. package/node/locales/urPK.js +5 -6
  539. package/node/locales/viVN.js +5 -6
  540. package/node/locales/zhCN.js +5 -6
  541. package/node/locales/zhHK.js +154 -0
  542. package/node/locales/zhTW.js +5 -6
  543. package/node/models/index.js +0 -11
  544. package/node/models/params/index.js +0 -11
  545. package/node/utils/utils.js +11 -1
  546. package/package.json +6 -6
  547. package/utils/utils.d.ts +6 -0
  548. package/utils/utils.js +10 -1
  549. package/components/DataGridVirtualScroller.d.ts +0 -3
  550. package/components/DataGridVirtualScroller.js +0 -35
  551. package/components/containers/GridMainContainer.js +0 -43
  552. package/legacy/components/DataGridVirtualScroller.js +0 -32
  553. package/legacy/components/containers/GridMainContainer.js +0 -45
  554. package/legacy/models/gridRootContainerRef.js +0 -1
  555. package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  556. package/models/gridRootContainerRef.d.ts +0 -5
  557. package/models/gridRootContainerRef.js +0 -1
  558. package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +0 -10
  559. package/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  560. package/modern/components/DataGridVirtualScroller.js +0 -35
  561. package/modern/components/containers/GridMainContainer.js +0 -42
  562. package/modern/models/gridRootContainerRef.js +0 -1
  563. package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  564. package/node/components/DataGridVirtualScroller.js +0 -42
  565. package/node/models/gridRootContainerRef.js +0 -5
  566. package/node/models/params/gridRenderedRowsIntervalChangeParams.js +0 -5
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["onClick"];
4
2
  import * as React from 'react';
3
+ import PropTypes from 'prop-types';
5
4
  import { unstable_useId as useId } from '@mui/material/utils';
6
5
  import { useGridSelector } from '../../hooks/utils/useGridSelector';
7
6
  import { gridPreferencePanelStateSelector } from '../../hooks/features/preferencesPanel/gridPreferencePanelSelector';
@@ -9,24 +8,26 @@ import { GridPreferencePanelsValue } from '../../hooks/features/preferencesPanel
9
8
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
10
9
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
11
10
  import { jsx as _jsx } from "react/jsx-runtime";
12
- export const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridToolbarColumnsButton(props, ref) {
13
- var _rootProps$slotProps;
11
+ const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridToolbarColumnsButton(props, ref) {
12
+ var _rootProps$slotProps, _rootProps$slotProps2;
14
13
  const {
15
- onClick
16
- } = props,
17
- other = _objectWithoutPropertiesLoose(props, _excluded);
14
+ slotProps = {}
15
+ } = props;
16
+ const buttonProps = slotProps.button || {};
17
+ const tooltipProps = slotProps.tooltip || {};
18
18
  const columnButtonId = useId();
19
19
  const columnPanelId = useId();
20
20
  const apiRef = useGridApiContext();
21
21
  const rootProps = useGridRootProps();
22
22
  const preferencePanel = useGridSelector(apiRef, gridPreferencePanelStateSelector);
23
23
  const showColumns = event => {
24
+ var _buttonProps$onClick;
24
25
  if (preferencePanel.open && preferencePanel.openedPanelValue === GridPreferencePanelsValue.columns) {
25
26
  apiRef.current.hidePreferences();
26
27
  } else {
27
28
  apiRef.current.showPreferences(GridPreferencePanelsValue.columns, columnPanelId, columnButtonId);
28
29
  }
29
- onClick == null || onClick(event);
30
+ (_buttonProps$onClick = buttonProps.onClick) == null || _buttonProps$onClick.call(buttonProps, event);
30
31
  };
31
32
 
32
33
  // Disable the button if the corresponding is disabled
@@ -34,18 +35,35 @@ export const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function G
34
35
  return null;
35
36
  }
36
37
  const isOpen = preferencePanel.open && preferencePanel.panelId === columnPanelId;
37
- return /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
38
- ref: ref,
39
- id: columnButtonId,
40
- size: "small",
41
- "aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
42
- "aria-haspopup": "menu",
43
- "aria-expanded": isOpen,
44
- "aria-controls": isOpen ? columnPanelId : undefined,
45
- startIcon: /*#__PURE__*/_jsx(rootProps.slots.columnSelectorIcon, {})
46
- }, other, {
47
- onClick: showColumns
48
- }, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseButton, {
49
- children: apiRef.current.getLocaleText('toolbarColumns')
38
+ return /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
39
+ title: apiRef.current.getLocaleText('toolbarColumnsLabel'),
40
+ enterDelay: 1000
41
+ }, tooltipProps, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
42
+ children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
43
+ ref: ref,
44
+ id: columnButtonId,
45
+ size: "small",
46
+ "aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
47
+ "aria-haspopup": "menu",
48
+ "aria-expanded": isOpen,
49
+ "aria-controls": isOpen ? columnPanelId : undefined,
50
+ startIcon: /*#__PURE__*/_jsx(rootProps.slots.columnSelectorIcon, {})
51
+ }, buttonProps, {
52
+ onClick: showColumns
53
+ }, (_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseButton, {
54
+ children: apiRef.current.getLocaleText('toolbarColumns')
55
+ }))
50
56
  }));
51
- });
57
+ });
58
+ process.env.NODE_ENV !== "production" ? GridToolbarColumnsButton.propTypes = {
59
+ // ----------------------------- Warning --------------------------------
60
+ // | These PropTypes are generated from the TypeScript type definitions |
61
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
62
+ // ----------------------------------------------------------------------
63
+ /**
64
+ * The props used for each slot inside.
65
+ * @default {}
66
+ */
67
+ slotProps: PropTypes.object
68
+ } : void 0;
69
+ export { GridToolbarColumnsButton };
@@ -1,3 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { ButtonProps } from '@mui/material/Button';
3
- export declare const GridToolbarDensitySelector: React.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
3
+ import { TooltipProps } from '@mui/material/Tooltip';
4
+ interface GridToolbarDensitySelectorProps {
5
+ /**
6
+ * The props used for each slot inside.
7
+ * @default {}
8
+ */
9
+ slotProps?: {
10
+ button?: Partial<ButtonProps>;
11
+ tooltip?: Partial<TooltipProps>;
12
+ };
13
+ }
14
+ declare const GridToolbarDensitySelector: React.ForwardRefExoticComponent<GridToolbarDensitySelectorProps & React.RefAttributes<HTMLButtonElement>>;
15
+ export { GridToolbarDensitySelector };
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["onClick"];
4
2
  import * as React from 'react';
3
+ import PropTypes from 'prop-types';
5
4
  import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
6
5
  import MenuList from '@mui/material/MenuList';
7
6
  import MenuItem from '@mui/material/MenuItem';
@@ -15,12 +14,13 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
15
14
  import { gridClasses } from '../../constants/gridClasses';
16
15
  import { jsx as _jsx } from "react/jsx-runtime";
17
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
- export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridToolbarDensitySelector(props, ref) {
19
- var _rootProps$slotProps;
17
+ const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridToolbarDensitySelector(props, ref) {
18
+ var _rootProps$slotProps, _rootProps$slotProps2;
20
19
  const {
21
- onClick
22
- } = props,
23
- other = _objectWithoutPropertiesLoose(props, _excluded);
20
+ slotProps = {}
21
+ } = props;
22
+ const buttonProps = slotProps.button || {};
23
+ const tooltipProps = slotProps.tooltip || {};
24
24
  const apiRef = useGridApiContext();
25
25
  const rootProps = useGridRootProps();
26
26
  const densityValue = useGridSelector(apiRef, gridDensityValueSelector);
@@ -53,8 +53,9 @@ export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function
53
53
  }
54
54
  }, [densityValue, rootProps]);
55
55
  const handleDensitySelectorOpen = event => {
56
+ var _buttonProps$onClick;
56
57
  setOpen(prevOpen => !prevOpen);
57
- onClick == null || onClick(event);
58
+ (_buttonProps$onClick = buttonProps.onClick) == null || _buttonProps$onClick.call(buttonProps, event);
58
59
  };
59
60
  const handleDensitySelectorClose = () => {
60
61
  setOpen(false);
@@ -84,19 +85,24 @@ export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function
84
85
  }), option.label]
85
86
  }, index));
86
87
  return /*#__PURE__*/_jsxs(React.Fragment, {
87
- children: [/*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
88
- ref: handleRef,
89
- size: "small",
90
- startIcon: startIcon,
91
- "aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
92
- "aria-haspopup": "menu",
93
- "aria-expanded": open,
94
- "aria-controls": open ? densityMenuId : undefined,
95
- id: densityButtonId
96
- }, other, {
97
- onClick: handleDensitySelectorOpen
98
- }, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseButton, {
99
- children: apiRef.current.getLocaleText('toolbarDensity')
88
+ children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
89
+ title: apiRef.current.getLocaleText('toolbarDensityLabel'),
90
+ enterDelay: 1000
91
+ }, tooltipProps, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
92
+ children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
93
+ ref: handleRef,
94
+ size: "small",
95
+ startIcon: startIcon,
96
+ "aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
97
+ "aria-haspopup": "menu",
98
+ "aria-expanded": open,
99
+ "aria-controls": open ? densityMenuId : undefined,
100
+ id: densityButtonId
101
+ }, buttonProps, {
102
+ onClick: handleDensitySelectorOpen
103
+ }, (_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseButton, {
104
+ children: apiRef.current.getLocaleText('toolbarDensity')
105
+ }))
100
106
  })), /*#__PURE__*/_jsx(GridMenu, {
101
107
  open: open,
102
108
  target: buttonRef.current,
@@ -112,4 +118,16 @@ export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function
112
118
  })
113
119
  })]
114
120
  });
115
- });
121
+ });
122
+ process.env.NODE_ENV !== "production" ? GridToolbarDensitySelector.propTypes = {
123
+ // ----------------------------- Warning --------------------------------
124
+ // | These PropTypes are generated from the TypeScript type definitions |
125
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
126
+ // ----------------------------------------------------------------------
127
+ /**
128
+ * The props used for each slot inside.
129
+ * @default {}
130
+ */
131
+ slotProps: PropTypes.object
132
+ } : void 0;
133
+ export { GridToolbarDensitySelector };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { ButtonProps } from '@mui/material/Button';
3
+ import { TooltipProps } from '@mui/material/Tooltip';
3
4
  import { GridCsvExportOptions, GridPrintExportOptions } from '../../models/gridExport';
4
5
  export interface GridExportDisplayOptions {
5
6
  /**
@@ -14,9 +15,17 @@ export interface GridExportMenuItemProps<Options extends {}> {
14
15
  }
15
16
  export type GridCsvExportMenuItemProps = GridExportMenuItemProps<GridCsvExportOptions>;
16
17
  export type GridPrintExportMenuItemProps = GridExportMenuItemProps<GridPrintExportOptions>;
17
- export interface GridToolbarExportProps extends ButtonProps {
18
+ export interface GridToolbarExportProps {
18
19
  csvOptions?: GridCsvExportOptions & GridExportDisplayOptions;
19
20
  printOptions?: GridPrintExportOptions & GridExportDisplayOptions;
21
+ /**
22
+ * The props used for each slot inside.
23
+ * @default {}
24
+ */
25
+ slotProps?: {
26
+ button?: Partial<ButtonProps>;
27
+ tooltip?: Partial<TooltipProps>;
28
+ };
20
29
  [key: string]: any;
21
30
  }
22
31
  export declare function GridCsvExportMenuItem(props: GridCsvExportMenuItemProps): React.JSX.Element;
@@ -70,6 +70,11 @@ process.env.NODE_ENV !== "production" ? GridToolbarExport.propTypes = {
70
70
  // | To update them edit the TypeScript types and run "yarn proptypes" |
71
71
  // ----------------------------------------------------------------------
72
72
  csvOptions: PropTypes.object,
73
- printOptions: PropTypes.object
73
+ printOptions: PropTypes.object,
74
+ /**
75
+ * The props used for each slot inside.
76
+ * @default {}
77
+ */
78
+ slotProps: PropTypes.object
74
79
  } : void 0;
75
80
  export { GridToolbarExport };
@@ -1,3 +1,17 @@
1
1
  import * as React from 'react';
2
2
  import { ButtonProps } from '@mui/material/Button';
3
- export declare const GridToolbarExportContainer: React.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
3
+ import { TooltipProps } from '@mui/material/Tooltip';
4
+ interface GridToolbarExportContainerProps {
5
+ /**
6
+ * The props used for each slot inside.
7
+ * @default {}
8
+ */
9
+ slotProps?: {
10
+ button?: Partial<ButtonProps>;
11
+ tooltip?: Partial<TooltipProps>;
12
+ };
13
+ }
14
+ declare const GridToolbarExportContainer: React.ForwardRefExoticComponent<GridToolbarExportContainerProps & {
15
+ children?: React.ReactNode;
16
+ } & React.RefAttributes<HTMLButtonElement>>;
17
+ export { GridToolbarExportContainer };
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["children", "onClick"];
4
2
  import * as React from 'react';
3
+ import PropTypes from 'prop-types';
5
4
  import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
6
5
  import MenuList from '@mui/material/MenuList';
7
6
  import { isHideMenuKey, isTabKey } from '../../utils/keyboardUtils';
@@ -11,13 +10,14 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
11
10
  import { gridClasses } from '../../constants/gridClasses';
12
11
  import { jsx as _jsx } from "react/jsx-runtime";
13
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
- export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridToolbarExportContainer(props, ref) {
15
- var _rootProps$slotProps;
13
+ const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridToolbarExportContainer(props, ref) {
14
+ var _rootProps$slotProps, _rootProps$slotProps2;
16
15
  const {
17
- children,
18
- onClick
19
- } = props,
20
- other = _objectWithoutPropertiesLoose(props, _excluded);
16
+ children,
17
+ slotProps = {}
18
+ } = props;
19
+ const buttonProps = slotProps.button || {};
20
+ const tooltipProps = slotProps.tooltip || {};
21
21
  const apiRef = useGridApiContext();
22
22
  const rootProps = useGridRootProps();
23
23
  const exportButtonId = useId();
@@ -26,8 +26,9 @@ export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function
26
26
  const buttonRef = React.useRef(null);
27
27
  const handleRef = useForkRef(ref, buttonRef);
28
28
  const handleMenuOpen = event => {
29
+ var _buttonProps$onClick;
29
30
  setOpen(prevOpen => !prevOpen);
30
- onClick == null || onClick(event);
31
+ (_buttonProps$onClick = buttonProps.onClick) == null || _buttonProps$onClick.call(buttonProps, event);
31
32
  };
32
33
  const handleMenuClose = () => setOpen(false);
33
34
  const handleListKeyDown = event => {
@@ -42,19 +43,24 @@ export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function
42
43
  return null;
43
44
  }
44
45
  return /*#__PURE__*/_jsxs(React.Fragment, {
45
- children: [/*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
46
- ref: handleRef,
47
- size: "small",
48
- startIcon: /*#__PURE__*/_jsx(rootProps.slots.exportIcon, {}),
49
- "aria-expanded": open,
50
- "aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
51
- "aria-haspopup": "menu",
52
- "aria-controls": open ? exportMenuId : undefined,
53
- id: exportButtonId
54
- }, other, {
55
- onClick: handleMenuOpen
56
- }, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseButton, {
57
- children: apiRef.current.getLocaleText('toolbarExport')
46
+ children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
47
+ title: apiRef.current.getLocaleText('toolbarExportLabel'),
48
+ enterDelay: 1000
49
+ }, tooltipProps, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
50
+ children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
51
+ ref: handleRef,
52
+ size: "small",
53
+ startIcon: /*#__PURE__*/_jsx(rootProps.slots.exportIcon, {}),
54
+ "aria-expanded": open,
55
+ "aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
56
+ "aria-haspopup": "menu",
57
+ "aria-controls": open ? exportMenuId : undefined,
58
+ id: exportButtonId
59
+ }, buttonProps, {
60
+ onClick: handleMenuOpen
61
+ }, (_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseButton, {
62
+ children: apiRef.current.getLocaleText('toolbarExport')
63
+ }))
58
64
  })), /*#__PURE__*/_jsx(GridMenu, {
59
65
  open: open,
60
66
  target: buttonRef.current,
@@ -77,4 +83,16 @@ export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function
77
83
  })
78
84
  })]
79
85
  });
80
- });
86
+ });
87
+ process.env.NODE_ENV !== "production" ? GridToolbarExportContainer.propTypes = {
88
+ // ----------------------------- Warning --------------------------------
89
+ // | These PropTypes are generated from the TypeScript type definitions |
90
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
91
+ // ----------------------------------------------------------------------
92
+ /**
93
+ * The props used for each slot inside.
94
+ * @default {}
95
+ */
96
+ slotProps: PropTypes.object
97
+ } : void 0;
98
+ export { GridToolbarExportContainer };
@@ -1,14 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { ButtonProps } from '@mui/material/Button';
3
3
  import { TooltipProps } from '@mui/material/Tooltip';
4
- export interface GridToolbarFilterButtonProps extends Omit<TooltipProps, 'title' | 'children' | 'componentsProps'> {
4
+ export interface GridToolbarFilterButtonProps {
5
5
  /**
6
6
  * The props used for each slot inside.
7
7
  * @default {}
8
8
  */
9
- componentsProps?: {
10
- button?: ButtonProps;
9
+ slotProps?: {
10
+ button?: Partial<ButtonProps>;
11
+ tooltip?: Partial<TooltipProps>;
11
12
  };
12
13
  }
13
- declare const GridToolbarFilterButton: React.ForwardRefExoticComponent<Omit<GridToolbarFilterButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
14
+ declare const GridToolbarFilterButton: React.ForwardRefExoticComponent<GridToolbarFilterButtonProps & React.RefAttributes<HTMLButtonElement>>;
14
15
  export { GridToolbarFilterButton };
@@ -1,6 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["componentsProps"];
4
2
  import * as React from 'react';
5
3
  import PropTypes from 'prop-types';
6
4
  import { styled } from '@mui/material/styles';
@@ -38,10 +36,10 @@ const GridToolbarFilterListRoot = styled('ul', {
38
36
  const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolbarFilterButton(props, ref) {
39
37
  var _rootProps$slotProps, _rootProps$slotProps2;
40
38
  const {
41
- componentsProps = {}
42
- } = props,
43
- other = _objectWithoutPropertiesLoose(props, _excluded);
44
- const buttonProps = componentsProps.button || {};
39
+ slotProps = {}
40
+ } = props;
41
+ const buttonProps = slotProps.button || {};
42
+ const tooltipProps = slotProps.tooltip || {};
45
43
  const apiRef = useGridApiContext();
46
44
  const rootProps = useGridRootProps();
47
45
  const activeFilters = useGridSelector(apiRef, gridFilterActiveItemsSelector);
@@ -100,7 +98,7 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
100
98
  return /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
101
99
  title: tooltipContentNode,
102
100
  enterDelay: 1000
103
- }, other, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
101
+ }, tooltipProps, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
104
102
  children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
105
103
  ref: ref,
106
104
  id: filterButtonId,
@@ -130,8 +128,6 @@ process.env.NODE_ENV !== "production" ? GridToolbarFilterButton.propTypes = {
130
128
  * The props used for each slot inside.
131
129
  * @default {}
132
130
  */
133
- componentsProps: PropTypes.shape({
134
- button: PropTypes.object
135
- })
131
+ slotProps: PropTypes.object
136
132
  } : void 0;
137
133
  export { GridToolbarFilterButton };
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare function GridBottomContainer(props: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
@@ -0,0 +1,25 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import * as React from 'react';
3
+ import clsx from 'clsx';
4
+ import { styled } from '@mui/system';
5
+ import { unstable_composeClasses as composeClasses } from '@mui/utils';
6
+ import { gridClasses, getDataGridUtilityClass } from '../../constants/gridClasses';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ const useUtilityClasses = () => {
9
+ const slots = {
10
+ root: ['bottomContainer']
11
+ };
12
+ return composeClasses(slots, getDataGridUtilityClass, {});
13
+ };
14
+ const Element = styled('div')({
15
+ position: 'sticky',
16
+ zIndex: 2,
17
+ bottom: 'calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))'
18
+ });
19
+ export function GridBottomContainer(props) {
20
+ const classes = useUtilityClasses();
21
+ return /*#__PURE__*/_jsx(Element, _extends({}, props, {
22
+ className: clsx(classes.root, props.className, gridClasses['container--bottom']),
23
+ role: "presentation"
24
+ }));
25
+ }
@@ -1,4 +1,6 @@
1
1
  import * as React from 'react';
2
2
  export declare const GridMainContainer: React.ForwardRefExoticComponent<{
3
+ className: string;
4
+ } & {
3
5
  children?: React.ReactNode;
4
6
  } & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,20 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import * as React from 'react';
3
+ import { styled } from '@mui/system';
4
+ import { useGridAriaAttributes } from '../../hooks/utils/useGridAriaAttributes';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const Element = styled('div')({
7
+ flexGrow: 1,
8
+ position: 'relative',
9
+ overflow: 'hidden'
10
+ });
11
+ export const GridMainContainer = /*#__PURE__*/React.forwardRef((props, ref) => {
12
+ const ariaAttributes = useGridAriaAttributes();
13
+ return /*#__PURE__*/_jsx(Element, _extends({
14
+ ref: ref,
15
+ className: props.className,
16
+ tabIndex: -1
17
+ }, ariaAttributes, {
18
+ children: props.children
19
+ }));
20
+ });
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare function GridTopContainer(props: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
@@ -0,0 +1,35 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import * as React from 'react';
3
+ import clsx from 'clsx';
4
+ import { styled } from '@mui/system';
5
+ import { unstable_composeClasses as composeClasses } from '@mui/utils';
6
+ import { gridClasses, getDataGridUtilityClass } from '../../constants/gridClasses';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ const useUtilityClasses = () => {
9
+ const slots = {
10
+ root: ['topContainer']
11
+ };
12
+ return composeClasses(slots, getDataGridUtilityClass, {});
13
+ };
14
+ const Element = styled('div')({
15
+ position: 'sticky',
16
+ zIndex: 2,
17
+ top: 0,
18
+ '&::after': {
19
+ content: '" "',
20
+ position: 'absolute',
21
+ zIndex: 5,
22
+ bottom: 0,
23
+ left: 0,
24
+ height: 1,
25
+ width: 'var(--DataGrid-rowWidth)',
26
+ backgroundColor: 'var(--DataGrid-rowBorderColor)'
27
+ }
28
+ });
29
+ export function GridTopContainer(props) {
30
+ const classes = useUtilityClasses();
31
+ return /*#__PURE__*/_jsx(Element, _extends({}, props, {
32
+ className: clsx(classes.root, props.className, gridClasses['container--top']),
33
+ role: "presentation"
34
+ }));
35
+ }
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ type Position = 'vertical' | 'horizontal';
3
+ type GridVirtualScrollbarProps = {
4
+ position: Position;
5
+ };
6
+ declare const GridVirtualScrollbar: React.ForwardRefExoticComponent<GridVirtualScrollbarProps & React.RefAttributes<HTMLDivElement>>;
7
+ export { GridVirtualScrollbar };