@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
@@ -10,10 +10,10 @@ export interface GridColumnGroupingApi {
10
10
  * @param {string} field The field of of the column requested.
11
11
  * @returns {string[]} The id of the groups leading to the requested column.
12
12
  */
13
- unstable_getColumnGroupPath: (field: string) => GridColumnGroup['groupId'][];
13
+ getColumnGroupPath: (field: string) => GridColumnGroup['groupId'][];
14
14
  /**
15
15
  * Returns the column group lookup.
16
16
  * @returns {GridColumnGroupLookup} The column group lookup.
17
17
  */
18
- unstable_getAllGroupDetails: () => GridColumnGroupLookup;
18
+ getAllGroupDetails: () => GridColumnGroupLookup;
19
19
  }
@@ -13,7 +13,7 @@ export interface GridCoreApi {
13
13
  * The React ref of the grid root container div element.
14
14
  * @ignore - do not document.
15
15
  */
16
- rootElementRef?: React.RefObject<HTMLDivElement>;
16
+ rootElementRef: React.RefObject<HTMLDivElement>;
17
17
  /**
18
18
  * Registers a handler for an event.
19
19
  * @param {string} event The name of the event.
@@ -56,14 +56,26 @@ export interface GridCorePrivateApi<GridPublicApi extends GridApiCommon, GridPri
56
56
  * The generic event emitter manager.
57
57
  */
58
58
  eventManager: EventManager;
59
+ /**
60
+ * The React ref of the grid main container div element.
61
+ */
62
+ mainElementRef: React.RefObject<HTMLDivElement>;
59
63
  /**
60
64
  * The React ref of the grid virtual scroller container element.
61
65
  */
62
- virtualScrollerRef?: React.RefObject<HTMLDivElement>;
66
+ virtualScrollerRef: React.RefObject<HTMLDivElement>;
63
67
  /**
64
- * The React ref of the grid main container div element.
68
+ * The React ref of the grid column container virtualized div element.
69
+ */
70
+ columnHeadersContainerElementRef?: React.RefObject<HTMLDivElement>;
71
+ /**
72
+ * The React ref of the grid column headers container element.
73
+ */
74
+ columnHeadersElementRef?: React.RefObject<HTMLDivElement>;
75
+ /**
76
+ * The React ref of the grid header filter row element.
65
77
  */
66
- mainElementRef?: React.RefObject<HTMLDivElement>;
78
+ headerFiltersElementRef?: React.RefObject<HTMLDivElement>;
67
79
  register: <V extends 'public' | 'private', T extends V extends 'public' ? Partial<GridPublicApi> : Partial<Omit<GridPrivateApi, keyof GridPublicApi>>>(visibility: V, methods: T) => void;
68
80
  /**
69
81
  * Returns the public API.
@@ -77,16 +89,4 @@ export interface GridCorePrivateApi<GridPublicApi extends GridApiCommon, GridPri
77
89
  * Do not use in React components - use the `useGridRootProps` hook instead.
78
90
  */
79
91
  rootProps: GridProps;
80
- /**
81
- * The React ref of the grid column container virtualized div element.
82
- */
83
- columnHeadersContainerElementRef?: React.RefObject<HTMLDivElement>;
84
- /**
85
- * The React ref of the grid header filter row element.
86
- */
87
- headerFiltersElementRef?: React.RefObject<HTMLDivElement>;
88
- /**
89
- * The React ref of the grid column headers container element.
90
- */
91
- columnHeadersElementRef?: React.RefObject<HTMLDivElement>;
92
92
  }
@@ -31,7 +31,7 @@ export interface GridRowsMetaApi {
31
31
  * @param {string} position The position to it the row belongs to.
32
32
  * @ignore - do not document.
33
33
  */
34
- unstable_storeRowHeightMeasurement: (id: GridRowId, height: number, position: 'left' | 'center' | 'right') => void;
34
+ unstable_storeRowHeightMeasurement: (id: GridRowId, height: number) => void;
35
35
  /**
36
36
  * Updates the index of the last row measured.
37
37
  * @param {number} index The row index.
@@ -1,4 +1,3 @@
1
- import { GridRenderContext } from '../params';
2
1
  export interface GridVirtualizationApi {
3
2
  /**
4
3
  * Enable/disable virtualization.
@@ -13,8 +12,8 @@ export interface GridVirtualizationApi {
13
12
  }
14
13
  export interface GridVirtualizationPrivateApi {
15
14
  /**
16
- * Get the current grid rendering context.
15
+ * Update grid rendering context.
17
16
  * @returns {GridRenderContext} The `GridRenderContext`.
18
17
  */
19
- getRenderContext: () => GridRenderContext;
18
+ updateRenderContext?: () => void;
20
19
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { GridColumnHeaderParams, GridColumnOrderChangeParams, GridColumnResizeParams, GridHeaderSelectionCheckboxParams, GridMenuParams, GridPreferencePanelParams, GridRenderedRowsIntervalChangeParams, GridRowParams, GridRowSelectionCheckboxParams, GridScrollParams, GridColumnGroupHeaderParams } from '../params';
2
+ import type { GridColumnHeaderParams, GridColumnOrderChangeParams, GridColumnResizeParams, GridHeaderSelectionCheckboxParams, GridMenuParams, GridPreferencePanelParams, GridRowParams, GridRowSelectionCheckboxParams, GridScrollParams, GridColumnGroupHeaderParams, GridRenderContext } from '../params';
3
3
  import { GridCellEditStartParams, GridCellEditStopParams } from '../params/gridEditCellParams';
4
4
  import { GridCellParams } from '../params/gridCellParams';
5
5
  import type { GridFilterModel } from '../gridFilterModel';
@@ -479,10 +479,10 @@ export interface GridEventLookup extends GridRowEventLookup, GridColumnHeaderEve
479
479
  params: GridGroupNode;
480
480
  };
481
481
  /**
482
- * Fired when the rendered rows index interval changes. Called with a [[GridRenderedRowsIntervalChangeParams]] object.
482
+ * Fired when the rendered rows index interval changes. Called with a [[GridRenderContext]] object.
483
483
  */
484
484
  renderedRowsIntervalChange: {
485
- params: GridRenderedRowsIntervalChangeParams;
485
+ params: GridRenderContext;
486
486
  };
487
487
  /**
488
488
  * Fired when the mode of a cell changes.
@@ -12,7 +12,7 @@ export interface GridFilterModel {
12
12
  /**
13
13
  * - `GridLogicOperator.And`: the row must pass all the filter items.
14
14
  * - `GridLogicOperator.Or`: the row must pass at least on filter item.
15
- * @default `GridLogicOperator.Or`
15
+ * @default `GridLogicOperator.And`
16
16
  */
17
17
  logicOperator?: GridLogicOperator;
18
18
  /**
@@ -1,5 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import type { GridIconSlotsComponent } from './gridIconSlotsComponent';
3
+ import type { GridRowProps } from '../components/GridRow';
4
+ import type { GridDetailPanelsProps } from '../components/GridDetailPanels';
5
+ import type { GridPinnedRowsProps } from '../components/GridPinnedRows';
6
+ import type { GridColumnHeadersProps } from '../components/GridColumnHeaders';
3
7
  export interface GridBaseSlots {
4
8
  /**
5
9
  * The custom Checkbox component used in the grid for both header and cells.
@@ -100,7 +104,12 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
100
104
  * Component responsible for rendering the column headers.
101
105
  * @default DataGridColumnHeaders
102
106
  */
103
- columnHeaders: React.JSXElementConstructor<any>;
107
+ columnHeaders: React.JSXElementConstructor<GridColumnHeadersProps>;
108
+ /**
109
+ * Component responsible for rendering the detail panels.
110
+ * @default GridDetailPanels
111
+ */
112
+ detailPanels: React.JSXElementConstructor<GridDetailPanelsProps>;
104
113
  /**
105
114
  * Footer component rendered at the bottom of the grid viewport.
106
115
  * @default GridFooter
@@ -116,6 +125,11 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
116
125
  * @default null
117
126
  */
118
127
  toolbar: React.JSXElementConstructor<any> | null;
128
+ /**
129
+ * Pinned rows container.
130
+ * @ignore - do not document
131
+ */
132
+ pinnedRows: React.JSXElementConstructor<GridPinnedRowsProps>;
119
133
  /**
120
134
  * Loading overlay component rendered when the grid is in a loading state.
121
135
  * @default GridLoadingOverlay
@@ -155,5 +169,5 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
155
169
  * Component rendered for each row.
156
170
  * @default GridRow
157
171
  */
158
- row: React.JSXElementConstructor<any>;
172
+ row: React.JSXElementConstructor<GridRowProps>;
159
173
  }
@@ -1,4 +1,5 @@
1
- import type { GridColumnMenuState, GridColumnsInitialState, GridColumnsState, GridColumnsGroupingState, GridDensityState, GridFilterInitialState, GridFilterState, GridFocusState, GridPaginationInitialState, GridPaginationState, GridPreferencePanelInitialState, GridPreferencePanelState, GridRowsState, GridSortingInitialState, GridSortingState, GridTabIndexState, GridVirtualizationState } from '../hooks';
1
+ import type { Theme } from '@mui/material/styles';
2
+ import type { GridColumnMenuState, GridColumnsInitialState, GridColumnsState, GridColumnsGroupingState, GridColumnPinningState, GridDensityState, GridDimensionsState, GridFilterInitialState, GridFilterState, GridFocusState, GridPaginationInitialState, GridPaginationState, GridPreferencePanelInitialState, GridPreferencePanelState, GridRowsState, GridSortingInitialState, GridSortingState, GridTabIndexState, GridVirtualizationState } from '../hooks';
2
3
  import type { GridRowsMetaState } from '../hooks/features/rows/gridRowsMetaState';
3
4
  import type { GridEditingState } from './gridEditRowModel';
4
5
  import { GridHeaderFilteringState } from './gridHeaderFilteringModel';
@@ -8,6 +9,8 @@ import type { GridVisibleRowsLookupState } from '../hooks/features/filter/gridFi
8
9
  * The state of `DataGrid`.
9
10
  */
10
11
  export interface GridStateCommunity {
12
+ theme: Theme;
13
+ dimensions: GridDimensionsState;
11
14
  rows: GridRowsState;
12
15
  visibleRowsLookup: GridVisibleRowsLookupState;
13
16
  rowsMeta: GridRowsMetaState;
@@ -17,6 +20,7 @@ export interface GridStateCommunity {
17
20
  columns: GridColumnsState;
18
21
  columnGrouping: GridColumnsGroupingState;
19
22
  columnMenu: GridColumnMenuState;
23
+ pinnedColumns: GridColumnPinningState;
20
24
  sorting: GridSortingState;
21
25
  focus: GridFocusState;
22
26
  tabIndex: GridTabIndexState;
package/models/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export * from './gridFeatureMode';
6
6
  export * from './gridFilterItem';
7
7
  export * from './gridFilterModel';
8
8
  export * from './gridPaginationProps';
9
- export * from './gridRootContainerRef';
10
9
  export * from './gridRenderContextProps';
11
10
  export * from './gridRows';
12
11
  export * from './gridRowSelectionModel';
package/models/index.js CHANGED
@@ -6,7 +6,6 @@ export * from './gridFeatureMode';
6
6
  export * from './gridFilterItem';
7
7
  export * from './gridFilterModel';
8
8
  export * from './gridPaginationProps';
9
- export * from './gridRootContainerRef';
10
9
  export * from './gridRenderContextProps';
11
10
  export * from './gridRows';
12
11
  export * from './gridRowSelectionModel';
@@ -11,4 +11,3 @@ export * from './gridValueOptionsParams';
11
11
  export * from './gridCellParams';
12
12
  export * from './gridPreferencePanelParams';
13
13
  export * from './gridMenuParams';
14
- export * from './gridRenderedRowsIntervalChangeParams';
@@ -10,5 +10,4 @@ export * from './gridHeaderSelectionCheckboxParams';
10
10
  export * from './gridValueOptionsParams';
11
11
  export * from './gridCellParams';
12
12
  export * from './gridPreferencePanelParams';
13
- export * from './gridMenuParams';
14
- export * from './gridRenderedRowsIntervalChangeParams';
13
+ export * from './gridMenuParams';
@@ -25,21 +25,11 @@ import { GridCellModesModel, GridRowModesModel } from '../api/gridEditingApi';
25
25
  import { GridColumnGroupingModel } from '../gridColumnGrouping';
26
26
  import { GridPaginationModel } from '../gridPaginationProps';
27
27
  export interface GridExperimentalFeatures {
28
- /**
29
- * Enables the column grouping.
30
- */
31
- columnGrouping: boolean;
32
28
  /**
33
29
  * Emits a warning if the cell receives focus without also syncing the focus state.
34
30
  * Only works if NODE_ENV=test.
35
31
  */
36
32
  warnIfFocusStateIsNotSynced: boolean;
37
- /**
38
- * Enables accessibility improvements that will be enabled by default in v7.
39
- * If you rely on the v6 ARIA attributes (e.g. for CSS selectors), this might be a breaking change.
40
- * @default false
41
- */
42
- ariaV7: boolean;
43
33
  }
44
34
  /**
45
35
  * The props users can give to the `DataGrid` component.
@@ -173,7 +163,12 @@ export interface DataGridPropsWithDefaultValues {
173
163
  */
174
164
  disableMultipleRowSelection: boolean;
175
165
  /**
176
- * If `true`, sorting with multiple columns is disabled.
166
+ * If `true`, the column sorting feature will be disabled.
167
+ * @default false
168
+ */
169
+ disableColumnSorting: boolean;
170
+ /**
171
+ * If `true`, the sorting with multiple columns is disabled.
177
172
  * @default false
178
173
  */
179
174
  disableMultipleColumnsSorting: boolean;
@@ -5,7 +5,6 @@ import { GridBody, GridFooterPlaceholder, GridHeader, GridRoot } from '../compon
5
5
  import { GridContextProvider } from '../context/GridContextProvider';
6
6
  import { useDataGridComponent } from './useDataGridComponent';
7
7
  import { useDataGridProps } from './useDataGridProps';
8
- import { DataGridVirtualScroller } from '../components/DataGridVirtualScroller';
9
8
  import { propValidatorsDataGrid, validateProps } from '../internals/utils/propValidation';
10
9
  import { jsx as _jsx } from "react/jsx-runtime";
11
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -25,9 +24,7 @@ const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref
25
24
  sx: props.sx,
26
25
  ref: ref
27
26
  }, props.forwardedProps, {
28
- children: [/*#__PURE__*/_jsx(GridHeader, {}), /*#__PURE__*/_jsx(GridBody, {
29
- VirtualScrollerComponent: DataGridVirtualScroller
30
- }), /*#__PURE__*/_jsx(GridFooterPlaceholder, {})]
27
+ children: [/*#__PURE__*/_jsx(GridHeader, {}), /*#__PURE__*/_jsx(GridBody, {}), /*#__PURE__*/_jsx(GridFooterPlaceholder, {})]
31
28
  }))
32
29
  });
33
30
  });
@@ -131,6 +128,11 @@ DataGridRaw.propTypes = {
131
128
  * @default false
132
129
  */
133
130
  disableColumnSelector: PropTypes.bool,
131
+ /**
132
+ * If `true`, the column sorting feature will be disabled.
133
+ * @default false
134
+ */
135
+ disableColumnSorting: PropTypes.bool,
134
136
  /**
135
137
  * If `true`, the density selector is disabled.
136
138
  * @default false
@@ -167,8 +169,6 @@ DataGridRaw.propTypes = {
167
169
  * For each feature, if the flag is not explicitly set to `true`, the feature will be fully disabled and any property / method call will not have any effect.
168
170
  */
169
171
  experimentalFeatures: PropTypes.shape({
170
- ariaV7: PropTypes.bool,
171
- columnGrouping: PropTypes.bool,
172
172
  warnIfFocusStateIsNotSynced: PropTypes.bool
173
173
  }),
174
174
  /**
@@ -20,7 +20,7 @@ import { useGridRowSelectionPreProcessors } from '../hooks/features/rowSelection
20
20
  import { useGridSorting, sortingStateInitializer } from '../hooks/features/sorting/useGridSorting';
21
21
  import { useGridScroll } from '../hooks/features/scroll/useGridScroll';
22
22
  import { useGridEvents } from '../hooks/features/events/useGridEvents';
23
- import { useGridDimensions } from '../hooks/features/dimensions/useGridDimensions';
23
+ import { dimensionsStateInitializer, useGridDimensions } from '../hooks/features/dimensions/useGridDimensions';
24
24
  import { rowsMetaStateInitializer, useGridRowsMeta } from '../hooks/features/rows/useGridRowsMeta';
25
25
  import { useGridStatePersistence } from '../hooks/features/statePersistence/useGridStatePersistence';
26
26
  import { useGridColumnSpanning } from '../hooks/features/columns/useGridColumnSpanning';
@@ -38,6 +38,7 @@ export const useDataGridComponent = (inputApiRef, props) => {
38
38
  /**
39
39
  * Register all state initializers here.
40
40
  */
41
+ useGridInitializeState(dimensionsStateInitializer, apiRef, props);
41
42
  useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
42
43
  useGridInitializeState(columnsStateInitializer, apiRef, props);
43
44
  useGridInitializeState(rowsStateInitializer, apiRef, props);
@@ -39,6 +39,7 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
39
39
  disableEval: false,
40
40
  disableMultipleColumnsFiltering: false,
41
41
  disableMultipleRowSelection: false,
42
+ disableColumnSorting: false,
42
43
  disableMultipleColumnsSorting: false,
43
44
  disableRowSelectionOnClick: false,
44
45
  disableVirtualization: false,
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["innerRef", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnPositions", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "densityFactor", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
3
+ const _excluded = ["innerRef", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { refType } from '@mui/utils';
@@ -10,18 +10,16 @@ import { GridBaseColumnHeaders } from './columnHeaders/GridBaseColumnHeaders';
10
10
  import { GridColumnHeadersInner } from './columnHeaders/GridColumnHeadersInner';
11
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
- const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHeaders(props, ref) {
13
+ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
14
14
  const {
15
15
  innerRef,
16
16
  visibleColumns,
17
17
  sortColumnLookup,
18
18
  filterColumnLookup,
19
- columnPositions,
20
19
  columnHeaderTabIndexState,
21
20
  columnGroupHeaderTabIndexState,
22
21
  columnHeaderFocus,
23
22
  columnGroupHeaderFocus,
24
- densityFactor,
25
23
  headerGroupingMaxDepth,
26
24
  columnMenuState,
27
25
  columnVisibility,
@@ -31,7 +29,6 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
31
29
  other = _objectWithoutPropertiesLoose(props, _excluded);
32
30
  const {
33
31
  isDragging,
34
- getRootProps,
35
32
  getInnerProps,
36
33
  getColumnHeaders,
37
34
  getColumnGroupHeaders
@@ -40,12 +37,10 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
40
37
  visibleColumns,
41
38
  sortColumnLookup,
42
39
  filterColumnLookup,
43
- columnPositions,
44
40
  columnHeaderTabIndexState,
45
41
  columnGroupHeaderTabIndexState,
46
42
  columnHeaderFocus,
47
43
  columnGroupHeaderFocus,
48
- densityFactor,
49
44
  headerGroupingMaxDepth,
50
45
  columnMenuState,
51
46
  columnVisibility,
@@ -54,7 +49,7 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
54
49
  });
55
50
  return /*#__PURE__*/_jsx(GridBaseColumnHeaders, _extends({
56
51
  ref: ref
57
- }, getRootProps(other), {
52
+ }, other, {
58
53
  children: /*#__PURE__*/_jsxs(GridColumnHeadersInner, _extends({
59
54
  isDragging: isDragging
60
55
  }, getInnerProps(), {
@@ -89,14 +84,11 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
89
84
  field: PropTypes.string,
90
85
  open: PropTypes.bool.isRequired
91
86
  }).isRequired,
92
- columnPositions: PropTypes.arrayOf(PropTypes.number).isRequired,
93
87
  columnVisibility: PropTypes.object.isRequired,
94
- densityFactor: PropTypes.number.isRequired,
95
88
  filterColumnLookup: PropTypes.object.isRequired,
96
89
  hasOtherElementInTabSequence: PropTypes.bool.isRequired,
97
90
  headerGroupingMaxDepth: PropTypes.number.isRequired,
98
91
  innerRef: refType,
99
- minColumnIndex: PropTypes.number,
100
92
  sortColumnLookup: PropTypes.object.isRequired,
101
93
  visibleColumns: PropTypes.arrayOf(PropTypes.object).isRequired
102
94
  } : void 0;
@@ -0,0 +1,4 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
+ export function GridDetailPanels(_) {
3
+ return null;
4
+ }
@@ -0,0 +1,53 @@
1
+ import * as React from 'react';
2
+ import { fastMemo } from '../utils/fastMemo';
3
+ import { useGridPrivateApiContext } from '../hooks/utils/useGridPrivateApiContext';
4
+ import { useGridSelector } from '../hooks/utils/useGridSelector';
5
+ import { useGridRootProps } from '../hooks/utils/useGridRootProps';
6
+ import { gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector } from '../hooks/features/columns/gridColumnsSelector';
7
+ import { gridFilterActiveItemsLookupSelector } from '../hooks/features/filter/gridFilterSelector';
8
+ import { gridSortColumnLookupSelector } from '../hooks/features/sorting/gridSortingSelector';
9
+ import { gridTabIndexColumnHeaderSelector, gridTabIndexCellSelector, gridFocusColumnHeaderSelector, gridTabIndexColumnGroupHeaderSelector, gridFocusColumnGroupHeaderSelector } from '../hooks/features/focus/gridFocusStateSelector';
10
+ import { gridColumnGroupsHeaderMaxDepthSelector, gridColumnGroupsHeaderStructureSelector } from '../hooks/features/columnGrouping/gridColumnGroupsSelector';
11
+ import { gridColumnMenuSelector } from '../hooks/features/columnMenu/columnMenuSelector';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ function GridHeaders() {
14
+ const apiRef = useGridPrivateApiContext();
15
+ const rootProps = useGridRootProps();
16
+ const visibleColumns = useGridSelector(apiRef, gridVisibleColumnDefinitionsSelector);
17
+ const filterColumnLookup = useGridSelector(apiRef, gridFilterActiveItemsLookupSelector);
18
+ const sortColumnLookup = useGridSelector(apiRef, gridSortColumnLookupSelector);
19
+ const columnHeaderTabIndexState = useGridSelector(apiRef, gridTabIndexColumnHeaderSelector);
20
+ const cellTabIndexState = useGridSelector(apiRef, gridTabIndexCellSelector);
21
+ const columnGroupHeaderTabIndexState = useGridSelector(apiRef, gridTabIndexColumnGroupHeaderSelector);
22
+ const columnHeaderFocus = useGridSelector(apiRef, gridFocusColumnHeaderSelector);
23
+ const columnGroupHeaderFocus = useGridSelector(apiRef, gridFocusColumnGroupHeaderSelector);
24
+ const headerGroupingMaxDepth = useGridSelector(apiRef, gridColumnGroupsHeaderMaxDepthSelector);
25
+ const columnMenuState = useGridSelector(apiRef, gridColumnMenuSelector);
26
+ const columnVisibility = useGridSelector(apiRef, gridColumnVisibilityModelSelector);
27
+ const columnGroupsHeaderStructure = useGridSelector(apiRef, gridColumnGroupsHeaderStructureSelector);
28
+ const hasOtherElementInTabSequence = !(columnGroupHeaderTabIndexState === null && columnHeaderTabIndexState === null && cellTabIndexState === null);
29
+ const columnHeadersRef = React.useRef(null);
30
+ const columnsContainerRef = React.useRef(null);
31
+ apiRef.current.register('private', {
32
+ columnHeadersContainerElementRef: columnsContainerRef,
33
+ columnHeadersElementRef: columnHeadersRef
34
+ });
35
+ return /*#__PURE__*/_jsx(rootProps.slots.columnHeaders, {
36
+ ref: columnsContainerRef,
37
+ innerRef: columnHeadersRef,
38
+ visibleColumns: visibleColumns,
39
+ filterColumnLookup: filterColumnLookup,
40
+ sortColumnLookup: sortColumnLookup,
41
+ columnHeaderTabIndexState: columnHeaderTabIndexState,
42
+ columnGroupHeaderTabIndexState: columnGroupHeaderTabIndexState,
43
+ columnHeaderFocus: columnHeaderFocus,
44
+ columnGroupHeaderFocus: columnGroupHeaderFocus,
45
+ headerGroupingMaxDepth: headerGroupingMaxDepth,
46
+ columnMenuState: columnMenuState,
47
+ columnVisibility: columnVisibility,
48
+ columnGroupsHeaderStructure: columnGroupsHeaderStructure,
49
+ hasOtherElementInTabSequence: hasOtherElementInTabSequence
50
+ });
51
+ }
52
+ const MemoizedGridHeaders = fastMemo(GridHeaders);
53
+ export { MemoizedGridHeaders as GridHeaders };
@@ -0,0 +1,4 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
+ export function GridPinnedRows(_) {
3
+ return null;
4
+ }