@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
@@ -12,7 +12,6 @@ var _components = require("../components");
12
12
  var _GridContextProvider = require("../context/GridContextProvider");
13
13
  var _useDataGridComponent = require("./useDataGridComponent");
14
14
  var _useDataGridProps = require("./useDataGridProps");
15
- var _DataGridVirtualScroller = require("../components/DataGridVirtualScroller");
16
15
  var _propValidation = require("../internals/utils/propValidation");
17
16
  var _jsxRuntime = require("react/jsx-runtime");
18
17
  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); }
@@ -33,9 +32,7 @@ const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref
33
32
  sx: props.sx,
34
33
  ref: ref
35
34
  }, props.forwardedProps, {
36
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridHeader, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridBody, {
37
- VirtualScrollerComponent: _DataGridVirtualScroller.DataGridVirtualScroller
38
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridFooterPlaceholder, {})]
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridHeader, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridBody, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridFooterPlaceholder, {})]
39
36
  }))
40
37
  });
41
38
  });
@@ -139,6 +136,11 @@ DataGridRaw.propTypes = {
139
136
  * @default false
140
137
  */
141
138
  disableColumnSelector: _propTypes.default.bool,
139
+ /**
140
+ * If `true`, the column sorting feature will be disabled.
141
+ * @default false
142
+ */
143
+ disableColumnSorting: _propTypes.default.bool,
142
144
  /**
143
145
  * If `true`, the density selector is disabled.
144
146
  * @default false
@@ -175,8 +177,6 @@ DataGridRaw.propTypes = {
175
177
  * 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.
176
178
  */
177
179
  experimentalFeatures: _propTypes.default.shape({
178
- ariaV7: _propTypes.default.bool,
179
- columnGrouping: _propTypes.default.bool,
180
180
  warnIfFocusStateIsNotSynced: _propTypes.default.bool
181
181
  }),
182
182
  /**
@@ -44,6 +44,7 @@ const useDataGridComponent = (inputApiRef, props) => {
44
44
  /**
45
45
  * Register all state initializers here.
46
46
  */
47
+ (0, _useGridInitializeState.useGridInitializeState)(_useGridDimensions.dimensionsStateInitializer, apiRef, props);
47
48
  (0, _useGridInitializeState.useGridInitializeState)(_useGridRowSelection.rowSelectionStateInitializer, apiRef, props);
48
49
  (0, _useGridInitializeState.useGridInitializeState)(_useGridColumns.columnsStateInitializer, apiRef, props);
49
50
  (0, _useGridInitializeState.useGridInitializeState)(_useGridRows.rowsStateInitializer, apiRef, props);
@@ -48,6 +48,7 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = exports.DATA_GRID_PROPS_DEFAULT_VALUES =
48
48
  disableEval: false,
49
49
  disableMultipleColumnsFiltering: false,
50
50
  disableMultipleRowSelection: false,
51
+ disableColumnSorting: false,
51
52
  disableMultipleColumnsSorting: false,
52
53
  disableRowSelectionOnClick: false,
53
54
  disableVirtualization: false,
@@ -15,21 +15,19 @@ var _useGridColumnHeaders = require("../hooks/features/columnHeaders/useGridColu
15
15
  var _GridBaseColumnHeaders = require("./columnHeaders/GridBaseColumnHeaders");
16
16
  var _GridColumnHeadersInner = require("./columnHeaders/GridColumnHeadersInner");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
- const _excluded = ["innerRef", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnPositions", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "densityFactor", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
18
+ const _excluded = ["innerRef", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
19
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); }
20
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; }
21
- const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHeaders(props, ref) {
21
+ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
22
22
  const {
23
23
  innerRef,
24
24
  visibleColumns,
25
25
  sortColumnLookup,
26
26
  filterColumnLookup,
27
- columnPositions,
28
27
  columnHeaderTabIndexState,
29
28
  columnGroupHeaderTabIndexState,
30
29
  columnHeaderFocus,
31
30
  columnGroupHeaderFocus,
32
- densityFactor,
33
31
  headerGroupingMaxDepth,
34
32
  columnMenuState,
35
33
  columnVisibility,
@@ -39,7 +37,6 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
39
37
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
40
38
  const {
41
39
  isDragging,
42
- getRootProps,
43
40
  getInnerProps,
44
41
  getColumnHeaders,
45
42
  getColumnGroupHeaders
@@ -48,12 +45,10 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
48
45
  visibleColumns,
49
46
  sortColumnLookup,
50
47
  filterColumnLookup,
51
- columnPositions,
52
48
  columnHeaderTabIndexState,
53
49
  columnGroupHeaderTabIndexState,
54
50
  columnHeaderFocus,
55
51
  columnGroupHeaderFocus,
56
- densityFactor,
57
52
  headerGroupingMaxDepth,
58
53
  columnMenuState,
59
54
  columnVisibility,
@@ -62,7 +57,7 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
62
57
  });
63
58
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBaseColumnHeaders.GridBaseColumnHeaders, (0, _extends2.default)({
64
59
  ref: ref
65
- }, getRootProps(other), {
60
+ }, other, {
66
61
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridColumnHeadersInner.GridColumnHeadersInner, (0, _extends2.default)({
67
62
  isDragging: isDragging
68
63
  }, getInnerProps(), {
@@ -97,14 +92,11 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
97
92
  field: _propTypes.default.string,
98
93
  open: _propTypes.default.bool.isRequired
99
94
  }).isRequired,
100
- columnPositions: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
101
95
  columnVisibility: _propTypes.default.object.isRequired,
102
- densityFactor: _propTypes.default.number.isRequired,
103
96
  filterColumnLookup: _propTypes.default.object.isRequired,
104
97
  hasOtherElementInTabSequence: _propTypes.default.bool.isRequired,
105
98
  headerGroupingMaxDepth: _propTypes.default.number.isRequired,
106
99
  innerRef: _utils.refType,
107
- minColumnIndex: _propTypes.default.number,
108
100
  sortColumnLookup: _propTypes.default.object.isRequired,
109
101
  visibleColumns: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
110
102
  } : void 0;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GridDetailPanels = GridDetailPanels;
7
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
+ function GridDetailPanels(_) {
9
+ return null;
10
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GridHeaders = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _fastMemo = require("../utils/fastMemo");
9
+ var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
10
+ var _useGridSelector = require("../hooks/utils/useGridSelector");
11
+ var _useGridRootProps = require("../hooks/utils/useGridRootProps");
12
+ var _gridColumnsSelector = require("../hooks/features/columns/gridColumnsSelector");
13
+ var _gridFilterSelector = require("../hooks/features/filter/gridFilterSelector");
14
+ var _gridSortingSelector = require("../hooks/features/sorting/gridSortingSelector");
15
+ var _gridFocusStateSelector = require("../hooks/features/focus/gridFocusStateSelector");
16
+ var _gridColumnGroupsSelector = require("../hooks/features/columnGrouping/gridColumnGroupsSelector");
17
+ var _columnMenuSelector = require("../hooks/features/columnMenu/columnMenuSelector");
18
+ var _jsxRuntime = require("react/jsx-runtime");
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); }
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; }
21
+ function GridHeaders() {
22
+ const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
23
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
24
+ const visibleColumns = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector);
25
+ const filterColumnLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilterActiveItemsLookupSelector);
26
+ const sortColumnLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortColumnLookupSelector);
27
+ const columnHeaderTabIndexState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridTabIndexColumnHeaderSelector);
28
+ const cellTabIndexState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridTabIndexCellSelector);
29
+ const columnGroupHeaderTabIndexState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridTabIndexColumnGroupHeaderSelector);
30
+ const columnHeaderFocus = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridFocusColumnHeaderSelector);
31
+ const columnGroupHeaderFocus = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridFocusColumnGroupHeaderSelector);
32
+ const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector);
33
+ const columnMenuState = (0, _useGridSelector.useGridSelector)(apiRef, _columnMenuSelector.gridColumnMenuSelector);
34
+ const columnVisibility = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnVisibilityModelSelector);
35
+ const columnGroupsHeaderStructure = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderStructureSelector);
36
+ const hasOtherElementInTabSequence = !(columnGroupHeaderTabIndexState === null && columnHeaderTabIndexState === null && cellTabIndexState === null);
37
+ const columnHeadersRef = React.useRef(null);
38
+ const columnsContainerRef = React.useRef(null);
39
+ apiRef.current.register('private', {
40
+ columnHeadersContainerElementRef: columnsContainerRef,
41
+ columnHeadersElementRef: columnHeadersRef
42
+ });
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnHeaders, {
44
+ ref: columnsContainerRef,
45
+ innerRef: columnHeadersRef,
46
+ visibleColumns: visibleColumns,
47
+ filterColumnLookup: filterColumnLookup,
48
+ sortColumnLookup: sortColumnLookup,
49
+ columnHeaderTabIndexState: columnHeaderTabIndexState,
50
+ columnGroupHeaderTabIndexState: columnGroupHeaderTabIndexState,
51
+ columnHeaderFocus: columnHeaderFocus,
52
+ columnGroupHeaderFocus: columnGroupHeaderFocus,
53
+ headerGroupingMaxDepth: headerGroupingMaxDepth,
54
+ columnMenuState: columnMenuState,
55
+ columnVisibility: columnVisibility,
56
+ columnGroupsHeaderStructure: columnGroupsHeaderStructure,
57
+ hasOtherElementInTabSequence: hasOtherElementInTabSequence
58
+ });
59
+ }
60
+ const MemoizedGridHeaders = exports.GridHeaders = (0, _fastMemo.fastMemo)(GridHeaders);
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GridPinnedRows = GridPinnedRows;
7
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
+ function GridPinnedRows(_) {
9
+ return null;
10
+ }
@@ -26,11 +26,12 @@ var _gridDetailPanelToggleField = require("../constants/gridDetailPanelToggleFie
26
26
  var _gridSortingSelector = require("../hooks/features/sorting/gridSortingSelector");
27
27
  var _gridRowsSelector = require("../hooks/features/rows/gridRowsSelector");
28
28
  var _gridColumnGroupsSelector = require("../hooks/features/columnGrouping/gridColumnGroupsSelector");
29
+ var _gridEditingSelectors = require("../hooks/features/editing/gridEditingSelectors");
29
30
  var _utils2 = require("../utils/utils");
30
31
  var _GridCell = require("./cell/GridCell");
31
- var _gridEditingSelectors = require("../hooks/features/editing/gridEditingSelectors");
32
+ var _GridScrollbarFillerCell = require("./GridScrollbarFillerCell");
32
33
  var _jsxRuntime = require("react/jsx-runtime");
33
- const _excluded = ["selected", "hovered", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "isLastVisible", "focusedCellColumnIndexNotInRange", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
34
+ const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "renderedColumns", "pinnedColumns", "dimensions", "firstColumnToRender", "lastColumnToRender", "isFirstVisible", "isLastVisible", "focusedCellColumnIndexNotInRange", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
34
35
  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); }
35
36
  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; }
36
37
  const useUtilityClasses = ownerState => {
@@ -38,12 +39,15 @@ const useUtilityClasses = ownerState => {
38
39
  editable,
39
40
  editing,
40
41
  selected,
42
+ isFirstVisible,
41
43
  isLastVisible,
42
44
  rowHeight,
43
45
  classes
44
46
  } = ownerState;
45
47
  const slots = {
46
- root: ['row', selected && 'selected', editable && 'row--editable', editing && 'row--editing', isLastVisible && 'row--lastVisible', rowHeight === 'auto' && 'row--dynamicHeight']
48
+ root: ['row', selected && 'selected', editable && 'row--editable', editing && 'row--editing', isFirstVisible && 'row--firstVisible', isLastVisible && 'row--lastVisible', rowHeight === 'auto' && 'row--dynamicHeight'],
49
+ pinnedLeft: ['pinnedLeft'],
50
+ pinnedRight: ['pinnedRight']
47
51
  };
48
52
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
49
53
  };
@@ -53,30 +57,30 @@ function EmptyCell({
53
57
  if (!width) {
54
58
  return null;
55
59
  }
56
- const style = {
57
- width
58
- };
59
60
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
60
- className: `${_gridClasses.gridClasses.cell} ${_gridClasses.gridClasses.withBorderColor}`,
61
- style: style
62
- }); // TODO change to .MuiDataGrid-emptyCell or .MuiDataGrid-rowFiller
61
+ role: "presentation",
62
+ className: (0, _clsx.default)(_gridClasses.gridClasses.cell, _gridClasses.gridClasses.cellEmpty),
63
+ style: {
64
+ '--width': `${width}px`
65
+ }
66
+ });
63
67
  }
64
68
  const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
65
69
  const {
66
70
  selected,
67
- hovered,
68
71
  rowId,
69
72
  row,
70
73
  index,
71
74
  style: styleProp,
72
- position,
73
75
  rowHeight,
74
76
  className,
75
77
  visibleColumns,
76
78
  renderedColumns,
77
- containerWidth,
79
+ pinnedColumns,
80
+ dimensions,
78
81
  firstColumnToRender,
79
- isLastVisible = false,
82
+ isFirstVisible,
83
+ isLastVisible,
80
84
  focusedCellColumnIndexNotInRange,
81
85
  isNotVisible,
82
86
  focusedCell,
@@ -92,17 +96,19 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
92
96
  const ref = React.useRef(null);
93
97
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
94
98
  const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, rootProps);
95
- const columnsTotalWidth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnsTotalWidthSelector);
96
99
  const sortModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortModelSelector);
97
100
  const treeDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowMaximumTreeDepthSelector);
98
101
  const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector);
102
+ const columnPositions = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnPositionsSelector);
99
103
  const editRowsState = (0, _useGridSelector.useGridSelector)(apiRef, _gridEditingSelectors.gridEditRowsStateSelector);
100
104
  const handleRef = (0, _utils.unstable_useForkRef)(ref, refProp);
105
+ const rowNode = apiRef.current.getRowNode(rowId);
106
+ const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
101
107
  const ariaRowIndex = index + headerGroupingMaxDepth + 2; // 1 for the header row and 1 as it's 1-based
102
108
 
103
109
  const ownerState = {
104
110
  selected,
105
- hovered,
111
+ isFirstVisible,
106
112
  isLastVisible,
107
113
  classes: rootProps.classes,
108
114
  editing: apiRef.current.getRowMode(rowId) === _gridEditRowModel.GridRowModes.Edit,
@@ -113,9 +119,9 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
113
119
  React.useLayoutEffect(() => {
114
120
  if (rowHeight === 'auto' && ref.current && typeof ResizeObserver === 'undefined') {
115
121
  // Fallback for IE
116
- apiRef.current.unstable_storeRowHeightMeasurement(rowId, ref.current.clientHeight, position);
122
+ apiRef.current.unstable_storeRowHeightMeasurement(rowId, ref.current.clientHeight);
117
123
  }
118
- }, [apiRef, rowHeight, rowId, position]);
124
+ }, [apiRef, rowHeight, rowId]);
119
125
  React.useLayoutEffect(() => {
120
126
  if (currentPage.range) {
121
127
  // The index prop is relative to the rows from all pages. As example, the index prop of the
@@ -137,11 +143,11 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
137
143
  const resizeObserver = new ResizeObserver(entries => {
138
144
  const [entry] = entries;
139
145
  const height = entry.borderBoxSize && entry.borderBoxSize.length > 0 ? entry.borderBoxSize[0].blockSize : entry.contentRect.height;
140
- apiRef.current.unstable_storeRowHeightMeasurement(rowId, height, position);
146
+ apiRef.current.unstable_storeRowHeightMeasurement(rowId, height);
141
147
  });
142
148
  resizeObserver.observe(rootElement);
143
149
  return () => resizeObserver.disconnect();
144
- }, [apiRef, currentPage.range, index, rowHeight, rowId, position]);
150
+ }, [apiRef, currentPage.range, index, rowHeight, rowId]);
145
151
  const publish = React.useCallback((eventName, propHandler) => event => {
146
152
  // Ignore portal
147
153
  if ((0, _domUtils.isEventTargetInPortal)(event)) {
@@ -197,50 +203,12 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
197
203
  slotProps,
198
204
  disableColumnReorder
199
205
  } = rootProps;
200
- const CellComponent = slots.cell === _GridCell.GridCellV7 ? _GridCell.GridCellV7 : _GridCell.GridCellWrapper;
201
206
  const rowReordering = rootProps.rowReordering;
202
- const getCell = (column, cellProps) => {
203
- // when the cell is a reorder cell we are not allowing to reorder the col
204
- // fixes https://github.com/mui/mui-x/issues/11126
205
- const isReorderCell = column.field === '__reorder__';
206
- const isEditingRows = Object.keys(editRowsState).length > 0;
207
- const canReorderColumn = !(disableColumnReorder || column.disableReorder);
208
- const canReorderRow = rowReordering && !sortModel.length && treeDepth <= 1 && !isEditingRows;
209
- const disableDragEvents = !(canReorderColumn || isReorderCell && canReorderRow);
210
- const editCellState = editRowsState[rowId]?.[column.field] ?? null;
211
- let cellIsNotVisible = false;
212
- if (focusedCellColumnIndexNotInRange !== undefined && visibleColumns[focusedCellColumnIndexNotInRange].field === column.field) {
213
- cellIsNotVisible = true;
214
- }
215
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(CellComponent, (0, _extends2.default)({
216
- column: column,
217
- width: cellProps.width,
218
- rowId: rowId,
219
- height: rowHeight,
220
- showRightBorder: cellProps.showRightBorder,
221
- align: column.align || 'left',
222
- colIndex: cellProps.indexRelativeToAllColumns,
223
- colSpan: cellProps.colSpan,
224
- disableDragEvents: disableDragEvents,
225
- editCellState: editCellState,
226
- isNotVisible: cellIsNotVisible
227
- }, slotProps?.cell), column.field);
228
- };
229
207
  const sizes = (0, _useGridSelector.useGridSelector)(apiRef, () => (0, _extends2.default)({}, apiRef.current.unstable_getRowInternalSizes(rowId)), _useGridSelector.objectShallowCompare);
230
208
  let minHeight = rowHeight;
231
209
  if (minHeight === 'auto' && sizes) {
232
- let numberOfBaseSizes = 0;
233
- const maximumSize = Object.entries(sizes).reduce((acc, [key, size]) => {
234
- const isBaseHeight = /^base[A-Z]/.test(key);
235
- if (!isBaseHeight) {
236
- return acc;
237
- }
238
- numberOfBaseSizes += 1;
239
- if (size > acc) {
240
- return size;
241
- }
242
- return acc;
243
- }, 0);
210
+ const numberOfBaseSizes = 1;
211
+ const maximumSize = sizes.baseCenter ?? 0;
244
212
  if (maximumSize > 0 && numberOfBaseSizes > 1) {
245
213
  minHeight = maximumSize;
246
214
  }
@@ -285,11 +253,88 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
285
253
  rowClassNames.push(rootProps.getRowClassName(rowParams));
286
254
  }
287
255
  const randomNumber = (0, _utils2.randomNumberBetween)(10000, 20, 80);
288
- const rowNode = apiRef.current.getRowNode(rowId);
256
+ const getCell = (column, indexInSection, indexRelativeToAllColumns, sectionLength, pinnedPosition = _GridCell.PinnedPosition.NONE) => {
257
+ const cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, indexRelativeToAllColumns);
258
+ if (!cellColSpanInfo || cellColSpanInfo.spannedByColSpan) {
259
+ return null;
260
+ }
261
+ let pinnedOffset;
262
+ // FIXME: Why is the switch check exhaustiveness not validated with typescript-eslint?
263
+ // eslint-disable-next-line default-case
264
+ switch (pinnedPosition) {
265
+ case _GridCell.PinnedPosition.LEFT:
266
+ pinnedOffset = columnPositions[indexRelativeToAllColumns];
267
+ break;
268
+ case _GridCell.PinnedPosition.RIGHT:
269
+ pinnedOffset = dimensions.columnsTotalWidth - columnPositions[indexRelativeToAllColumns] - column.computedWidth + scrollbarWidth;
270
+ break;
271
+ case _GridCell.PinnedPosition.NONE:
272
+ pinnedOffset = 0;
273
+ break;
274
+ }
275
+ if (rowNode?.type === 'skeletonRow') {
276
+ const {
277
+ width
278
+ } = cellColSpanInfo.cellProps;
279
+ const contentWidth = Math.round(randomNumber());
280
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(slots.skeletonCell, {
281
+ width: width,
282
+ contentWidth: contentWidth,
283
+ field: column.field,
284
+ align: column.align
285
+ }, column.field);
286
+ }
287
+ const {
288
+ colSpan,
289
+ width
290
+ } = cellColSpanInfo.cellProps;
291
+ const editCellState = editRowsState[rowId]?.[column.field] ?? null;
292
+
293
+ // when the cell is a reorder cell we are not allowing to reorder the col
294
+ // fixes https://github.com/mui/mui-x/issues/11126
295
+ const isReorderCell = column.field === '__reorder__';
296
+ const isEditingRows = Object.keys(editRowsState).length > 0;
297
+ const canReorderColumn = !(disableColumnReorder || column.disableReorder);
298
+ const canReorderRow = rowReordering && !sortModel.length && treeDepth <= 1 && !isEditingRows;
299
+ const disableDragEvents = !(canReorderColumn || isReorderCell && canReorderRow);
300
+ let cellIsNotVisible = false;
301
+ if (focusedCellColumnIndexNotInRange !== undefined && visibleColumns[focusedCellColumnIndexNotInRange].field === column.field) {
302
+ cellIsNotVisible = true;
303
+ }
304
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(slots.cell, (0, _extends2.default)({
305
+ column: column,
306
+ width: width,
307
+ rowId: rowId,
308
+ height: rowHeight,
309
+ align: column.align || 'left',
310
+ colIndex: indexRelativeToAllColumns,
311
+ colSpan: colSpan,
312
+ disableDragEvents: disableDragEvents,
313
+ editCellState: editCellState,
314
+ isNotVisible: cellIsNotVisible
315
+ }, slotProps?.cell, {
316
+ pinnedOffset: pinnedOffset,
317
+ pinnedPosition: pinnedPosition,
318
+ sectionIndex: indexInSection,
319
+ sectionLength: sectionLength,
320
+ gridHasScrollX: dimensions.hasScrollX
321
+ }), column.field);
322
+ };
323
+
324
+ /* Start of rendering */
325
+
289
326
  if (!rowNode) {
290
327
  return null;
291
328
  }
292
- const rowType = rowNode.type;
329
+ const leftCells = pinnedColumns.left.map((column, i) => {
330
+ const indexRelativeToAllColumns = i;
331
+ return getCell(column, i, indexRelativeToAllColumns, pinnedColumns.left.length, _GridCell.PinnedPosition.LEFT);
332
+ });
333
+ const rightCells = pinnedColumns.right.map((column, i) => {
334
+ const indexRelativeToAllColumns = visibleColumns.length - pinnedColumns.right.length + i;
335
+ return getCell(column, i, indexRelativeToAllColumns, pinnedColumns.right.length, _GridCell.PinnedPosition.RIGHT);
336
+ });
337
+ const middleColumnsLength = visibleColumns.length - pinnedColumns.left.length - pinnedColumns.right.length;
293
338
  const cells = [];
294
339
  for (let i = 0; i < renderedColumns.length; i += 1) {
295
340
  const column = renderedColumns[i];
@@ -301,35 +346,9 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
301
346
  indexRelativeToAllColumns -= 1;
302
347
  }
303
348
  }
304
- const cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, indexRelativeToAllColumns);
305
- if (cellColSpanInfo && !cellColSpanInfo.spannedByColSpan) {
306
- if (rowType !== 'skeletonRow') {
307
- const {
308
- colSpan,
309
- width
310
- } = cellColSpanInfo.cellProps;
311
- const cellProps = {
312
- width,
313
- colSpan,
314
- showRightBorder: rootProps.showCellVerticalBorder,
315
- indexRelativeToAllColumns
316
- };
317
- cells.push(getCell(column, cellProps));
318
- } else {
319
- const {
320
- width
321
- } = cellColSpanInfo.cellProps;
322
- const contentWidth = Math.round(randomNumber());
323
- cells.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(slots.skeletonCell, {
324
- width: width,
325
- contentWidth: contentWidth,
326
- field: column.field,
327
- align: column.align
328
- }, column.field));
329
- }
330
- }
349
+ const indexInSection = indexRelativeToAllColumns - pinnedColumns.left.length;
350
+ cells.push(getCell(column, indexInSection, indexRelativeToAllColumns, middleColumnsLength));
331
351
  }
332
- const emptyCellWidth = containerWidth - columnsTotalWidth;
333
352
  const eventHandlers = row ? {
334
353
  onClick: publishClick,
335
354
  onDoubleClick: publish('rowDoubleClick', onDoubleClick),
@@ -338,18 +357,27 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
338
357
  onMouseOut: publish('rowMouseOut', onMouseOut),
339
358
  onMouseOver: publish('rowMouseOver', onMouseOver)
340
359
  } : null;
360
+ const expandedWidth = dimensions.viewportOuterSize.width - dimensions.columnsTotalWidth - scrollbarWidth;
361
+ const emptyCellWidth = Math.max(0, expandedWidth);
341
362
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
342
363
  ref: handleRef,
343
364
  "data-id": rowId,
344
365
  "data-rowindex": index,
345
366
  role: "row",
346
- className: (0, _clsx.default)(...rowClassNames, classes.root, className, hovered && 'Mui-hovered'),
367
+ className: (0, _clsx.default)(...rowClassNames, classes.root, className),
347
368
  "aria-rowindex": ariaRowIndex,
348
369
  "aria-selected": selected,
349
370
  style: style
350
371
  }, eventHandlers, other, {
351
- children: [cells, emptyCellWidth > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(EmptyCell, {
372
+ children: [leftCells, cells, emptyCellWidth > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(EmptyCell, {
352
373
  width: emptyCellWidth
374
+ }), rightCells.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
375
+ role: "presentation",
376
+ style: {
377
+ flex: '1'
378
+ }
379
+ }), rightCells, scrollbarWidth !== 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollbarFillerCell.GridScrollbarFillerCell, {
380
+ pinnedRight: pinnedColumns.right.length > 0
353
381
  })]
354
382
  }));
355
383
  });
@@ -358,7 +386,41 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
358
386
  // | These PropTypes are generated from the TypeScript type definitions |
359
387
  // | To update them edit the TypeScript types and run "yarn proptypes" |
360
388
  // ----------------------------------------------------------------------
361
- containerWidth: _propTypes.default.number.isRequired,
389
+ dimensions: _propTypes.default.shape({
390
+ bottomContainerHeight: _propTypes.default.number.isRequired,
391
+ columnsTotalWidth: _propTypes.default.number.isRequired,
392
+ contentSize: _propTypes.default.shape({
393
+ height: _propTypes.default.number.isRequired,
394
+ width: _propTypes.default.number.isRequired
395
+ }).isRequired,
396
+ hasScrollX: _propTypes.default.bool.isRequired,
397
+ hasScrollY: _propTypes.default.bool.isRequired,
398
+ headerHeight: _propTypes.default.number.isRequired,
399
+ headersTotalHeight: _propTypes.default.number.isRequired,
400
+ isReady: _propTypes.default.bool.isRequired,
401
+ leftPinnedWidth: _propTypes.default.number.isRequired,
402
+ minimumSize: _propTypes.default.shape({
403
+ height: _propTypes.default.number.isRequired,
404
+ width: _propTypes.default.number.isRequired
405
+ }).isRequired,
406
+ rightPinnedWidth: _propTypes.default.number.isRequired,
407
+ root: _propTypes.default.shape({
408
+ height: _propTypes.default.number.isRequired,
409
+ width: _propTypes.default.number.isRequired
410
+ }).isRequired,
411
+ rowHeight: _propTypes.default.number.isRequired,
412
+ rowWidth: _propTypes.default.number.isRequired,
413
+ scrollbarSize: _propTypes.default.number.isRequired,
414
+ topContainerHeight: _propTypes.default.number.isRequired,
415
+ viewportInnerSize: _propTypes.default.shape({
416
+ height: _propTypes.default.number.isRequired,
417
+ width: _propTypes.default.number.isRequired
418
+ }).isRequired,
419
+ viewportOuterSize: _propTypes.default.shape({
420
+ height: _propTypes.default.number.isRequired,
421
+ width: _propTypes.default.number.isRequired
422
+ }).isRequired
423
+ }).isRequired,
362
424
  firstColumnToRender: _propTypes.default.number.isRequired,
363
425
  /**
364
426
  * Determines which cell has focus.
@@ -371,14 +433,15 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
371
433
  * If some rows above have expanded children, this index also take those children into account.
372
434
  */
373
435
  index: _propTypes.default.number.isRequired,
374
- isLastVisible: _propTypes.default.bool,
436
+ isFirstVisible: _propTypes.default.bool.isRequired,
437
+ isLastVisible: _propTypes.default.bool.isRequired,
375
438
  isNotVisible: _propTypes.default.bool,
376
439
  lastColumnToRender: _propTypes.default.number.isRequired,
377
440
  onClick: _propTypes.default.func,
378
441
  onDoubleClick: _propTypes.default.func,
379
442
  onMouseEnter: _propTypes.default.func,
380
443
  onMouseLeave: _propTypes.default.func,
381
- position: _propTypes.default.oneOf(['center', 'left', 'right']).isRequired,
444
+ pinnedColumns: _propTypes.default.object.isRequired,
382
445
  renderedColumns: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
383
446
  row: _propTypes.default.object,
384
447
  rowHeight: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]).isRequired,
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.GridScrollbarFillerCell = GridScrollbarFillerCell;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
+ var _styles = require("@mui/material/styles");
11
+ var _constants = require("../constants");
12
+ var _jsxRuntime = require("react/jsx-runtime");
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); }
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; }
15
+ const classes = {
16
+ root: (0, _constants.getDataGridUtilityClass)('scrollbarFiller'),
17
+ header: (0, _constants.getDataGridUtilityClass)('scrollbarFiller--header'),
18
+ borderTop: (0, _constants.getDataGridUtilityClass)('scrollbarFiller--borderTop'),
19
+ pinnedRight: (0, _constants.getDataGridUtilityClass)('scrollbarFiller--pinnedRight')
20
+ };
21
+ const Style = (0, _styles.styled)('div')({
22
+ minWidth: 'calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
23
+ alignSelf: 'stretch',
24
+ [`&.${classes.borderTop}`]: {
25
+ borderTop: '1px solid var(--DataGrid-rowBorderColor)'
26
+ },
27
+ [`&.${classes.pinnedRight}`]: {
28
+ backgroundColor: 'var(--DataGrid-pinnedBackground)'
29
+ },
30
+ [`&.${classes.pinnedRight}:not(.${classes.header})`]: {
31
+ position: 'sticky',
32
+ right: 0
33
+ },
34
+ [`&:not(.${classes.header}):not(.${classes.pinnedRight})`]: {
35
+ transform: 'translate3d(var(--DataGrid-offsetLeft), 0, 0)'
36
+ }
37
+ });
38
+ function GridScrollbarFillerCell({
39
+ header,
40
+ borderTop = true,
41
+ pinnedRight
42
+ }) {
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Style, {
44
+ role: "presentation",
45
+ className: (0, _clsx.default)(classes.root, header && classes.header, borderTop && classes.borderTop, pinnedRight && classes.pinnedRight)
46
+ });
47
+ }