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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/CHANGELOG.md +508 -30
  2. package/DataGrid/DataGrid.js +6 -6
  3. package/DataGrid/useDataGridComponent.js +2 -1
  4. package/DataGrid/useDataGridProps.js +1 -0
  5. package/README.md +3 -3
  6. package/components/GridColumnHeaders.d.ts +3 -2
  7. package/components/GridColumnHeaders.js +3 -11
  8. package/components/GridDetailPanels.d.ts +5 -0
  9. package/components/GridDetailPanels.js +4 -0
  10. package/components/GridHeaders.d.ts +4 -0
  11. package/components/GridHeaders.js +53 -0
  12. package/components/GridPinnedRows.d.ts +7 -0
  13. package/components/GridPinnedRows.js +4 -0
  14. package/components/GridRow.d.ts +7 -4
  15. package/components/GridRow.js +161 -97
  16. package/components/GridScrollbarFillerCell.d.ts +7 -0
  17. package/components/GridScrollbarFillerCell.js +39 -0
  18. package/components/base/GridBody.d.ts +2 -13
  19. package/components/base/GridBody.js +2 -116
  20. package/components/base/GridOverlays.js +10 -21
  21. package/components/cell/GridActionsCellItem.d.ts +2 -2
  22. package/components/cell/GridCell.d.ts +15 -21
  23. package/components/cell/GridCell.js +67 -372
  24. package/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  25. package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -1
  26. package/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  27. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -0
  28. package/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  29. package/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  30. package/components/columnsManagement/GridColumnsManagement.d.ts +36 -0
  31. package/components/columnsManagement/GridColumnsManagement.js +260 -0
  32. package/components/columnsManagement/index.d.ts +1 -0
  33. package/components/columnsManagement/index.js +1 -0
  34. package/components/columnsManagement/utils.d.ts +4 -0
  35. package/components/columnsManagement/utils.js +16 -0
  36. package/components/containers/GridRoot.js +18 -15
  37. package/components/containers/GridRootStyles.js +307 -204
  38. package/components/index.d.ts +1 -0
  39. package/components/index.js +1 -0
  40. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  41. package/components/panel/GridColumnsPanel.d.ts +0 -28
  42. package/components/panel/GridColumnsPanel.js +5 -213
  43. package/components/panel/GridPanel.js +3 -4
  44. package/components/panel/filterPanel/GridFilterForm.d.ts +6 -4
  45. package/components/panel/filterPanel/GridFilterForm.js +31 -14
  46. package/components/panel/filterPanel/GridFilterPanel.js +46 -20
  47. package/components/toolbar/GridToolbarColumnsButton.d.ts +13 -1
  48. package/components/toolbar/GridToolbarColumnsButton.js +40 -22
  49. package/components/toolbar/GridToolbarDensitySelector.d.ts +13 -1
  50. package/components/toolbar/GridToolbarDensitySelector.js +40 -22
  51. package/components/toolbar/GridToolbarExport.d.ts +10 -1
  52. package/components/toolbar/GridToolbarExport.js +6 -1
  53. package/components/toolbar/GridToolbarExportContainer.d.ts +15 -1
  54. package/components/toolbar/GridToolbarExportContainer.js +41 -23
  55. package/components/toolbar/GridToolbarFilterButton.d.ts +5 -4
  56. package/components/toolbar/GridToolbarFilterButton.js +6 -10
  57. package/components/virtualization/GridBottomContainer.d.ts +2 -0
  58. package/components/virtualization/GridBottomContainer.js +25 -0
  59. package/components/{containers → virtualization}/GridMainContainer.d.ts +2 -0
  60. package/components/virtualization/GridMainContainer.js +20 -0
  61. package/components/virtualization/GridTopContainer.d.ts +2 -0
  62. package/components/virtualization/GridTopContainer.js +35 -0
  63. package/components/virtualization/GridVirtualScrollbar.d.ts +7 -0
  64. package/components/virtualization/GridVirtualScrollbar.js +131 -0
  65. package/components/virtualization/GridVirtualScroller.d.ts +4 -4
  66. package/components/virtualization/GridVirtualScroller.js +69 -16
  67. package/components/virtualization/GridVirtualScrollerFiller.d.ts +4 -0
  68. package/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  69. package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  70. package/constants/defaultGridSlotsComponents.js +8 -3
  71. package/constants/gridClasses.d.ts +72 -12
  72. package/constants/gridClasses.js +1 -1
  73. package/constants/localeTextConstants.js +4 -6
  74. package/hooks/core/gridCoreSelector.d.ts +6 -0
  75. package/hooks/core/gridCoreSelector.js +5 -0
  76. package/hooks/core/useGridApiInitialization.js +4 -0
  77. package/hooks/core/useGridInitialization.js +4 -0
  78. package/hooks/core/useGridRefs.d.ts +3 -0
  79. package/hooks/core/useGridRefs.js +13 -0
  80. package/hooks/core/useGridTheme.d.ts +3 -0
  81. package/hooks/core/useGridTheme.js +19 -0
  82. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
  83. package/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
  84. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +13 -18
  85. package/hooks/features/columnHeaders/useGridColumnHeaders.js +68 -162
  86. package/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  87. package/hooks/features/columns/gridColumnsInterfaces.d.ts +17 -0
  88. package/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  89. package/hooks/features/columns/gridColumnsSelector.d.ts +14 -1
  90. package/hooks/features/columns/gridColumnsSelector.js +52 -0
  91. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -5
  92. package/hooks/features/columns/gridColumnsUtils.js +10 -12
  93. package/hooks/features/columns/index.d.ts +2 -2
  94. package/hooks/features/columns/index.js +2 -1
  95. package/hooks/features/columns/useGridColumnSpanning.js +62 -61
  96. package/hooks/features/columns/useGridColumns.js +20 -23
  97. package/hooks/features/dimensions/gridDimensionsApi.d.ts +60 -11
  98. package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +2 -0
  99. package/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  100. package/hooks/features/dimensions/index.d.ts +2 -0
  101. package/hooks/features/dimensions/index.js +1 -0
  102. package/hooks/features/dimensions/useGridDimensions.d.ts +7 -1
  103. package/hooks/features/dimensions/useGridDimensions.js +216 -148
  104. package/hooks/features/export/serializers/csvSerializer.js +2 -2
  105. package/hooks/features/filter/useGridFilter.js +3 -3
  106. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -2
  107. package/hooks/features/focus/gridFocusStateSelector.js +2 -6
  108. package/hooks/features/focus/useGridFocus.js +3 -3
  109. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  110. package/hooks/features/pagination/useGridPagination.js +3 -5
  111. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -0
  112. package/hooks/features/rows/gridRowsSelector.d.ts +2 -2
  113. package/hooks/features/rows/gridRowsSelector.js +5 -5
  114. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  115. package/hooks/features/rows/gridRowsUtils.js +8 -5
  116. package/hooks/features/rows/useGridRowsMeta.js +7 -4
  117. package/hooks/features/scroll/useGridScroll.js +8 -10
  118. package/hooks/features/sorting/gridSortingUtils.js +1 -1
  119. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  120. package/hooks/features/sorting/useGridSorting.js +15 -10
  121. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +14 -0
  122. package/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  123. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +27 -42
  124. package/hooks/features/virtualization/useGridVirtualScroller.js +441 -438
  125. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  126. package/hooks/features/virtualization/useGridVirtualization.js +8 -1
  127. package/hooks/utils/index.d.ts +3 -0
  128. package/hooks/utils/index.js +4 -1
  129. package/hooks/utils/useGridAriaAttributes.js +1 -2
  130. package/hooks/utils/useGridNativeEventListener.js +4 -9
  131. package/hooks/utils/useResizeObserver.d.ts +2 -0
  132. package/hooks/utils/useResizeObserver.js +36 -0
  133. package/hooks/utils/useRunOnce.d.ts +5 -0
  134. package/hooks/utils/useRunOnce.js +18 -0
  135. package/index.js +1 -1
  136. package/internals/index.d.ts +12 -9
  137. package/internals/index.js +9 -7
  138. package/legacy/DataGrid/DataGrid.js +6 -6
  139. package/legacy/DataGrid/useDataGridComponent.js +2 -1
  140. package/legacy/DataGrid/useDataGridProps.js +1 -0
  141. package/legacy/components/GridColumnHeaders.js +3 -11
  142. package/legacy/components/GridDetailPanels.js +4 -0
  143. package/legacy/components/GridHeaders.js +53 -0
  144. package/legacy/components/GridPinnedRows.js +4 -0
  145. package/legacy/components/GridRow.js +159 -98
  146. package/legacy/components/GridScrollbarFillerCell.js +36 -0
  147. package/legacy/components/base/GridBody.js +2 -114
  148. package/legacy/components/base/GridOverlays.js +10 -25
  149. package/legacy/components/cell/GridCell.js +69 -377
  150. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  151. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  152. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  153. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  154. package/legacy/components/columnsManagement/GridColumnsManagement.js +300 -0
  155. package/legacy/components/columnsManagement/index.js +1 -0
  156. package/legacy/components/columnsManagement/utils.js +22 -0
  157. package/legacy/components/containers/GridRoot.js +18 -15
  158. package/legacy/components/containers/GridRootStyles.js +215 -137
  159. package/legacy/components/index.js +1 -0
  160. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  161. package/legacy/components/panel/GridColumnsPanel.js +5 -233
  162. package/legacy/components/panel/GridPanel.js +3 -4
  163. package/legacy/components/panel/filterPanel/GridFilterForm.js +30 -13
  164. package/legacy/components/panel/filterPanel/GridFilterPanel.js +49 -20
  165. package/legacy/components/toolbar/GridToolbarColumnsButton.js +40 -21
  166. package/legacy/components/toolbar/GridToolbarDensitySelector.js +40 -21
  167. package/legacy/components/toolbar/GridToolbarExport.js +6 -1
  168. package/legacy/components/toolbar/GridToolbarExportContainer.js +40 -21
  169. package/legacy/components/toolbar/GridToolbarFilterButton.js +6 -10
  170. package/legacy/components/virtualization/GridBottomContainer.js +25 -0
  171. package/legacy/components/virtualization/GridMainContainer.js +20 -0
  172. package/legacy/components/virtualization/GridTopContainer.js +35 -0
  173. package/legacy/components/virtualization/GridVirtualScrollbar.js +129 -0
  174. package/legacy/components/virtualization/GridVirtualScroller.js +67 -16
  175. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +70 -0
  176. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  177. package/legacy/constants/defaultGridSlotsComponents.js +8 -3
  178. package/legacy/constants/gridClasses.js +1 -1
  179. package/legacy/constants/localeTextConstants.js +4 -6
  180. package/legacy/hooks/core/gridCoreSelector.js +7 -0
  181. package/legacy/hooks/core/useGridApiInitialization.js +4 -0
  182. package/legacy/hooks/core/useGridInitialization.js +4 -0
  183. package/legacy/hooks/core/useGridRefs.js +13 -0
  184. package/legacy/hooks/core/useGridTheme.js +21 -0
  185. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
  186. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +69 -181
  187. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  188. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  189. package/legacy/hooks/features/columns/gridColumnsSelector.js +62 -0
  190. package/legacy/hooks/features/columns/gridColumnsUtils.js +10 -16
  191. package/legacy/hooks/features/columns/index.js +2 -1
  192. package/legacy/hooks/features/columns/useGridColumnSpanning.js +60 -59
  193. package/legacy/hooks/features/columns/useGridColumns.js +22 -23
  194. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +3 -0
  195. package/legacy/hooks/features/dimensions/index.js +1 -0
  196. package/legacy/hooks/features/dimensions/useGridDimensions.js +226 -151
  197. package/legacy/hooks/features/export/serializers/csvSerializer.js +2 -2
  198. package/legacy/hooks/features/filter/useGridFilter.js +3 -3
  199. package/legacy/hooks/features/focus/gridFocusStateSelector.js +2 -6
  200. package/legacy/hooks/features/focus/useGridFocus.js +3 -3
  201. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  202. package/legacy/hooks/features/pagination/useGridPagination.js +3 -5
  203. package/legacy/hooks/features/rows/gridRowsSelector.js +5 -5
  204. package/legacy/hooks/features/rows/gridRowsUtils.js +8 -5
  205. package/legacy/hooks/features/rows/useGridRowsMeta.js +7 -4
  206. package/legacy/hooks/features/scroll/useGridScroll.js +8 -10
  207. package/legacy/hooks/features/sorting/gridSortingUtils.js +1 -1
  208. package/legacy/hooks/features/sorting/useGridSorting.js +15 -10
  209. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +29 -1
  210. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +490 -483
  211. package/legacy/hooks/features/virtualization/useGridVirtualization.js +8 -1
  212. package/legacy/hooks/utils/index.js +4 -1
  213. package/legacy/hooks/utils/useGridAriaAttributes.js +1 -2
  214. package/legacy/hooks/utils/useGridNativeEventListener.js +4 -9
  215. package/legacy/hooks/utils/useResizeObserver.js +36 -0
  216. package/legacy/hooks/utils/useRunOnce.js +18 -0
  217. package/legacy/index.js +1 -1
  218. package/legacy/internals/index.js +9 -7
  219. package/legacy/locales/arSD.js +5 -6
  220. package/legacy/locales/beBY.js +5 -6
  221. package/legacy/locales/bgBG.js +5 -6
  222. package/legacy/locales/csCZ.js +5 -6
  223. package/legacy/locales/daDK.js +5 -6
  224. package/legacy/locales/deDE.js +5 -6
  225. package/legacy/locales/elGR.js +5 -6
  226. package/legacy/locales/esES.js +5 -6
  227. package/legacy/locales/faIR.js +5 -6
  228. package/legacy/locales/fiFI.js +5 -6
  229. package/legacy/locales/frFR.js +5 -6
  230. package/legacy/locales/heIL.js +5 -6
  231. package/legacy/locales/hrHR.js +160 -0
  232. package/legacy/locales/huHU.js +5 -6
  233. package/legacy/locales/index.js +4 -1
  234. package/legacy/locales/itIT.js +5 -6
  235. package/legacy/locales/jaJP.js +5 -6
  236. package/legacy/locales/koKR.js +5 -6
  237. package/legacy/locales/nbNO.js +5 -6
  238. package/legacy/locales/nlNL.js +5 -6
  239. package/legacy/locales/plPL.js +5 -6
  240. package/legacy/locales/ptBR.js +5 -6
  241. package/legacy/locales/ptPT.js +160 -0
  242. package/legacy/locales/roRO.js +5 -6
  243. package/legacy/locales/ruRU.js +5 -6
  244. package/legacy/locales/skSK.js +5 -6
  245. package/legacy/locales/svSE.js +5 -6
  246. package/legacy/locales/trTR.js +5 -6
  247. package/legacy/locales/ukUA.js +5 -6
  248. package/legacy/locales/urPK.js +5 -6
  249. package/legacy/locales/viVN.js +5 -6
  250. package/legacy/locales/zhCN.js +5 -6
  251. package/legacy/locales/zhHK.js +160 -0
  252. package/legacy/locales/zhTW.js +5 -6
  253. package/legacy/models/index.js +0 -1
  254. package/legacy/models/params/index.js +1 -2
  255. package/legacy/utils/utils.js +10 -1
  256. package/locales/arSD.js +5 -6
  257. package/locales/beBY.js +5 -6
  258. package/locales/bgBG.js +5 -6
  259. package/locales/csCZ.js +5 -6
  260. package/locales/daDK.js +5 -6
  261. package/locales/deDE.js +5 -6
  262. package/locales/elGR.js +5 -6
  263. package/locales/esES.js +5 -6
  264. package/locales/faIR.js +5 -6
  265. package/locales/fiFI.js +5 -6
  266. package/locales/frFR.js +5 -6
  267. package/locales/heIL.js +5 -6
  268. package/locales/hrHR.d.ts +1 -0
  269. package/locales/hrHR.js +148 -0
  270. package/locales/huHU.js +5 -6
  271. package/locales/index.d.ts +3 -0
  272. package/locales/index.js +4 -1
  273. package/locales/itIT.js +5 -6
  274. package/locales/jaJP.js +5 -6
  275. package/locales/koKR.js +5 -6
  276. package/locales/nbNO.js +5 -6
  277. package/locales/nlNL.js +5 -6
  278. package/locales/plPL.js +5 -6
  279. package/locales/ptBR.js +5 -6
  280. package/locales/ptPT.d.ts +1 -0
  281. package/locales/ptPT.js +148 -0
  282. package/locales/roRO.js +5 -6
  283. package/locales/ruRU.js +5 -6
  284. package/locales/skSK.js +5 -6
  285. package/locales/svSE.js +5 -6
  286. package/locales/trTR.js +5 -6
  287. package/locales/ukUA.js +5 -6
  288. package/locales/urPK.js +5 -6
  289. package/locales/viVN.js +5 -6
  290. package/locales/zhCN.js +5 -6
  291. package/locales/zhHK.d.ts +1 -0
  292. package/locales/zhHK.js +148 -0
  293. package/locales/zhTW.js +5 -6
  294. package/models/api/gridColumnGroupingApi.d.ts +2 -2
  295. package/models/api/gridCoreApi.d.ts +16 -16
  296. package/models/api/gridLocaleTextApi.d.ts +3 -5
  297. package/models/api/gridRowsMetaApi.d.ts +1 -1
  298. package/models/api/gridVirtualizationApi.d.ts +2 -3
  299. package/models/colDef/gridColType.d.ts +11 -2
  300. package/models/events/gridEventLookup.d.ts +3 -3
  301. package/models/gridFilterModel.d.ts +1 -1
  302. package/models/gridSlotsComponent.d.ts +21 -2
  303. package/models/gridSlotsComponentsProps.d.ts +4 -0
  304. package/models/gridStateCommunity.d.ts +5 -1
  305. package/models/index.d.ts +0 -1
  306. package/models/index.js +0 -1
  307. package/models/params/index.d.ts +0 -1
  308. package/models/params/index.js +1 -2
  309. package/models/props/DataGridProps.d.ts +6 -11
  310. package/modern/DataGrid/DataGrid.js +6 -6
  311. package/modern/DataGrid/useDataGridComponent.js +2 -1
  312. package/modern/DataGrid/useDataGridProps.js +1 -0
  313. package/modern/components/GridColumnHeaders.js +3 -11
  314. package/modern/components/GridDetailPanels.js +4 -0
  315. package/modern/components/GridHeaders.js +53 -0
  316. package/modern/components/GridPinnedRows.js +4 -0
  317. package/modern/components/GridRow.js +159 -96
  318. package/modern/components/GridScrollbarFillerCell.js +39 -0
  319. package/modern/components/base/GridBody.js +2 -116
  320. package/modern/components/base/GridOverlays.js +10 -16
  321. package/modern/components/cell/GridCell.js +65 -369
  322. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  323. package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  324. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  325. package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  326. package/modern/components/columnsManagement/GridColumnsManagement.js +256 -0
  327. package/modern/components/columnsManagement/index.js +1 -0
  328. package/modern/components/columnsManagement/utils.js +16 -0
  329. package/modern/components/containers/GridRoot.js +18 -14
  330. package/modern/components/containers/GridRootStyles.js +307 -204
  331. package/modern/components/index.js +1 -0
  332. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  333. package/modern/components/panel/GridColumnsPanel.js +4 -209
  334. package/modern/components/panel/GridPanel.js +3 -4
  335. package/modern/components/panel/filterPanel/GridFilterForm.js +30 -13
  336. package/modern/components/panel/filterPanel/GridFilterPanel.js +46 -20
  337. package/modern/components/toolbar/GridToolbarColumnsButton.js +38 -21
  338. package/modern/components/toolbar/GridToolbarDensitySelector.js +38 -21
  339. package/modern/components/toolbar/GridToolbarExport.js +6 -1
  340. package/modern/components/toolbar/GridToolbarExportContainer.js +39 -22
  341. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -10
  342. package/modern/components/virtualization/GridBottomContainer.js +25 -0
  343. package/modern/components/virtualization/GridMainContainer.js +20 -0
  344. package/modern/components/virtualization/GridTopContainer.js +35 -0
  345. package/modern/components/virtualization/GridVirtualScrollbar.js +131 -0
  346. package/modern/components/virtualization/GridVirtualScroller.js +69 -16
  347. package/modern/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  348. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  349. package/modern/constants/defaultGridSlotsComponents.js +8 -3
  350. package/modern/constants/gridClasses.js +1 -1
  351. package/modern/constants/localeTextConstants.js +4 -6
  352. package/modern/hooks/core/gridCoreSelector.js +5 -0
  353. package/modern/hooks/core/useGridApiInitialization.js +3 -0
  354. package/modern/hooks/core/useGridInitialization.js +4 -0
  355. package/modern/hooks/core/useGridRefs.js +13 -0
  356. package/modern/hooks/core/useGridTheme.js +19 -0
  357. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
  358. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +67 -160
  359. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  360. package/modern/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  361. package/modern/hooks/features/columns/gridColumnsSelector.js +51 -0
  362. package/modern/hooks/features/columns/gridColumnsUtils.js +10 -12
  363. package/modern/hooks/features/columns/index.js +2 -1
  364. package/modern/hooks/features/columns/useGridColumnSpanning.js +62 -61
  365. package/modern/hooks/features/columns/useGridColumns.js +19 -21
  366. package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  367. package/modern/hooks/features/dimensions/index.js +1 -0
  368. package/modern/hooks/features/dimensions/useGridDimensions.js +214 -146
  369. package/modern/hooks/features/export/serializers/csvSerializer.js +2 -2
  370. package/modern/hooks/features/filter/useGridFilter.js +3 -3
  371. package/modern/hooks/features/focus/gridFocusStateSelector.js +2 -6
  372. package/modern/hooks/features/focus/useGridFocus.js +3 -3
  373. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  374. package/modern/hooks/features/pagination/useGridPagination.js +3 -5
  375. package/modern/hooks/features/rows/gridRowsSelector.js +2 -2
  376. package/modern/hooks/features/rows/gridRowsUtils.js +8 -5
  377. package/modern/hooks/features/rows/useGridRowsMeta.js +7 -4
  378. package/modern/hooks/features/scroll/useGridScroll.js +8 -9
  379. package/modern/hooks/features/sorting/gridSortingUtils.js +1 -1
  380. package/modern/hooks/features/sorting/useGridSorting.js +15 -10
  381. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  382. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +435 -432
  383. package/modern/hooks/features/virtualization/useGridVirtualization.js +8 -1
  384. package/modern/hooks/utils/index.js +4 -1
  385. package/modern/hooks/utils/useGridAriaAttributes.js +1 -1
  386. package/modern/hooks/utils/useGridNativeEventListener.js +3 -9
  387. package/modern/hooks/utils/useResizeObserver.js +36 -0
  388. package/modern/hooks/utils/useRunOnce.js +18 -0
  389. package/modern/index.js +1 -1
  390. package/modern/internals/index.js +9 -7
  391. package/modern/locales/arSD.js +5 -6
  392. package/modern/locales/beBY.js +5 -6
  393. package/modern/locales/bgBG.js +5 -6
  394. package/modern/locales/csCZ.js +5 -6
  395. package/modern/locales/daDK.js +5 -6
  396. package/modern/locales/deDE.js +5 -6
  397. package/modern/locales/elGR.js +5 -6
  398. package/modern/locales/esES.js +5 -6
  399. package/modern/locales/faIR.js +5 -6
  400. package/modern/locales/fiFI.js +5 -6
  401. package/modern/locales/frFR.js +5 -6
  402. package/modern/locales/heIL.js +5 -6
  403. package/modern/locales/hrHR.js +148 -0
  404. package/modern/locales/huHU.js +5 -6
  405. package/modern/locales/index.js +4 -1
  406. package/modern/locales/itIT.js +5 -6
  407. package/modern/locales/jaJP.js +5 -6
  408. package/modern/locales/koKR.js +5 -6
  409. package/modern/locales/nbNO.js +5 -6
  410. package/modern/locales/nlNL.js +5 -6
  411. package/modern/locales/plPL.js +5 -6
  412. package/modern/locales/ptBR.js +5 -6
  413. package/modern/locales/ptPT.js +148 -0
  414. package/modern/locales/roRO.js +5 -6
  415. package/modern/locales/ruRU.js +5 -6
  416. package/modern/locales/skSK.js +5 -6
  417. package/modern/locales/svSE.js +5 -6
  418. package/modern/locales/trTR.js +5 -6
  419. package/modern/locales/ukUA.js +5 -6
  420. package/modern/locales/urPK.js +5 -6
  421. package/modern/locales/viVN.js +5 -6
  422. package/modern/locales/zhCN.js +5 -6
  423. package/modern/locales/zhHK.js +148 -0
  424. package/modern/locales/zhTW.js +5 -6
  425. package/modern/models/index.js +0 -1
  426. package/modern/models/params/index.js +1 -2
  427. package/modern/utils/utils.js +10 -1
  428. package/node/DataGrid/DataGrid.js +6 -6
  429. package/node/DataGrid/useDataGridComponent.js +1 -0
  430. package/node/DataGrid/useDataGridProps.js +1 -0
  431. package/node/components/GridColumnHeaders.js +3 -11
  432. package/node/components/GridDetailPanels.js +10 -0
  433. package/node/components/GridHeaders.js +60 -0
  434. package/node/components/GridPinnedRows.js +10 -0
  435. package/node/components/GridRow.js +157 -94
  436. package/node/components/GridScrollbarFillerCell.js +47 -0
  437. package/node/components/base/GridBody.js +7 -118
  438. package/node/components/base/GridOverlays.js +9 -15
  439. package/node/components/cell/GridCell.js +66 -369
  440. package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  441. package/node/components/columnHeaders/GridColumnHeaderItem.js +8 -4
  442. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  443. package/node/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  444. package/node/components/columnsManagement/GridColumnsManagement.js +264 -0
  445. package/node/components/columnsManagement/index.js +16 -0
  446. package/node/components/columnsManagement/utils.js +24 -0
  447. package/node/components/containers/GridRoot.js +17 -14
  448. package/node/components/containers/GridRootStyles.js +175 -72
  449. package/node/components/index.js +11 -0
  450. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  451. package/node/components/panel/GridColumnsPanel.js +4 -208
  452. package/node/components/panel/GridPanel.js +3 -4
  453. package/node/components/panel/filterPanel/GridFilterForm.js +29 -12
  454. package/node/components/panel/filterPanel/GridFilterPanel.js +45 -19
  455. package/node/components/toolbar/GridToolbarColumnsButton.js +36 -20
  456. package/node/components/toolbar/GridToolbarDensitySelector.js +36 -20
  457. package/node/components/toolbar/GridToolbarExport.js +6 -1
  458. package/node/components/toolbar/GridToolbarExportContainer.js +37 -21
  459. package/node/components/toolbar/GridToolbarFilterButton.js +6 -10
  460. package/node/components/virtualization/GridBottomContainer.js +34 -0
  461. package/node/components/{containers → virtualization}/GridMainContainer.js +7 -29
  462. package/node/components/virtualization/GridTopContainer.js +44 -0
  463. package/node/components/virtualization/GridVirtualScrollbar.js +138 -0
  464. package/node/components/virtualization/GridVirtualScroller.js +69 -17
  465. package/node/components/virtualization/GridVirtualScrollerFiller.js +77 -0
  466. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  467. package/node/constants/defaultGridSlotsComponents.js +6 -1
  468. package/node/constants/gridClasses.js +1 -1
  469. package/node/constants/localeTextConstants.js +4 -6
  470. package/node/hooks/core/gridCoreSelector.js +12 -0
  471. package/node/hooks/core/useGridApiInitialization.js +3 -0
  472. package/node/hooks/core/useGridInitialization.js +4 -0
  473. package/node/hooks/core/useGridRefs.js +22 -0
  474. package/node/hooks/core/useGridTheme.js +29 -0
  475. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
  476. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +65 -159
  477. package/node/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  478. package/node/hooks/features/columns/gridColumnsInterfaces.js +11 -1
  479. package/node/hooks/features/columns/gridColumnsSelector.js +52 -1
  480. package/node/hooks/features/columns/gridColumnsUtils.js +10 -13
  481. package/node/hooks/features/columns/index.js +22 -61
  482. package/node/hooks/features/columns/useGridColumnSpanning.js +62 -61
  483. package/node/hooks/features/columns/useGridColumns.js +20 -22
  484. package/node/hooks/features/dimensions/gridDimensionsSelectors.js +8 -0
  485. package/node/hooks/features/dimensions/index.js +11 -0
  486. package/node/hooks/features/dimensions/useGridDimensions.js +215 -144
  487. package/node/hooks/features/export/serializers/csvSerializer.js +2 -2
  488. package/node/hooks/features/filter/useGridFilter.js +2 -2
  489. package/node/hooks/features/focus/gridFocusStateSelector.js +3 -7
  490. package/node/hooks/features/focus/useGridFocus.js +2 -2
  491. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -15
  492. package/node/hooks/features/pagination/useGridPagination.js +3 -5
  493. package/node/hooks/features/rows/gridRowsSelector.js +2 -2
  494. package/node/hooks/features/rows/gridRowsUtils.js +8 -5
  495. package/node/hooks/features/rows/useGridRowsMeta.js +5 -3
  496. package/node/hooks/features/scroll/useGridScroll.js +8 -9
  497. package/node/hooks/features/sorting/gridSortingUtils.js +1 -1
  498. package/node/hooks/features/sorting/useGridSorting.js +15 -10
  499. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  500. package/node/hooks/features/virtualization/useGridVirtualScroller.js +434 -431
  501. package/node/hooks/features/virtualization/useGridVirtualization.js +9 -1
  502. package/node/hooks/utils/index.js +36 -0
  503. package/node/hooks/utils/useGridAriaAttributes.js +1 -1
  504. package/node/hooks/utils/useGridNativeEventListener.js +3 -9
  505. package/node/hooks/utils/useResizeObserver.js +44 -0
  506. package/node/hooks/utils/useRunOnce.js +27 -0
  507. package/node/index.js +1 -1
  508. package/node/internals/index.js +86 -71
  509. package/node/locales/arSD.js +5 -6
  510. package/node/locales/beBY.js +5 -6
  511. package/node/locales/bgBG.js +5 -6
  512. package/node/locales/csCZ.js +5 -6
  513. package/node/locales/daDK.js +5 -6
  514. package/node/locales/deDE.js +5 -6
  515. package/node/locales/elGR.js +5 -6
  516. package/node/locales/esES.js +5 -6
  517. package/node/locales/faIR.js +5 -6
  518. package/node/locales/fiFI.js +5 -6
  519. package/node/locales/frFR.js +5 -6
  520. package/node/locales/heIL.js +5 -6
  521. package/node/locales/hrHR.js +154 -0
  522. package/node/locales/huHU.js +5 -6
  523. package/node/locales/index.js +33 -0
  524. package/node/locales/itIT.js +5 -6
  525. package/node/locales/jaJP.js +5 -6
  526. package/node/locales/koKR.js +5 -6
  527. package/node/locales/nbNO.js +5 -6
  528. package/node/locales/nlNL.js +5 -6
  529. package/node/locales/plPL.js +5 -6
  530. package/node/locales/ptBR.js +5 -6
  531. package/node/locales/ptPT.js +154 -0
  532. package/node/locales/roRO.js +5 -6
  533. package/node/locales/ruRU.js +5 -6
  534. package/node/locales/skSK.js +5 -6
  535. package/node/locales/svSE.js +5 -6
  536. package/node/locales/trTR.js +5 -6
  537. package/node/locales/ukUA.js +5 -6
  538. package/node/locales/urPK.js +5 -6
  539. package/node/locales/viVN.js +5 -6
  540. package/node/locales/zhCN.js +5 -6
  541. package/node/locales/zhHK.js +154 -0
  542. package/node/locales/zhTW.js +5 -6
  543. package/node/models/index.js +0 -11
  544. package/node/models/params/index.js +0 -11
  545. package/node/utils/utils.js +11 -1
  546. package/package.json +6 -6
  547. package/utils/utils.d.ts +6 -0
  548. package/utils/utils.js +10 -1
  549. package/components/DataGridVirtualScroller.d.ts +0 -3
  550. package/components/DataGridVirtualScroller.js +0 -35
  551. package/components/containers/GridMainContainer.js +0 -43
  552. package/legacy/components/DataGridVirtualScroller.js +0 -32
  553. package/legacy/components/containers/GridMainContainer.js +0 -45
  554. package/legacy/models/gridRootContainerRef.js +0 -1
  555. package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  556. package/models/gridRootContainerRef.d.ts +0 -5
  557. package/models/gridRootContainerRef.js +0 -1
  558. package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +0 -10
  559. package/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  560. package/modern/components/DataGridVirtualScroller.js +0 -35
  561. package/modern/components/containers/GridMainContainer.js +0 -42
  562. package/modern/models/gridRootContainerRef.js +0 -1
  563. package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  564. package/node/components/DataGridVirtualScroller.js +0 -42
  565. package/node/models/gridRootContainerRef.js +0 -5
  566. package/node/models/params/gridRenderedRowsIntervalChangeParams.js +0 -5
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.GridToolbarDensitySelector = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
9
  var React = _interopRequireWildcard(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _utils = require("@mui/utils");
12
12
  var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
13
13
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
@@ -20,14 +20,14 @@ var _GridMenu = require("../menu/GridMenu");
20
20
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
21
21
  var _gridClasses = require("../../constants/gridClasses");
22
22
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["onClick"];
24
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
25
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
25
  const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridToolbarDensitySelector(props, ref) {
27
26
  const {
28
- onClick
29
- } = props,
30
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
27
+ slotProps = {}
28
+ } = props;
29
+ const buttonProps = slotProps.button || {};
30
+ const tooltipProps = slotProps.tooltip || {};
31
31
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
32
32
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
33
33
  const densityValue = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityValueSelector);
@@ -61,7 +61,7 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
61
61
  }, [densityValue, rootProps]);
62
62
  const handleDensitySelectorOpen = event => {
63
63
  setOpen(prevOpen => !prevOpen);
64
- onClick?.(event);
64
+ buttonProps.onClick?.(event);
65
65
  };
66
66
  const handleDensitySelectorClose = () => {
67
67
  setOpen(false);
@@ -91,19 +91,24 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
91
91
  }), option.label]
92
92
  }, index));
93
93
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
94
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
95
- ref: handleRef,
96
- size: "small",
97
- startIcon: startIcon,
98
- "aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
99
- "aria-haspopup": "menu",
100
- "aria-expanded": open,
101
- "aria-controls": open ? densityMenuId : undefined,
102
- id: densityButtonId
103
- }, other, {
104
- onClick: handleDensitySelectorOpen
105
- }, rootProps.slotProps?.baseButton, {
106
- children: apiRef.current.getLocaleText('toolbarDensity')
94
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
95
+ title: apiRef.current.getLocaleText('toolbarDensityLabel'),
96
+ enterDelay: 1000
97
+ }, tooltipProps, rootProps.slotProps?.baseTooltip, {
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
99
+ ref: handleRef,
100
+ size: "small",
101
+ startIcon: startIcon,
102
+ "aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
103
+ "aria-haspopup": "menu",
104
+ "aria-expanded": open,
105
+ "aria-controls": open ? densityMenuId : undefined,
106
+ id: densityButtonId
107
+ }, buttonProps, {
108
+ onClick: handleDensitySelectorOpen
109
+ }, rootProps.slotProps?.baseButton, {
110
+ children: apiRef.current.getLocaleText('toolbarDensity')
111
+ }))
107
112
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridMenu.GridMenu, {
108
113
  open: open,
109
114
  target: buttonRef.current,
@@ -119,4 +124,15 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
119
124
  })
120
125
  })]
121
126
  });
122
- });
127
+ });
128
+ process.env.NODE_ENV !== "production" ? GridToolbarDensitySelector.propTypes = {
129
+ // ----------------------------- Warning --------------------------------
130
+ // | These PropTypes are generated from the TypeScript type definitions |
131
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
132
+ // ----------------------------------------------------------------------
133
+ /**
134
+ * The props used for each slot inside.
135
+ * @default {}
136
+ */
137
+ slotProps: _propTypes.default.object
138
+ } : void 0;
@@ -81,5 +81,10 @@ process.env.NODE_ENV !== "production" ? GridToolbarExport.propTypes = {
81
81
  // | To update them edit the TypeScript types and run "yarn proptypes" |
82
82
  // ----------------------------------------------------------------------
83
83
  csvOptions: _propTypes.default.object,
84
- printOptions: _propTypes.default.object
84
+ printOptions: _propTypes.default.object,
85
+ /**
86
+ * The props used for each slot inside.
87
+ * @default {}
88
+ */
89
+ slotProps: _propTypes.default.object
85
90
  } : void 0;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.GridToolbarExportContainer = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
9
  var React = _interopRequireWildcard(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _utils = require("@mui/utils");
12
12
  var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
13
13
  var _keyboardUtils = require("../../utils/keyboardUtils");
@@ -16,15 +16,15 @@ var _GridMenu = require("../menu/GridMenu");
16
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
17
  var _gridClasses = require("../../constants/gridClasses");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["children", "onClick"];
20
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
21
  const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridToolbarExportContainer(props, ref) {
23
22
  const {
24
- children,
25
- onClick
26
- } = props,
27
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
23
+ children,
24
+ slotProps = {}
25
+ } = props;
26
+ const buttonProps = slotProps.button || {};
27
+ const tooltipProps = slotProps.tooltip || {};
28
28
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
29
29
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
30
30
  const exportButtonId = (0, _utils.unstable_useId)();
@@ -34,7 +34,7 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
34
34
  const handleRef = (0, _utils.unstable_useForkRef)(ref, buttonRef);
35
35
  const handleMenuOpen = event => {
36
36
  setOpen(prevOpen => !prevOpen);
37
- onClick?.(event);
37
+ buttonProps.onClick?.(event);
38
38
  };
39
39
  const handleMenuClose = () => setOpen(false);
40
40
  const handleListKeyDown = event => {
@@ -49,19 +49,24 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
49
49
  return null;
50
50
  }
51
51
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
52
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
53
- ref: handleRef,
54
- size: "small",
55
- startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.exportIcon, {}),
56
- "aria-expanded": open,
57
- "aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
58
- "aria-haspopup": "menu",
59
- "aria-controls": open ? exportMenuId : undefined,
60
- id: exportButtonId
61
- }, other, {
62
- onClick: handleMenuOpen
63
- }, rootProps.slotProps?.baseButton, {
64
- children: apiRef.current.getLocaleText('toolbarExport')
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
53
+ title: apiRef.current.getLocaleText('toolbarExportLabel'),
54
+ enterDelay: 1000
55
+ }, tooltipProps, rootProps.slotProps?.baseTooltip, {
56
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
57
+ ref: handleRef,
58
+ size: "small",
59
+ startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.exportIcon, {}),
60
+ "aria-expanded": open,
61
+ "aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
62
+ "aria-haspopup": "menu",
63
+ "aria-controls": open ? exportMenuId : undefined,
64
+ id: exportButtonId
65
+ }, buttonProps, {
66
+ onClick: handleMenuOpen
67
+ }, rootProps.slotProps?.baseButton, {
68
+ children: apiRef.current.getLocaleText('toolbarExport')
69
+ }))
65
70
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridMenu.GridMenu, {
66
71
  open: open,
67
72
  target: buttonRef.current,
@@ -84,4 +89,15 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
84
89
  })
85
90
  })]
86
91
  });
87
- });
92
+ });
93
+ process.env.NODE_ENV !== "production" ? GridToolbarExportContainer.propTypes = {
94
+ // ----------------------------- Warning --------------------------------
95
+ // | These PropTypes are generated from the TypeScript type definitions |
96
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
97
+ // ----------------------------------------------------------------------
98
+ /**
99
+ * The props used for each slot inside.
100
+ * @default {}
101
+ */
102
+ slotProps: _propTypes.default.object
103
+ } : void 0;
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.GridToolbarFilterButton = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
9
  var React = _interopRequireWildcard(require("react"));
11
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _styles = require("@mui/material/styles");
@@ -21,7 +20,6 @@ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
21
20
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
22
21
  var _gridClasses = require("../../constants/gridClasses");
23
22
  var _jsxRuntime = require("react/jsx-runtime");
24
- const _excluded = ["componentsProps"];
25
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
26
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
27
25
  const useUtilityClasses = ownerState => {
@@ -45,10 +43,10 @@ const GridToolbarFilterListRoot = (0, _styles.styled)('ul', {
45
43
  }));
46
44
  const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolbarFilterButton(props, ref) {
47
45
  const {
48
- componentsProps = {}
49
- } = props,
50
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
51
- const buttonProps = componentsProps.button || {};
46
+ slotProps = {}
47
+ } = props;
48
+ const buttonProps = slotProps.button || {};
49
+ const tooltipProps = slotProps.tooltip || {};
52
50
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
53
51
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
54
52
  const activeFilters = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilterActiveItemsSelector);
@@ -106,7 +104,7 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/R
106
104
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
107
105
  title: tooltipContentNode,
108
106
  enterDelay: 1000
109
- }, other, rootProps.slotProps?.baseTooltip, {
107
+ }, tooltipProps, rootProps.slotProps?.baseTooltip, {
110
108
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
111
109
  ref: ref,
112
110
  id: filterButtonId,
@@ -136,7 +134,5 @@ process.env.NODE_ENV !== "production" ? GridToolbarFilterButton.propTypes = {
136
134
  * The props used for each slot inside.
137
135
  * @default {}
138
136
  */
139
- componentsProps: _propTypes.default.shape({
140
- button: _propTypes.default.object
141
- })
137
+ slotProps: _propTypes.default.object
142
138
  } : void 0;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.GridBottomContainer = GridBottomContainer;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+ var _system = require("@mui/system");
12
+ var _utils = require("@mui/utils");
13
+ var _gridClasses = require("../../constants/gridClasses");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ const useUtilityClasses = () => {
18
+ const slots = {
19
+ root: ['bottomContainer']
20
+ };
21
+ return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, {});
22
+ };
23
+ const Element = (0, _system.styled)('div')({
24
+ position: 'sticky',
25
+ zIndex: 2,
26
+ bottom: 'calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))'
27
+ });
28
+ function GridBottomContainer(props) {
29
+ const classes = useUtilityClasses();
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({}, props, {
31
+ className: (0, _clsx.default)(classes.root, props.className, _gridClasses.gridClasses['container--bottom']),
32
+ role: "presentation"
33
+ }));
34
+ }
@@ -7,44 +7,22 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.GridMainContainer = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _utils = require("@mui/utils");
11
10
  var _system = require("@mui/system");
12
- var _gridClasses = require("../../constants/gridClasses");
13
- var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
14
11
  var _useGridAriaAttributes = require("../../hooks/utils/useGridAriaAttributes");
15
12
  var _jsxRuntime = require("react/jsx-runtime");
16
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- const useUtilityClasses = ownerState => {
19
- const {
20
- classes
21
- } = ownerState;
22
- const slots = {
23
- root: ['main']
24
- };
25
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
26
- };
27
- const GridMainContainerRoot = (0, _system.styled)('div', {
28
- name: 'MuiDataGrid',
29
- slot: 'Main',
30
- overridesResolver: (props, styles) => styles.main
31
- })(() => ({
32
- position: 'relative',
15
+ const Element = (0, _system.styled)('div')({
33
16
  flexGrow: 1,
34
- display: 'flex',
35
- flexDirection: 'column',
17
+ position: 'relative',
36
18
  overflow: 'hidden'
37
- }));
19
+ });
38
20
  const GridMainContainer = exports.GridMainContainer = /*#__PURE__*/React.forwardRef((props, ref) => {
39
- const rootProps = (0, _useGridRootProps.useGridRootProps)();
40
- const classes = useUtilityClasses(rootProps);
41
- const getAriaAttributes = rootProps.experimentalFeatures?.ariaV7 // ariaV7 should never change
42
- ? _useGridAriaAttributes.useGridAriaAttributes : null;
43
- const ariaAttributes = typeof getAriaAttributes === 'function' ? getAriaAttributes() : null;
44
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridMainContainerRoot, (0, _extends2.default)({
21
+ const ariaAttributes = (0, _useGridAriaAttributes.useGridAriaAttributes)();
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({
45
23
  ref: ref,
46
- className: classes.root,
47
- ownerState: rootProps
24
+ className: props.className,
25
+ tabIndex: -1
48
26
  }, ariaAttributes, {
49
27
  children: props.children
50
28
  }));
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.GridTopContainer = GridTopContainer;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+ var _system = require("@mui/system");
12
+ var _utils = require("@mui/utils");
13
+ var _gridClasses = require("../../constants/gridClasses");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ const useUtilityClasses = () => {
18
+ const slots = {
19
+ root: ['topContainer']
20
+ };
21
+ return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, {});
22
+ };
23
+ const Element = (0, _system.styled)('div')({
24
+ position: 'sticky',
25
+ zIndex: 2,
26
+ top: 0,
27
+ '&::after': {
28
+ content: '" "',
29
+ position: 'absolute',
30
+ zIndex: 5,
31
+ bottom: 0,
32
+ left: 0,
33
+ height: 1,
34
+ width: 'var(--DataGrid-rowWidth)',
35
+ backgroundColor: 'var(--DataGrid-rowBorderColor)'
36
+ }
37
+ });
38
+ function GridTopContainer(props) {
39
+ const classes = useUtilityClasses();
40
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({}, props, {
41
+ className: (0, _clsx.default)(classes.root, props.className, _gridClasses.gridClasses['container--top']),
42
+ role: "presentation"
43
+ }));
44
+ }
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GridVirtualScrollbar = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _system = require("@mui/system");
9
+ var _utils = require("@mui/utils");
10
+ var _useOnMount = require("../../hooks/utils/useOnMount");
11
+ var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
12
+ var _hooks = require("../../hooks");
13
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
14
+ var _gridClasses = require("../../constants/gridClasses");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ const useUtilityClasses = (ownerState, position) => {
19
+ const {
20
+ classes
21
+ } = ownerState;
22
+ const slots = {
23
+ root: ['scrollbar', `scrollbar--${position}`],
24
+ content: ['scrollbarContent']
25
+ };
26
+ return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
27
+ };
28
+ const Scrollbar = (0, _system.styled)('div')({
29
+ position: 'absolute',
30
+ display: 'inline-block',
31
+ zIndex: 6,
32
+ '& > div': {
33
+ display: 'inline-block'
34
+ },
35
+ // In macOS Safari and Gnome Web, scrollbars are overlaid and don't affect the layout. So we consider
36
+ // their size to be 0px throughout all the calculations, but the floating scrollbar container does need
37
+ // to appear and have a real size. We set it to 14px because it seems like an acceptable value and we
38
+ // don't have a method to find the required size for scrollbars on those platforms.
39
+ '--size': 'calc(max(var(--DataGrid-scrollbarSize), 14px))'
40
+ });
41
+ const ScrollbarVertical = (0, _system.styled)(Scrollbar)({
42
+ width: 'var(--size)',
43
+ height: 'calc(var(--DataGrid-hasScrollY) * (100% - var(--DataGrid-topContainerHeight) - var(--DataGrid-bottomContainerHeight) - var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize)))',
44
+ overflowY: 'auto',
45
+ overflowX: 'hidden',
46
+ '& > div': {
47
+ width: 'var(--size)'
48
+ },
49
+ top: 'var(--DataGrid-topContainerHeight)',
50
+ right: '0px'
51
+ });
52
+ const ScrollbarHorizontal = (0, _system.styled)(Scrollbar)({
53
+ width: '100%',
54
+ height: 'var(--size)',
55
+ overflowY: 'hidden',
56
+ overflowX: 'auto',
57
+ '& > div': {
58
+ height: 'var(--size)'
59
+ },
60
+ bottom: '0px'
61
+ });
62
+ const Content = (0, _system.styled)('div')({
63
+ display: 'inline-block'
64
+ });
65
+ const GridVirtualScrollbar = exports.GridVirtualScrollbar = /*#__PURE__*/React.forwardRef(function GridVirtualScrollbar(props, ref) {
66
+ const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
67
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
68
+ const isLocked = React.useRef(false);
69
+ const lastPosition = React.useRef(0);
70
+ const scrollbarRef = React.useRef(null);
71
+ const contentRef = React.useRef(null);
72
+ const classes = useUtilityClasses(rootProps, props.position);
73
+ const dimensions = (0, _hooks.useGridSelector)(apiRef, _hooks.gridDimensionsSelector);
74
+ const propertyDimension = props.position === 'vertical' ? 'height' : 'width';
75
+ const propertyScroll = props.position === 'vertical' ? 'scrollTop' : 'scrollLeft';
76
+ const hasScroll = props.position === 'vertical' ? dimensions.hasScrollX : dimensions.hasScrollY;
77
+ const contentSize = dimensions.minimumSize[propertyDimension] + (hasScroll ? dimensions.scrollbarSize : 0);
78
+ const scrollbarSize = props.position === 'vertical' ? dimensions.viewportInnerSize.height : dimensions.viewportOuterSize.width;
79
+ const scrollbarInnerSize = scrollbarSize * (contentSize / dimensions.viewportOuterSize[propertyDimension]);
80
+ const onScrollerScroll = (0, _utils.unstable_useEventCallback)(() => {
81
+ const scroller = apiRef.current.virtualScrollerRef.current;
82
+ const scrollbar = scrollbarRef.current;
83
+ if (scroller[propertyScroll] === lastPosition.current) {
84
+ return;
85
+ }
86
+ if (isLocked.current) {
87
+ isLocked.current = false;
88
+ return;
89
+ }
90
+ isLocked.current = true;
91
+ const value = scroller[propertyScroll] / contentSize;
92
+ scrollbar[propertyScroll] = value * scrollbarInnerSize;
93
+ lastPosition.current = scroller[propertyScroll];
94
+ });
95
+ const onScrollbarScroll = (0, _utils.unstable_useEventCallback)(() => {
96
+ const scroller = apiRef.current.virtualScrollerRef.current;
97
+ const scrollbar = scrollbarRef.current;
98
+ if (isLocked.current) {
99
+ isLocked.current = false;
100
+ return;
101
+ }
102
+ isLocked.current = true;
103
+ const value = scrollbar[propertyScroll] / scrollbarInnerSize;
104
+ scroller[propertyScroll] = value * contentSize;
105
+ });
106
+ (0, _useOnMount.useOnMount)(() => {
107
+ const scroller = apiRef.current.virtualScrollerRef.current;
108
+ const scrollbar = scrollbarRef.current;
109
+ scroller.addEventListener('scroll', onScrollerScroll, {
110
+ capture: true
111
+ });
112
+ scrollbar.addEventListener('scroll', onScrollbarScroll, {
113
+ capture: true
114
+ });
115
+ return () => {
116
+ scroller.removeEventListener('scroll', onScrollerScroll, {
117
+ capture: true
118
+ });
119
+ scrollbar.removeEventListener('scroll', onScrollbarScroll, {
120
+ capture: true
121
+ });
122
+ };
123
+ });
124
+ React.useEffect(() => {
125
+ const content = contentRef.current;
126
+ content.style.setProperty(propertyDimension, `${scrollbarInnerSize}px`);
127
+ }, [scrollbarInnerSize, propertyDimension]);
128
+ const Container = props.position === 'vertical' ? ScrollbarVertical : ScrollbarHorizontal;
129
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Container, {
130
+ ref: (0, _utils.unstable_useForkRef)(ref, scrollbarRef),
131
+ className: classes.root,
132
+ tabIndex: -1,
133
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, {
134
+ ref: contentRef,
135
+ className: classes.content
136
+ })
137
+ });
138
+ });
@@ -4,47 +4,99 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.GridVirtualScroller = void 0;
7
+ exports.GridVirtualScroller = GridVirtualScroller;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _clsx = _interopRequireDefault(require("clsx"));
11
10
  var _system = require("@mui/system");
12
11
  var _utils = require("@mui/utils");
13
12
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
13
+ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
14
+ var _useGridSelector = require("../../hooks/utils/useGridSelector");
14
15
  var _gridClasses = require("../../constants/gridClasses");
16
+ var _dimensions = require("../../hooks/features/dimensions");
17
+ var _useGridVirtualScroller = require("../../hooks/features/virtualization/useGridVirtualScroller");
18
+ var _GridOverlays = require("../base/GridOverlays");
19
+ var _GridHeaders = require("../GridHeaders");
20
+ var _GridMainContainer = require("./GridMainContainer");
21
+ var _GridTopContainer = require("./GridTopContainer");
22
+ var _GridBottomContainer = require("./GridBottomContainer");
23
+ var _GridVirtualScrollerContent = require("./GridVirtualScrollerContent");
24
+ var _GridVirtualScrollerFiller = require("./GridVirtualScrollerFiller");
25
+ var _GridVirtualScrollerRenderZone = require("./GridVirtualScrollerRenderZone");
26
+ var _GridVirtualScrollbar = require("./GridVirtualScrollbar");
15
27
  var _jsxRuntime = require("react/jsx-runtime");
16
28
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
29
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- const useUtilityClasses = ownerState => {
30
+ const useUtilityClasses = (ownerState, dimensions) => {
19
31
  const {
20
32
  classes
21
33
  } = ownerState;
22
34
  const slots = {
23
- root: ['virtualScroller']
35
+ root: ['main', dimensions.rightPinnedWidth > 0 && 'main--hasPinnedRight'],
36
+ scroller: ['virtualScroller']
24
37
  };
25
38
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
26
39
  };
27
- const VirtualScrollerRoot = (0, _system.styled)('div', {
40
+ const Scroller = (0, _system.styled)('div', {
28
41
  name: 'MuiDataGrid',
29
42
  slot: 'VirtualScroller',
30
43
  overridesResolver: (props, styles) => styles.virtualScroller
31
44
  })({
32
- overflow: 'auto',
33
- height: '100%',
34
- // See https://github.com/mui/mui-x/issues/4360
35
45
  position: 'relative',
46
+ height: '100%',
47
+ overflow: 'scroll',
48
+ scrollbarWidth: 'none' /* Firefox */,
49
+ '&::-webkit-scrollbar': {
50
+ display: 'none' /* Safari and Chrome */
51
+ },
36
52
  '@media print': {
37
53
  overflow: 'hidden'
38
54
  },
39
- zIndex: 0 // See https://github.com/mui/mui-x/issues/10547
55
+ // See https://github.com/mui/mui-x/issues/10547
56
+ zIndex: 0
40
57
  });
41
- const GridVirtualScroller = exports.GridVirtualScroller = /*#__PURE__*/React.forwardRef(function GridVirtualScroller(props, ref) {
58
+ function GridVirtualScroller(props) {
59
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
42
60
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
43
- const classes = useUtilityClasses(rootProps);
44
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerRoot, (0, _extends2.default)({
45
- ref: ref
46
- }, props, {
47
- className: (0, _clsx.default)(classes.root, props.className),
48
- ownerState: rootProps
61
+ const dimensions = (0, _useGridSelector.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
62
+ const classes = useUtilityClasses(rootProps, dimensions);
63
+ const virtualScroller = (0, _useGridVirtualScroller.useGridVirtualScroller)();
64
+ const {
65
+ getContainerProps,
66
+ getScrollerProps,
67
+ getContentProps,
68
+ getRenderZoneProps,
69
+ getScrollbarVerticalProps,
70
+ getScrollbarHorizontalProps
71
+ } = virtualScroller;
72
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridMainContainer.GridMainContainer, (0, _extends2.default)({
73
+ className: classes.root
74
+ }, getContainerProps(), {
75
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Scroller, (0, _extends2.default)({
76
+ className: classes.scroller
77
+ }, getScrollerProps(), {
78
+ ownerState: rootProps,
79
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridTopContainer.GridTopContainer, {
80
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeaders.GridHeaders, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
81
+ position: "top",
82
+ virtualScroller: virtualScroller
83
+ })]
84
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlays.GridOverlays, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerContent.GridVirtualScrollerContent, (0, _extends2.default)({}, getContentProps(), {
85
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridVirtualScrollerRenderZone.GridVirtualScrollerRenderZone, (0, _extends2.default)({}, getRenderZoneProps(), {
86
+ children: [virtualScroller.getRows(), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.detailPanels, {
87
+ virtualScroller: virtualScroller
88
+ })]
89
+ }))
90
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBottomContainer.GridBottomContainer, {
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
92
+ position: "bottom",
93
+ virtualScroller: virtualScroller
94
+ })
95
+ })]
96
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
97
+ position: "vertical"
98
+ }, getScrollbarVerticalProps())), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
99
+ position: "horizontal"
100
+ }, getScrollbarHorizontalProps())), props.children]
49
101
  }));
50
- });
102
+ }