@mui/x-data-grid 7.0.0-alpha.8 → 7.0.0-alpha.9

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 (410) hide show
  1. package/CHANGELOG.md +379 -2
  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 +1 -1
  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 +260 -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/containers/GridRoot.js +18 -15
  31. package/components/containers/GridRootStyles.js +307 -204
  32. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  33. package/components/panel/GridPanel.js +3 -4
  34. package/components/panel/filterPanel/GridFilterForm.d.ts +6 -4
  35. package/components/panel/filterPanel/GridFilterForm.js +31 -14
  36. package/components/panel/filterPanel/GridFilterPanel.js +46 -20
  37. package/components/toolbar/GridToolbarColumnsButton.d.ts +13 -1
  38. package/components/toolbar/GridToolbarColumnsButton.js +40 -22
  39. package/components/toolbar/GridToolbarDensitySelector.d.ts +13 -1
  40. package/components/toolbar/GridToolbarDensitySelector.js +40 -22
  41. package/components/toolbar/GridToolbarExport.d.ts +10 -1
  42. package/components/toolbar/GridToolbarExport.js +6 -1
  43. package/components/toolbar/GridToolbarExportContainer.d.ts +15 -1
  44. package/components/toolbar/GridToolbarExportContainer.js +41 -23
  45. package/components/toolbar/GridToolbarFilterButton.d.ts +5 -4
  46. package/components/toolbar/GridToolbarFilterButton.js +6 -10
  47. package/components/virtualization/GridBottomContainer.d.ts +2 -0
  48. package/components/virtualization/GridBottomContainer.js +25 -0
  49. package/components/{containers → virtualization}/GridMainContainer.d.ts +2 -0
  50. package/components/virtualization/GridMainContainer.js +20 -0
  51. package/components/virtualization/GridTopContainer.d.ts +2 -0
  52. package/components/virtualization/GridTopContainer.js +35 -0
  53. package/components/virtualization/GridVirtualScrollbar.d.ts +7 -0
  54. package/components/virtualization/GridVirtualScrollbar.js +131 -0
  55. package/components/virtualization/GridVirtualScroller.d.ts +4 -4
  56. package/components/virtualization/GridVirtualScroller.js +69 -16
  57. package/components/virtualization/GridVirtualScrollerFiller.d.ts +4 -0
  58. package/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  59. package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  60. package/constants/defaultGridSlotsComponents.js +6 -2
  61. package/constants/gridClasses.d.ts +60 -8
  62. package/constants/gridClasses.js +1 -1
  63. package/hooks/core/gridCoreSelector.d.ts +6 -0
  64. package/hooks/core/gridCoreSelector.js +5 -0
  65. package/hooks/core/useGridInitialization.js +4 -0
  66. package/hooks/core/useGridRefs.d.ts +3 -0
  67. package/hooks/core/useGridRefs.js +13 -0
  68. package/hooks/core/useGridTheme.d.ts +3 -0
  69. package/hooks/core/useGridTheme.js +19 -0
  70. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
  71. package/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
  72. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +13 -18
  73. package/hooks/features/columnHeaders/useGridColumnHeaders.js +68 -162
  74. package/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  75. package/hooks/features/columns/gridColumnsInterfaces.d.ts +17 -0
  76. package/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  77. package/hooks/features/columns/gridColumnsSelector.d.ts +14 -1
  78. package/hooks/features/columns/gridColumnsSelector.js +52 -0
  79. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -5
  80. package/hooks/features/columns/gridColumnsUtils.js +10 -12
  81. package/hooks/features/columns/index.d.ts +2 -2
  82. package/hooks/features/columns/index.js +2 -1
  83. package/hooks/features/columns/useGridColumnSpanning.js +62 -61
  84. package/hooks/features/columns/useGridColumns.js +20 -23
  85. package/hooks/features/dimensions/gridDimensionsApi.d.ts +60 -11
  86. package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +2 -0
  87. package/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  88. package/hooks/features/dimensions/index.d.ts +2 -0
  89. package/hooks/features/dimensions/index.js +1 -0
  90. package/hooks/features/dimensions/useGridDimensions.d.ts +7 -1
  91. package/hooks/features/dimensions/useGridDimensions.js +216 -148
  92. package/hooks/features/export/serializers/csvSerializer.js +2 -2
  93. package/hooks/features/filter/useGridFilter.js +3 -3
  94. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -2
  95. package/hooks/features/focus/gridFocusStateSelector.js +2 -6
  96. package/hooks/features/focus/useGridFocus.js +3 -3
  97. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  98. package/hooks/features/pagination/useGridPagination.js +3 -5
  99. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -0
  100. package/hooks/features/rows/gridRowsSelector.d.ts +2 -2
  101. package/hooks/features/rows/gridRowsSelector.js +5 -5
  102. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  103. package/hooks/features/rows/gridRowsUtils.js +4 -4
  104. package/hooks/features/rows/useGridRowsMeta.js +7 -4
  105. package/hooks/features/scroll/useGridScroll.js +8 -10
  106. package/hooks/features/sorting/gridSortingUtils.js +1 -1
  107. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  108. package/hooks/features/sorting/useGridSorting.js +15 -10
  109. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +14 -0
  110. package/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  111. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +27 -42
  112. package/hooks/features/virtualization/useGridVirtualScroller.js +441 -438
  113. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  114. package/hooks/features/virtualization/useGridVirtualization.js +8 -1
  115. package/hooks/utils/index.d.ts +3 -0
  116. package/hooks/utils/index.js +4 -1
  117. package/hooks/utils/useGridAriaAttributes.js +1 -2
  118. package/hooks/utils/useGridNativeEventListener.js +4 -9
  119. package/hooks/utils/useResizeObserver.d.ts +2 -0
  120. package/hooks/utils/useResizeObserver.js +36 -0
  121. package/hooks/utils/useRunOnce.d.ts +5 -0
  122. package/hooks/utils/useRunOnce.js +18 -0
  123. package/index.js +1 -1
  124. package/internals/index.d.ts +12 -9
  125. package/internals/index.js +9 -7
  126. package/legacy/DataGrid/DataGrid.js +6 -6
  127. package/legacy/DataGrid/useDataGridComponent.js +2 -1
  128. package/legacy/DataGrid/useDataGridProps.js +1 -0
  129. package/legacy/components/GridColumnHeaders.js +3 -11
  130. package/legacy/components/GridDetailPanels.js +4 -0
  131. package/legacy/components/GridHeaders.js +53 -0
  132. package/legacy/components/GridPinnedRows.js +4 -0
  133. package/legacy/components/GridRow.js +258 -98
  134. package/legacy/components/GridScrollbarFillerCell.js +36 -0
  135. package/legacy/components/base/GridBody.js +2 -114
  136. package/legacy/components/base/GridOverlays.js +10 -25
  137. package/legacy/components/cell/GridCell.js +69 -377
  138. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  139. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  140. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  141. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  142. package/legacy/components/containers/GridRoot.js +18 -15
  143. package/legacy/components/containers/GridRootStyles.js +215 -137
  144. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  145. package/legacy/components/panel/GridPanel.js +3 -4
  146. package/legacy/components/panel/filterPanel/GridFilterForm.js +30 -13
  147. package/legacy/components/panel/filterPanel/GridFilterPanel.js +49 -20
  148. package/legacy/components/toolbar/GridToolbarColumnsButton.js +40 -21
  149. package/legacy/components/toolbar/GridToolbarDensitySelector.js +40 -21
  150. package/legacy/components/toolbar/GridToolbarExport.js +6 -1
  151. package/legacy/components/toolbar/GridToolbarExportContainer.js +40 -21
  152. package/legacy/components/toolbar/GridToolbarFilterButton.js +6 -10
  153. package/legacy/components/virtualization/GridBottomContainer.js +25 -0
  154. package/legacy/components/virtualization/GridMainContainer.js +20 -0
  155. package/legacy/components/virtualization/GridTopContainer.js +35 -0
  156. package/legacy/components/virtualization/GridVirtualScrollbar.js +129 -0
  157. package/legacy/components/virtualization/GridVirtualScroller.js +67 -16
  158. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +70 -0
  159. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  160. package/legacy/constants/defaultGridSlotsComponents.js +6 -2
  161. package/legacy/constants/gridClasses.js +1 -1
  162. package/legacy/hooks/core/gridCoreSelector.js +7 -0
  163. package/legacy/hooks/core/useGridInitialization.js +4 -0
  164. package/legacy/hooks/core/useGridRefs.js +13 -0
  165. package/legacy/hooks/core/useGridTheme.js +21 -0
  166. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
  167. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +69 -181
  168. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  169. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  170. package/legacy/hooks/features/columns/gridColumnsSelector.js +62 -0
  171. package/legacy/hooks/features/columns/gridColumnsUtils.js +10 -16
  172. package/legacy/hooks/features/columns/index.js +2 -1
  173. package/legacy/hooks/features/columns/useGridColumnSpanning.js +60 -59
  174. package/legacy/hooks/features/columns/useGridColumns.js +22 -23
  175. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +3 -0
  176. package/legacy/hooks/features/dimensions/index.js +1 -0
  177. package/legacy/hooks/features/dimensions/useGridDimensions.js +226 -151
  178. package/legacy/hooks/features/export/serializers/csvSerializer.js +2 -2
  179. package/legacy/hooks/features/filter/useGridFilter.js +3 -3
  180. package/legacy/hooks/features/focus/gridFocusStateSelector.js +2 -6
  181. package/legacy/hooks/features/focus/useGridFocus.js +3 -3
  182. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  183. package/legacy/hooks/features/pagination/useGridPagination.js +3 -5
  184. package/legacy/hooks/features/rows/gridRowsSelector.js +5 -5
  185. package/legacy/hooks/features/rows/gridRowsUtils.js +4 -4
  186. package/legacy/hooks/features/rows/useGridRowsMeta.js +7 -4
  187. package/legacy/hooks/features/scroll/useGridScroll.js +8 -10
  188. package/legacy/hooks/features/sorting/gridSortingUtils.js +1 -1
  189. package/legacy/hooks/features/sorting/useGridSorting.js +15 -10
  190. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +29 -1
  191. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +490 -483
  192. package/legacy/hooks/features/virtualization/useGridVirtualization.js +8 -1
  193. package/legacy/hooks/utils/index.js +4 -1
  194. package/legacy/hooks/utils/useGridAriaAttributes.js +1 -2
  195. package/legacy/hooks/utils/useGridNativeEventListener.js +4 -9
  196. package/legacy/hooks/utils/useResizeObserver.js +36 -0
  197. package/legacy/hooks/utils/useRunOnce.js +18 -0
  198. package/legacy/index.js +1 -1
  199. package/legacy/internals/index.js +9 -7
  200. package/legacy/locales/hrHR.js +161 -0
  201. package/legacy/locales/index.js +4 -1
  202. package/legacy/locales/ptPT.js +161 -0
  203. package/legacy/locales/zhHK.js +161 -0
  204. package/legacy/models/index.js +0 -1
  205. package/legacy/models/params/index.js +1 -2
  206. package/legacy/utils/utils.js +10 -1
  207. package/locales/hrHR.d.ts +1 -0
  208. package/locales/hrHR.js +149 -0
  209. package/locales/index.d.ts +3 -0
  210. package/locales/index.js +4 -1
  211. package/locales/ptPT.d.ts +1 -0
  212. package/locales/ptPT.js +149 -0
  213. package/locales/zhHK.d.ts +1 -0
  214. package/locales/zhHK.js +149 -0
  215. package/models/api/gridColumnGroupingApi.d.ts +2 -2
  216. package/models/api/gridCoreApi.d.ts +16 -16
  217. package/models/api/gridRowsMetaApi.d.ts +1 -1
  218. package/models/api/gridVirtualizationApi.d.ts +2 -3
  219. package/models/events/gridEventLookup.d.ts +3 -3
  220. package/models/gridFilterModel.d.ts +1 -1
  221. package/models/gridSlotsComponent.d.ts +16 -2
  222. package/models/gridStateCommunity.d.ts +5 -1
  223. package/models/index.d.ts +0 -1
  224. package/models/index.js +0 -1
  225. package/models/params/index.d.ts +0 -1
  226. package/models/params/index.js +1 -2
  227. package/models/props/DataGridProps.d.ts +6 -11
  228. package/modern/DataGrid/DataGrid.js +6 -6
  229. package/modern/DataGrid/useDataGridComponent.js +2 -1
  230. package/modern/DataGrid/useDataGridProps.js +1 -0
  231. package/modern/components/GridColumnHeaders.js +3 -11
  232. package/modern/components/GridDetailPanels.js +4 -0
  233. package/modern/components/GridHeaders.js +53 -0
  234. package/modern/components/GridPinnedRows.js +4 -0
  235. package/modern/components/GridRow.js +258 -96
  236. package/modern/components/GridScrollbarFillerCell.js +39 -0
  237. package/modern/components/base/GridBody.js +2 -116
  238. package/modern/components/base/GridOverlays.js +10 -16
  239. package/modern/components/cell/GridCell.js +65 -369
  240. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  241. package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  242. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  243. package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  244. package/modern/components/containers/GridRoot.js +18 -14
  245. package/modern/components/containers/GridRootStyles.js +307 -204
  246. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  247. package/modern/components/panel/GridPanel.js +3 -4
  248. package/modern/components/panel/filterPanel/GridFilterForm.js +30 -13
  249. package/modern/components/panel/filterPanel/GridFilterPanel.js +46 -20
  250. package/modern/components/toolbar/GridToolbarColumnsButton.js +38 -21
  251. package/modern/components/toolbar/GridToolbarDensitySelector.js +38 -21
  252. package/modern/components/toolbar/GridToolbarExport.js +6 -1
  253. package/modern/components/toolbar/GridToolbarExportContainer.js +39 -22
  254. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -10
  255. package/modern/components/virtualization/GridBottomContainer.js +25 -0
  256. package/modern/components/virtualization/GridMainContainer.js +20 -0
  257. package/modern/components/virtualization/GridTopContainer.js +35 -0
  258. package/modern/components/virtualization/GridVirtualScrollbar.js +131 -0
  259. package/modern/components/virtualization/GridVirtualScroller.js +69 -16
  260. package/modern/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  261. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  262. package/modern/constants/defaultGridSlotsComponents.js +6 -2
  263. package/modern/constants/gridClasses.js +1 -1
  264. package/modern/hooks/core/gridCoreSelector.js +5 -0
  265. package/modern/hooks/core/useGridInitialization.js +4 -0
  266. package/modern/hooks/core/useGridRefs.js +13 -0
  267. package/modern/hooks/core/useGridTheme.js +19 -0
  268. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
  269. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +67 -160
  270. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  271. package/modern/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  272. package/modern/hooks/features/columns/gridColumnsSelector.js +51 -0
  273. package/modern/hooks/features/columns/gridColumnsUtils.js +10 -12
  274. package/modern/hooks/features/columns/index.js +2 -1
  275. package/modern/hooks/features/columns/useGridColumnSpanning.js +62 -61
  276. package/modern/hooks/features/columns/useGridColumns.js +19 -21
  277. package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  278. package/modern/hooks/features/dimensions/index.js +1 -0
  279. package/modern/hooks/features/dimensions/useGridDimensions.js +214 -146
  280. package/modern/hooks/features/export/serializers/csvSerializer.js +2 -2
  281. package/modern/hooks/features/filter/useGridFilter.js +3 -3
  282. package/modern/hooks/features/focus/gridFocusStateSelector.js +2 -6
  283. package/modern/hooks/features/focus/useGridFocus.js +3 -3
  284. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  285. package/modern/hooks/features/pagination/useGridPagination.js +3 -5
  286. package/modern/hooks/features/rows/gridRowsSelector.js +2 -2
  287. package/modern/hooks/features/rows/gridRowsUtils.js +4 -4
  288. package/modern/hooks/features/rows/useGridRowsMeta.js +7 -4
  289. package/modern/hooks/features/scroll/useGridScroll.js +8 -9
  290. package/modern/hooks/features/sorting/gridSortingUtils.js +1 -1
  291. package/modern/hooks/features/sorting/useGridSorting.js +15 -10
  292. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  293. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +435 -432
  294. package/modern/hooks/features/virtualization/useGridVirtualization.js +8 -1
  295. package/modern/hooks/utils/index.js +4 -1
  296. package/modern/hooks/utils/useGridAriaAttributes.js +1 -1
  297. package/modern/hooks/utils/useGridNativeEventListener.js +3 -9
  298. package/modern/hooks/utils/useResizeObserver.js +36 -0
  299. package/modern/hooks/utils/useRunOnce.js +18 -0
  300. package/modern/index.js +1 -1
  301. package/modern/internals/index.js +9 -7
  302. package/modern/locales/hrHR.js +149 -0
  303. package/modern/locales/index.js +4 -1
  304. package/modern/locales/ptPT.js +149 -0
  305. package/modern/locales/zhHK.js +149 -0
  306. package/modern/models/index.js +0 -1
  307. package/modern/models/params/index.js +1 -2
  308. package/modern/utils/utils.js +10 -1
  309. package/node/DataGrid/DataGrid.js +6 -6
  310. package/node/DataGrid/useDataGridComponent.js +1 -0
  311. package/node/DataGrid/useDataGridProps.js +1 -0
  312. package/node/components/GridColumnHeaders.js +3 -11
  313. package/node/components/GridDetailPanels.js +10 -0
  314. package/node/components/GridHeaders.js +60 -0
  315. package/node/components/GridPinnedRows.js +10 -0
  316. package/node/components/GridRow.js +256 -94
  317. package/node/components/GridScrollbarFillerCell.js +47 -0
  318. package/node/components/base/GridBody.js +7 -118
  319. package/node/components/base/GridOverlays.js +9 -15
  320. package/node/components/cell/GridCell.js +66 -369
  321. package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  322. package/node/components/columnHeaders/GridColumnHeaderItem.js +8 -4
  323. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  324. package/node/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  325. package/node/components/containers/GridRoot.js +17 -14
  326. package/node/components/containers/GridRootStyles.js +175 -72
  327. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  328. package/node/components/panel/GridPanel.js +3 -4
  329. package/node/components/panel/filterPanel/GridFilterForm.js +29 -12
  330. package/node/components/panel/filterPanel/GridFilterPanel.js +45 -19
  331. package/node/components/toolbar/GridToolbarColumnsButton.js +36 -20
  332. package/node/components/toolbar/GridToolbarDensitySelector.js +36 -20
  333. package/node/components/toolbar/GridToolbarExport.js +6 -1
  334. package/node/components/toolbar/GridToolbarExportContainer.js +37 -21
  335. package/node/components/toolbar/GridToolbarFilterButton.js +6 -10
  336. package/node/components/virtualization/GridBottomContainer.js +34 -0
  337. package/node/components/{containers → virtualization}/GridMainContainer.js +7 -29
  338. package/node/components/virtualization/GridTopContainer.js +44 -0
  339. package/node/components/virtualization/GridVirtualScrollbar.js +138 -0
  340. package/node/components/virtualization/GridVirtualScroller.js +69 -17
  341. package/node/components/virtualization/GridVirtualScrollerFiller.js +77 -0
  342. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  343. package/node/constants/defaultGridSlotsComponents.js +5 -1
  344. package/node/constants/gridClasses.js +1 -1
  345. package/node/hooks/core/gridCoreSelector.js +12 -0
  346. package/node/hooks/core/useGridInitialization.js +4 -0
  347. package/node/hooks/core/useGridRefs.js +22 -0
  348. package/node/hooks/core/useGridTheme.js +29 -0
  349. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
  350. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +65 -159
  351. package/node/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  352. package/node/hooks/features/columns/gridColumnsInterfaces.js +11 -1
  353. package/node/hooks/features/columns/gridColumnsSelector.js +52 -1
  354. package/node/hooks/features/columns/gridColumnsUtils.js +10 -13
  355. package/node/hooks/features/columns/index.js +22 -61
  356. package/node/hooks/features/columns/useGridColumnSpanning.js +62 -61
  357. package/node/hooks/features/columns/useGridColumns.js +20 -22
  358. package/node/hooks/features/dimensions/gridDimensionsSelectors.js +8 -0
  359. package/node/hooks/features/dimensions/index.js +11 -0
  360. package/node/hooks/features/dimensions/useGridDimensions.js +215 -144
  361. package/node/hooks/features/export/serializers/csvSerializer.js +2 -2
  362. package/node/hooks/features/filter/useGridFilter.js +2 -2
  363. package/node/hooks/features/focus/gridFocusStateSelector.js +3 -7
  364. package/node/hooks/features/focus/useGridFocus.js +2 -2
  365. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -15
  366. package/node/hooks/features/pagination/useGridPagination.js +3 -5
  367. package/node/hooks/features/rows/gridRowsSelector.js +2 -2
  368. package/node/hooks/features/rows/gridRowsUtils.js +4 -4
  369. package/node/hooks/features/rows/useGridRowsMeta.js +5 -3
  370. package/node/hooks/features/scroll/useGridScroll.js +8 -9
  371. package/node/hooks/features/sorting/gridSortingUtils.js +1 -1
  372. package/node/hooks/features/sorting/useGridSorting.js +15 -10
  373. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  374. package/node/hooks/features/virtualization/useGridVirtualScroller.js +434 -431
  375. package/node/hooks/features/virtualization/useGridVirtualization.js +9 -1
  376. package/node/hooks/utils/index.js +36 -0
  377. package/node/hooks/utils/useGridAriaAttributes.js +1 -1
  378. package/node/hooks/utils/useGridNativeEventListener.js +3 -9
  379. package/node/hooks/utils/useResizeObserver.js +44 -0
  380. package/node/hooks/utils/useRunOnce.js +27 -0
  381. package/node/index.js +1 -1
  382. package/node/internals/index.js +86 -71
  383. package/node/locales/hrHR.js +155 -0
  384. package/node/locales/index.js +33 -0
  385. package/node/locales/ptPT.js +155 -0
  386. package/node/locales/zhHK.js +155 -0
  387. package/node/models/index.js +0 -11
  388. package/node/models/params/index.js +0 -11
  389. package/node/utils/utils.js +11 -1
  390. package/package.json +6 -6
  391. package/utils/utils.d.ts +6 -0
  392. package/utils/utils.js +10 -1
  393. package/components/DataGridVirtualScroller.d.ts +0 -3
  394. package/components/DataGridVirtualScroller.js +0 -35
  395. package/components/containers/GridMainContainer.js +0 -43
  396. package/legacy/components/DataGridVirtualScroller.js +0 -32
  397. package/legacy/components/containers/GridMainContainer.js +0 -45
  398. package/legacy/models/gridRootContainerRef.js +0 -1
  399. package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  400. package/models/gridRootContainerRef.d.ts +0 -5
  401. package/models/gridRootContainerRef.js +0 -1
  402. package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +0 -10
  403. package/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  404. package/modern/components/DataGridVirtualScroller.js +0 -35
  405. package/modern/components/containers/GridMainContainer.js +0 -42
  406. package/modern/models/gridRootContainerRef.js +0 -1
  407. package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  408. package/node/components/DataGridVirtualScroller.js +0 -42
  409. package/node/models/gridRootContainerRef.js +0 -5
  410. package/node/models/params/gridRenderedRowsIntervalChangeParams.js +0 -5
@@ -7,67 +7,10 @@ import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
7
7
  */
8
8
  export const useGridColumnSpanning = apiRef => {
9
9
  const lookup = React.useRef({});
10
- const setCellColSpanInfo = React.useCallback((rowId, columnIndex, cellColSpanInfo) => {
11
- const sizes = lookup.current;
12
- if (!sizes[rowId]) {
13
- sizes[rowId] = {};
14
- }
15
- sizes[rowId][columnIndex] = cellColSpanInfo;
16
- }, []);
17
- const getCellColSpanInfo = React.useCallback((rowId, columnIndex) => {
10
+ const getCellColSpanInfo = (rowId, columnIndex) => {
18
11
  var _lookup$current$rowId;
19
12
  return (_lookup$current$rowId = lookup.current[rowId]) == null ? void 0 : _lookup$current$rowId[columnIndex];
20
- }, []);
21
-
22
- // Calculate `colSpan` for the cell.
23
- const calculateCellColSpan = React.useCallback(params => {
24
- const {
25
- columnIndex,
26
- rowId,
27
- minFirstColumnIndex,
28
- maxLastColumnIndex,
29
- columns
30
- } = params;
31
- const columnsLength = columns.length;
32
- const column = columns[columnIndex];
33
- const colSpan = typeof column.colSpan === 'function' ? column.colSpan(apiRef.current.getCellParams(rowId, column.field)) : column.colSpan;
34
- if (!colSpan || colSpan === 1) {
35
- setCellColSpanInfo(rowId, columnIndex, {
36
- spannedByColSpan: false,
37
- cellProps: {
38
- colSpan: 1,
39
- width: column.computedWidth
40
- }
41
- });
42
- return {
43
- colSpan: 1
44
- };
45
- }
46
- let width = column.computedWidth;
47
- for (let j = 1; j < colSpan; j += 1) {
48
- const nextColumnIndex = columnIndex + j;
49
- // Cells should be spanned only within their column section (left-pinned, right-pinned and unpinned).
50
- if (nextColumnIndex >= minFirstColumnIndex && nextColumnIndex < maxLastColumnIndex) {
51
- const nextColumn = columns[nextColumnIndex];
52
- width += nextColumn.computedWidth;
53
- setCellColSpanInfo(rowId, columnIndex + j, {
54
- spannedByColSpan: true,
55
- rightVisibleCellIndex: Math.min(columnIndex + colSpan, columnsLength - 1),
56
- leftVisibleCellIndex: columnIndex
57
- });
58
- }
59
- setCellColSpanInfo(rowId, columnIndex, {
60
- spannedByColSpan: false,
61
- cellProps: {
62
- colSpan,
63
- width
64
- }
65
- });
66
- }
67
- return {
68
- colSpan
69
- };
70
- }, [apiRef, setCellColSpanInfo]);
13
+ };
71
14
 
72
15
  // Calculate `colSpan` for each cell in the row
73
16
  const calculateColSpan = React.useCallback(({
@@ -78,6 +21,8 @@ export const useGridColumnSpanning = apiRef => {
78
21
  }) => {
79
22
  for (let i = minFirstColumn; i < maxLastColumn; i += 1) {
80
23
  const cellProps = calculateCellColSpan({
24
+ apiRef,
25
+ lookup: lookup.current,
81
26
  columnIndex: i,
82
27
  rowId,
83
28
  minFirstColumnIndex: minFirstColumn,
@@ -88,7 +33,7 @@ export const useGridColumnSpanning = apiRef => {
88
33
  i += cellProps.colSpan - 1;
89
34
  }
90
35
  }
91
- }, [calculateCellColSpan]);
36
+ }, [apiRef]);
92
37
  const columnSpanningPublicApi = {
93
38
  unstable_getCellColSpanInfo: getCellColSpanInfo
94
39
  };
@@ -102,4 +47,60 @@ export const useGridColumnSpanning = apiRef => {
102
47
  lookup.current = {};
103
48
  }, []);
104
49
  useGridApiEventHandler(apiRef, 'columnOrderChange', handleColumnReorderChange);
105
- };
50
+ };
51
+ function calculateCellColSpan(params) {
52
+ const {
53
+ apiRef,
54
+ lookup,
55
+ columnIndex,
56
+ rowId,
57
+ minFirstColumnIndex,
58
+ maxLastColumnIndex,
59
+ columns
60
+ } = params;
61
+ const columnsLength = columns.length;
62
+ const column = columns[columnIndex];
63
+ const colSpan = typeof column.colSpan === 'function' ? column.colSpan(apiRef.current.getCellParams(rowId, column.field)) : column.colSpan;
64
+ if (!colSpan || colSpan === 1) {
65
+ setCellColSpanInfo(lookup, rowId, columnIndex, {
66
+ spannedByColSpan: false,
67
+ cellProps: {
68
+ colSpan: 1,
69
+ width: column.computedWidth
70
+ }
71
+ });
72
+ return {
73
+ colSpan: 1
74
+ };
75
+ }
76
+ let width = column.computedWidth;
77
+ for (let j = 1; j < colSpan; j += 1) {
78
+ const nextColumnIndex = columnIndex + j;
79
+ // Cells should be spanned only within their column section (left-pinned, right-pinned and unpinned).
80
+ if (nextColumnIndex >= minFirstColumnIndex && nextColumnIndex < maxLastColumnIndex) {
81
+ const nextColumn = columns[nextColumnIndex];
82
+ width += nextColumn.computedWidth;
83
+ setCellColSpanInfo(lookup, rowId, columnIndex + j, {
84
+ spannedByColSpan: true,
85
+ rightVisibleCellIndex: Math.min(columnIndex + colSpan, columnsLength - 1),
86
+ leftVisibleCellIndex: columnIndex
87
+ });
88
+ }
89
+ setCellColSpanInfo(lookup, rowId, columnIndex, {
90
+ spannedByColSpan: false,
91
+ cellProps: {
92
+ colSpan,
93
+ width
94
+ }
95
+ });
96
+ }
97
+ return {
98
+ colSpan
99
+ };
100
+ }
101
+ function setCellColSpanInfo(lookup, rowId, columnIndex, cellColSpanInfo) {
102
+ if (!lookup[rowId]) {
103
+ lookup[rowId] = {};
104
+ }
105
+ lookup[rowId][columnIndex] = cellColSpanInfo;
106
+ }
@@ -5,23 +5,24 @@ import { useGridLogger } from '../../utils/useGridLogger';
5
5
  import { gridColumnFieldsSelector, gridColumnDefinitionsSelector, gridColumnLookupSelector, gridColumnsStateSelector, gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector } from './gridColumnsSelector';
6
6
  import { GridSignature, useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
7
7
  import { useGridRegisterPipeProcessor, useGridRegisterPipeApplier } from '../../core/pipeProcessing';
8
- import { hydrateColumnsWidth, createColumnsState, mergeColumnsState, COLUMNS_DIMENSION_PROPERTIES } from './gridColumnsUtils';
8
+ import { EMPTY_PINNED_COLUMN_FIELDS } from './gridColumnsInterfaces';
9
+ import { hydrateColumnsWidth, createColumnsState, COLUMNS_DIMENSION_PROPERTIES } from './gridColumnsUtils';
9
10
  import { GridPreferencePanelsValue } from '../preferencesPanel';
10
- import { getGridDefaultColumnTypes } from '../../../colDef';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
- const defaultColumnTypes = getGridDefaultColumnTypes();
13
12
  export const columnsStateInitializer = (state, props, apiRef) => {
14
- var _props$initialState, _ref, _props$columnVisibili, _props$initialState2;
13
+ var _props$initialState, _ref, _props$columnVisibili, _props$initialState2, _state$pinnedColumns;
15
14
  const columnsState = createColumnsState({
16
15
  apiRef,
17
- columnTypes: defaultColumnTypes,
18
16
  columnsToUpsert: props.columns,
19
17
  initialState: (_props$initialState = props.initialState) == null ? void 0 : _props$initialState.columns,
20
18
  columnVisibilityModel: (_ref = (_props$columnVisibili = props.columnVisibilityModel) != null ? _props$columnVisibili : (_props$initialState2 = props.initialState) == null || (_props$initialState2 = _props$initialState2.columns) == null ? void 0 : _props$initialState2.columnVisibilityModel) != null ? _ref : {},
21
19
  keepOnlyColumnsToUpsert: true
22
20
  });
23
21
  return _extends({}, state, {
24
- columns: columnsState
22
+ columns: columnsState,
23
+ // In pro/premium, this part of the state is defined. We give it an empty but defined value
24
+ // for the community version.
25
+ pinnedColumns: (_state$pinnedColumns = state.pinnedColumns) != null ? _state$pinnedColumns : EMPTY_PINNED_COLUMN_FIELDS
25
26
  });
26
27
  };
27
28
 
@@ -33,9 +34,7 @@ export const columnsStateInitializer = (state, props, apiRef) => {
33
34
  export function useGridColumns(apiRef, props) {
34
35
  var _props$initialState4, _props$slotProps2;
35
36
  const logger = useGridLogger(apiRef, 'useGridColumns');
36
- const columnTypes = defaultColumnTypes;
37
37
  const previousColumnsProp = React.useRef(props.columns);
38
- const previousColumnTypesProp = React.useRef(columnTypes);
39
38
  apiRef.current.registerControlState({
40
39
  stateId: 'visibleColumns',
41
40
  propModel: props.columnVisibilityModel,
@@ -46,8 +45,8 @@ export function useGridColumns(apiRef, props) {
46
45
  const setGridColumnsState = React.useCallback(columnsState => {
47
46
  logger.debug('Updating columns state.');
48
47
  apiRef.current.setState(mergeColumnsState(columnsState));
49
- apiRef.current.forceUpdate();
50
48
  apiRef.current.publishEvent('columnsChange', columnsState.orderedFields);
49
+ apiRef.current.forceUpdate();
51
50
  }, [logger, apiRef]);
52
51
 
53
52
  /**
@@ -70,7 +69,6 @@ export function useGridColumns(apiRef, props) {
70
69
  apiRef.current.setState(state => _extends({}, state, {
71
70
  columns: createColumnsState({
72
71
  apiRef,
73
- columnTypes,
74
72
  columnsToUpsert: [],
75
73
  initialState: undefined,
76
74
  columnVisibilityModel: model,
@@ -79,17 +77,16 @@ export function useGridColumns(apiRef, props) {
79
77
  }));
80
78
  apiRef.current.forceUpdate();
81
79
  }
82
- }, [apiRef, columnTypes]);
80
+ }, [apiRef]);
83
81
  const updateColumns = React.useCallback(columns => {
84
82
  const columnsState = createColumnsState({
85
83
  apiRef,
86
- columnTypes,
87
84
  columnsToUpsert: columns,
88
85
  initialState: undefined,
89
86
  keepOnlyColumnsToUpsert: false
90
87
  });
91
88
  setGridColumnsState(columnsState);
92
- }, [apiRef, setGridColumnsState, columnTypes]);
89
+ }, [apiRef, setGridColumnsState]);
93
90
  const setColumnVisibility = React.useCallback((field, isVisible) => {
94
91
  var _columnVisibilityMode;
95
92
  const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
@@ -126,7 +123,6 @@ export function useGridColumns(apiRef, props) {
126
123
  apiRef.current.publishEvent('columnIndexChange', params);
127
124
  }, [apiRef, logger, setGridColumnsState, getColumnIndexRelativeToVisibleColumns]);
128
125
  const setColumnWidth = React.useCallback((field, width) => {
129
- var _apiRef$current$getRo, _apiRef$current$getRo2;
130
126
  logger.debug(`Updating column ${field} width to ${width}`);
131
127
  const columnsState = gridColumnsStateSelector(apiRef.current.state);
132
128
  const column = columnsState.lookup[field];
@@ -138,7 +134,7 @@ export function useGridColumns(apiRef, props) {
138
134
  lookup: _extends({}, columnsState.lookup, {
139
135
  [field]: newColumn
140
136
  })
141
- }), (_apiRef$current$getRo = (_apiRef$current$getRo2 = apiRef.current.getRootDimensions()) == null ? void 0 : _apiRef$current$getRo2.viewportInnerSize.width) != null ? _apiRef$current$getRo : 0));
137
+ }), apiRef.current.getRootDimensions().viewportInnerSize.width));
142
138
  apiRef.current.publishEvent('columnWidthChange', {
143
139
  element: apiRef.current.getColumnHeaderElement(field),
144
140
  colDef: newColumn,
@@ -215,7 +211,6 @@ export function useGridColumns(apiRef, props) {
215
211
  }
216
212
  const columnsState = createColumnsState({
217
213
  apiRef,
218
- columnTypes,
219
214
  columnsToUpsert: [],
220
215
  initialState,
221
216
  columnVisibilityModel: columnVisibilityModelToImport,
@@ -226,7 +221,7 @@ export function useGridColumns(apiRef, props) {
226
221
  apiRef.current.publishEvent('columnsChange', columnsState.orderedFields);
227
222
  }
228
223
  return params;
229
- }, [apiRef, columnTypes]);
224
+ }, [apiRef]);
230
225
  const preferencePanelPreProcessing = React.useCallback((initialValue, value) => {
231
226
  if (value === GridPreferencePanelsValue.columns) {
232
227
  var _props$slotProps;
@@ -265,13 +260,12 @@ export function useGridColumns(apiRef, props) {
265
260
  logger.info(`Columns pipe processing have changed, regenerating the columns`);
266
261
  const columnsState = createColumnsState({
267
262
  apiRef,
268
- columnTypes,
269
263
  columnsToUpsert: [],
270
264
  initialState: undefined,
271
265
  keepOnlyColumnsToUpsert: false
272
266
  });
273
267
  setGridColumnsState(columnsState);
274
- }, [apiRef, logger, setGridColumnsState, columnTypes]);
268
+ }, [apiRef, logger, setGridColumnsState]);
275
269
  useGridRegisterPipeApplier(apiRef, 'hydrateColumns', hydrateColumns);
276
270
 
277
271
  /**
@@ -286,24 +280,27 @@ export function useGridColumns(apiRef, props) {
286
280
  return;
287
281
  }
288
282
  logger.info(`GridColumns have changed, new length ${props.columns.length}`);
289
- if (previousColumnsProp.current === props.columns && previousColumnTypesProp.current === columnTypes) {
283
+ if (previousColumnsProp.current === props.columns) {
290
284
  return;
291
285
  }
292
286
  const columnsState = createColumnsState({
293
287
  apiRef,
294
- columnTypes,
295
288
  initialState: undefined,
296
289
  // If the user provides a model, we don't want to set it in the state here because it has it's dedicated `useEffect` which calls `setColumnVisibilityModel`
297
290
  columnsToUpsert: props.columns,
298
291
  keepOnlyColumnsToUpsert: true
299
292
  });
300
293
  previousColumnsProp.current = props.columns;
301
- previousColumnTypesProp.current = columnTypes;
302
294
  setGridColumnsState(columnsState);
303
- }, [logger, apiRef, setGridColumnsState, props.columns, columnTypes]);
295
+ }, [logger, apiRef, setGridColumnsState, props.columns]);
304
296
  React.useEffect(() => {
305
297
  if (props.columnVisibilityModel !== undefined) {
306
298
  apiRef.current.setColumnVisibilityModel(props.columnVisibilityModel);
307
299
  }
308
300
  }, [apiRef, logger, props.columnVisibilityModel]);
301
+ }
302
+ function mergeColumnsState(columnsState) {
303
+ return state => _extends({}, state, {
304
+ columns: columnsState
305
+ });
309
306
  }
@@ -1,5 +1,13 @@
1
1
  import type { ElementSize } from '../../../models/elementSize';
2
2
  export interface GridDimensions {
3
+ /**
4
+ * Indicates that the dimensions have been initialized.
5
+ */
6
+ isReady: boolean;
7
+ /**
8
+ * The root container size.
9
+ */
10
+ root: ElementSize;
3
11
  /**
4
12
  * The viewport size including scrollbars.
5
13
  */
@@ -8,6 +16,14 @@ export interface GridDimensions {
8
16
  * The viewport size not including scrollbars.
9
17
  */
10
18
  viewportInnerSize: ElementSize;
19
+ /**
20
+ * The size of the main content (unpinned rows & columns).
21
+ */
22
+ contentSize: ElementSize;
23
+ /**
24
+ * The minimum size to display the grid, including all pinned sections and headers.
25
+ */
26
+ minimumSize: ElementSize;
11
27
  /**
12
28
  * Indicates if a scroll is currently needed to go from the beginning of the first column to the end of the last column.
13
29
  */
@@ -20,7 +36,43 @@ export interface GridDimensions {
20
36
  * Size of the scrollbar used to scroll the rows in pixel.
21
37
  * It is defined even when the scrollbar is currently not needed.
22
38
  */
23
- scrollBarSize: number;
39
+ scrollbarSize: number;
40
+ /**
41
+ * Width of a row.
42
+ */
43
+ rowWidth: number;
44
+ /**
45
+ * Height of a row.
46
+ */
47
+ rowHeight: number;
48
+ /**
49
+ * Size of all the visible columns.
50
+ */
51
+ columnsTotalWidth: number;
52
+ /**
53
+ * Size of left pinned columns.
54
+ */
55
+ leftPinnedWidth: number;
56
+ /**
57
+ * Size of right pinned columns.
58
+ */
59
+ rightPinnedWidth: number;
60
+ /**
61
+ * Height of one headers.
62
+ */
63
+ headerHeight: number;
64
+ /**
65
+ * Height of all the column headers.
66
+ */
67
+ headersTotalHeight: number;
68
+ /**
69
+ * Size of the top container.
70
+ */
71
+ topContainerHeight: number;
72
+ /**
73
+ * Size of the bottom container.
74
+ */
75
+ bottomContainerHeight: number;
24
76
  }
25
77
  export interface GridDimensionsApi {
26
78
  /**
@@ -29,22 +81,19 @@ export interface GridDimensionsApi {
29
81
  resize: () => void;
30
82
  /**
31
83
  * Returns the dimensions of the grid
32
- * @returns {GridDimensions | null} The dimension information of the grid. If `null`, the grid is not ready yet.
84
+ * @returns {GridDimensions} The dimension information of the grid. If `null`, the grid is not ready yet.
33
85
  */
34
- getRootDimensions: () => GridDimensions | null;
86
+ getRootDimensions: () => GridDimensions;
35
87
  }
36
88
  export interface GridDimensionsPrivateApi {
89
+ /**
90
+ * Recalculates the grid layout. This should be called when an operation has changed the size
91
+ * of the content of the grid.
92
+ */
93
+ updateDimensions: () => void;
37
94
  /**
38
95
  * Returns the amount of rows that are currently visible in the viewport
39
96
  * @returns {number} The amount of rows visible in the viewport
40
97
  */
41
98
  getViewportPageSize: () => number;
42
- /**
43
- * Forces a recalculation of all dimensions.
44
- */
45
- updateGridDimensionsRef: () => void;
46
- /**
47
- * Computes the size and publishes a `resize` event with the new value.
48
- */
49
- computeSizeAndPublishResizeEvent: () => void;
50
99
  }
@@ -0,0 +1,2 @@
1
+ import { GridStateCommunity } from '../../../models/gridStateCommunity';
2
+ export declare const gridDimensionsSelector: (state: GridStateCommunity) => import("./gridDimensionsApi").GridDimensions;
@@ -0,0 +1 @@
1
+ export const gridDimensionsSelector = state => state.dimensions;
@@ -1 +1,3 @@
1
+ export type { GridDimensionsState } from './useGridDimensions';
2
+ export * from './gridDimensionsSelectors';
1
3
  export type { GridDimensions, GridDimensionsApi } from './gridDimensionsApi';
@@ -1 +1,2 @@
1
+ export * from './gridDimensionsSelectors';
1
2
  export {};
@@ -1,4 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { GridPrivateApiCommunity } from '../../../models/api/gridApiCommunity';
3
3
  import { DataGridProcessedProps } from '../../../models/props/DataGridProps';
4
- export declare function useGridDimensions(apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, 'onResize' | 'scrollbarSize' | 'pagination' | 'paginationMode' | 'autoHeight' | 'getRowHeight' | 'rowHeight' | 'columnHeaderHeight'>): void;
4
+ import { GridDimensions } from './gridDimensionsApi';
5
+ import { GridStateInitializer } from '../../utils/useGridInitializeState';
6
+ type RootProps = Pick<DataGridProcessedProps, 'onResize' | 'scrollbarSize' | 'pagination' | 'paginationMode' | 'autoHeight' | 'getRowHeight' | 'rowHeight' | 'columnHeaderHeight'>;
7
+ export type GridDimensionsState = GridDimensions;
8
+ export declare const dimensionsStateInitializer: GridStateInitializer<RootProps>;
9
+ export declare function useGridDimensions(apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: RootProps): void;
10
+ export {};