@mui/x-data-grid 7.0.0-beta.3 → 7.0.0-beta.5

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 (531) hide show
  1. package/CHANGELOG.md +357 -22
  2. package/DataGrid/DataGrid.js +2 -0
  3. package/colDef/gridActionsColDef.js +1 -0
  4. package/colDef/gridBooleanColDef.js +1 -0
  5. package/colDef/gridBooleanOperators.js +1 -1
  6. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  7. package/components/GridRow.d.ts +7 -9
  8. package/components/GridRow.js +36 -47
  9. package/components/GridScrollbarFillerCell.js +6 -21
  10. package/components/cell/GridCell.d.ts +2 -1
  11. package/components/cell/GridCell.js +17 -15
  12. package/components/cell/GridSkeletonCell.d.ts +3 -2
  13. package/components/cell/GridSkeletonCell.js +14 -6
  14. package/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
  15. package/components/columnsManagement/GridColumnsManagement.js +1 -1
  16. package/components/containers/GridRootStyles.js +59 -21
  17. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  18. package/components/virtualization/GridBottomContainer.js +1 -1
  19. package/components/virtualization/GridTopContainer.js +1 -1
  20. package/components/virtualization/GridVirtualScroller.js +2 -2
  21. package/components/virtualization/GridVirtualScrollerRenderZone.js +9 -3
  22. package/constants/gridClasses.d.ts +24 -8
  23. package/constants/gridClasses.js +1 -1
  24. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  25. package/hooks/features/columnHeaders/useGridColumnHeaders.js +11 -8
  26. package/hooks/features/columns/gridColumnsSelector.d.ts +6 -0
  27. package/hooks/features/columns/gridColumnsSelector.js +8 -1
  28. package/hooks/features/columns/useGridColumns.js +4 -0
  29. package/hooks/features/editing/useGridCellEditing.js +3 -4
  30. package/hooks/features/editing/useGridRowEditing.js +4 -6
  31. package/hooks/features/filter/useGridFilter.js +2 -2
  32. package/hooks/features/rows/useGridRows.js +8 -4
  33. package/hooks/features/rows/useGridRowsMeta.js +5 -13
  34. package/hooks/features/sorting/gridSortingUtils.js +9 -1
  35. package/hooks/features/sorting/useGridSorting.js +1 -2
  36. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +0 -9
  37. package/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -7
  38. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -0
  39. package/hooks/features/virtualization/useGridVirtualScroller.js +82 -138
  40. package/hooks/features/virtualization/useGridVirtualization.d.ts +0 -8
  41. package/hooks/features/virtualization/useGridVirtualization.js +1 -6
  42. package/hooks/utils/useTimeout.d.ts +5 -3
  43. package/hooks/utils/useTimeout.js +13 -5
  44. package/index.js +1 -1
  45. package/internals/index.d.ts +1 -1
  46. package/internals/index.js +1 -1
  47. package/models/colDef/gridColDef.d.ts +13 -0
  48. package/modern/DataGrid/DataGrid.js +2 -0
  49. package/modern/colDef/gridActionsColDef.js +1 -0
  50. package/modern/colDef/gridBooleanColDef.js +1 -0
  51. package/modern/colDef/gridBooleanOperators.js +1 -1
  52. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  53. package/modern/components/GridRow.js +35 -46
  54. package/modern/components/GridScrollbarFillerCell.js +6 -21
  55. package/modern/components/cell/GridCell.js +17 -15
  56. package/modern/components/cell/GridSkeletonCell.js +14 -6
  57. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
  58. package/modern/components/columnsManagement/GridColumnsManagement.js +1 -1
  59. package/modern/components/containers/GridRootStyles.js +59 -21
  60. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  61. package/modern/components/virtualization/GridBottomContainer.js +1 -1
  62. package/modern/components/virtualization/GridTopContainer.js +1 -1
  63. package/modern/components/virtualization/GridVirtualScroller.js +2 -2
  64. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +8 -3
  65. package/modern/constants/gridClasses.js +1 -1
  66. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  67. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +11 -8
  68. package/modern/hooks/features/columns/gridColumnsSelector.js +8 -1
  69. package/modern/hooks/features/columns/useGridColumns.js +2 -0
  70. package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
  71. package/modern/hooks/features/editing/useGridRowEditing.js +4 -6
  72. package/modern/hooks/features/filter/useGridFilter.js +2 -2
  73. package/modern/hooks/features/rows/useGridRows.js +8 -4
  74. package/modern/hooks/features/rows/useGridRowsMeta.js +5 -13
  75. package/modern/hooks/features/sorting/gridSortingUtils.js +9 -1
  76. package/modern/hooks/features/sorting/useGridSorting.js +1 -2
  77. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -7
  78. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +80 -136
  79. package/modern/hooks/features/virtualization/useGridVirtualization.js +1 -6
  80. package/modern/hooks/utils/useTimeout.js +13 -5
  81. package/modern/index.js +1 -1
  82. package/modern/internals/index.js +1 -1
  83. package/modern/utils/keyboardUtils.js +20 -11
  84. package/modern/utils/utils.js +9 -0
  85. package/node/DataGrid/DataGrid.js +1 -0
  86. package/node/colDef/gridActionsColDef.js +1 -0
  87. package/node/colDef/gridBooleanColDef.js +1 -0
  88. package/node/colDef/gridBooleanOperators.js +1 -1
  89. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  90. package/node/components/GridRow.js +35 -46
  91. package/node/components/GridScrollbarFillerCell.js +5 -20
  92. package/node/components/cell/GridCell.js +17 -15
  93. package/node/components/cell/GridSkeletonCell.js +15 -7
  94. package/node/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
  95. package/node/components/columnsManagement/GridColumnsManagement.js +1 -1
  96. package/node/components/containers/GridRootStyles.js +59 -21
  97. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  98. package/node/components/virtualization/GridBottomContainer.js +1 -1
  99. package/node/components/virtualization/GridTopContainer.js +1 -1
  100. package/node/components/virtualization/GridVirtualScroller.js +2 -2
  101. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +7 -2
  102. package/node/constants/gridClasses.js +1 -1
  103. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  104. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +8 -5
  105. package/node/hooks/features/columns/gridColumnsSelector.js +9 -2
  106. package/node/hooks/features/columns/useGridColumns.js +2 -0
  107. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  108. package/node/hooks/features/editing/useGridRowEditing.js +3 -5
  109. package/node/hooks/features/filter/useGridFilter.js +2 -2
  110. package/node/hooks/features/rows/useGridRows.js +8 -4
  111. package/node/hooks/features/rows/useGridRowsMeta.js +5 -13
  112. package/node/hooks/features/sorting/gridSortingUtils.js +9 -1
  113. package/node/hooks/features/sorting/useGridSorting.js +1 -2
  114. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +1 -8
  115. package/node/hooks/features/virtualization/useGridVirtualScroller.js +81 -136
  116. package/node/hooks/features/virtualization/useGridVirtualization.js +2 -7
  117. package/node/hooks/utils/useTimeout.js +13 -4
  118. package/node/index.js +1 -1
  119. package/node/internals/index.js +7 -0
  120. package/node/utils/keyboardUtils.js +25 -20
  121. package/node/utils/utils.js +12 -1
  122. package/package.json +1 -1
  123. package/utils/keyboardUtils.d.ts +7 -6
  124. package/utils/keyboardUtils.js +20 -11
  125. package/utils/utils.d.ts +4 -0
  126. package/utils/utils.js +9 -0
  127. package/legacy/DataGrid/DataGrid.js +0 -664
  128. package/legacy/DataGrid/index.js +0 -2
  129. package/legacy/DataGrid/useDataGridComponent.js +0 -81
  130. package/legacy/DataGrid/useDataGridProps.js +0 -98
  131. package/legacy/colDef/gridActionsColDef.js +0 -18
  132. package/legacy/colDef/gridBooleanColDef.js +0 -42
  133. package/legacy/colDef/gridBooleanOperators.js +0 -16
  134. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
  135. package/legacy/colDef/gridDateColDef.js +0 -62
  136. package/legacy/colDef/gridDateOperators.js +0 -115
  137. package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
  138. package/legacy/colDef/gridNumericColDef.js +0 -19
  139. package/legacy/colDef/gridNumericOperators.js +0 -145
  140. package/legacy/colDef/gridSingleSelectColDef.js +0 -64
  141. package/legacy/colDef/gridSingleSelectOperators.js +0 -46
  142. package/legacy/colDef/gridStringColDef.js +0 -27
  143. package/legacy/colDef/gridStringOperators.js +0 -112
  144. package/legacy/colDef/index.js +0 -13
  145. package/legacy/components/GridApiContext.js +0 -5
  146. package/legacy/components/GridColumnHeaders.js +0 -94
  147. package/legacy/components/GridDetailPanels.js +0 -4
  148. package/legacy/components/GridFooter.js +0 -42
  149. package/legacy/components/GridHeader.js +0 -13
  150. package/legacy/components/GridHeaders.js +0 -53
  151. package/legacy/components/GridLoadingOverlay.js +0 -21
  152. package/legacy/components/GridNoResultsOverlay.js +0 -14
  153. package/legacy/components/GridNoRowsOverlay.js +0 -23
  154. package/legacy/components/GridPagination.js +0 -85
  155. package/legacy/components/GridPinnedRows.js +0 -4
  156. package/legacy/components/GridRow.js +0 -465
  157. package/legacy/components/GridRowCount.js +0 -63
  158. package/legacy/components/GridScrollbarFillerCell.js +0 -34
  159. package/legacy/components/GridSelectedRowCount.js +0 -66
  160. package/legacy/components/base/GridBody.js +0 -2
  161. package/legacy/components/base/GridFooterPlaceholder.js +0 -12
  162. package/legacy/components/base/GridOverlays.js +0 -122
  163. package/legacy/components/base/index.js +0 -3
  164. package/legacy/components/cell/GridActionsCell.js +0 -294
  165. package/legacy/components/cell/GridActionsCellItem.js +0 -69
  166. package/legacy/components/cell/GridBooleanCell.js +0 -121
  167. package/legacy/components/cell/GridCell.js +0 -350
  168. package/legacy/components/cell/GridEditBooleanCell.js +0 -174
  169. package/legacy/components/cell/GridEditDateCell.js +0 -230
  170. package/legacy/components/cell/GridEditInputCell.js +0 -198
  171. package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
  172. package/legacy/components/cell/GridSkeletonCell.js +0 -52
  173. package/legacy/components/cell/index.js +0 -9
  174. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
  175. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
  176. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
  177. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
  178. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
  179. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
  180. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
  181. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
  182. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
  183. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
  184. package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
  185. package/legacy/components/columnHeaders/index.js +0 -5
  186. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
  187. package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
  188. package/legacy/components/columnSelection/index.js +0 -2
  189. package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
  190. package/legacy/components/columnsManagement/index.js +0 -1
  191. package/legacy/components/columnsManagement/utils.js +0 -22
  192. package/legacy/components/containers/GridFooterContainer.js +0 -50
  193. package/legacy/components/containers/GridOverlay.js +0 -52
  194. package/legacy/components/containers/GridRoot.js +0 -79
  195. package/legacy/components/containers/GridRootStyles.js +0 -395
  196. package/legacy/components/containers/GridToolbarContainer.js +0 -59
  197. package/legacy/components/containers/index.js +0 -4
  198. package/legacy/components/index.js +0 -19
  199. package/legacy/components/menu/GridMenu.js +0 -132
  200. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
  201. package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
  202. package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
  203. package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
  204. package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
  205. package/legacy/components/menu/columnMenu/index.js +0 -9
  206. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
  207. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
  208. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
  209. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
  210. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
  211. package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
  212. package/legacy/components/menu/index.js +0 -2
  213. package/legacy/components/panel/GridColumnsPanel.js +0 -22
  214. package/legacy/components/panel/GridPanel.js +0 -137
  215. package/legacy/components/panel/GridPanelContent.js +0 -49
  216. package/legacy/components/panel/GridPanelFooter.js +0 -50
  217. package/legacy/components/panel/GridPanelHeader.js +0 -48
  218. package/legacy/components/panel/GridPanelWrapper.js +0 -64
  219. package/legacy/components/panel/GridPreferencesPanel.js +0 -26
  220. package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
  221. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -118
  222. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
  223. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
  224. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
  225. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -149
  226. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -106
  227. package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
  228. package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
  229. package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
  230. package/legacy/components/panel/filterPanel/index.js +0 -9
  231. package/legacy/components/panel/index.js +0 -7
  232. package/legacy/components/reexportable.js +0 -1
  233. package/legacy/components/toolbar/GridToolbar.js +0 -64
  234. package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
  235. package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
  236. package/legacy/components/toolbar/GridToolbarExport.js +0 -80
  237. package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
  238. package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
  239. package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
  240. package/legacy/components/toolbar/index.js +0 -7
  241. package/legacy/components/virtualization/GridBottomContainer.js +0 -25
  242. package/legacy/components/virtualization/GridMainContainer.js +0 -20
  243. package/legacy/components/virtualization/GridTopContainer.js +0 -35
  244. package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
  245. package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
  246. package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
  247. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
  248. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -49
  249. package/legacy/constants/defaultGridSlotsComponents.js +0 -33
  250. package/legacy/constants/envConstants.js +0 -19
  251. package/legacy/constants/gridClasses.js +0 -5
  252. package/legacy/constants/gridDetailPanelToggleField.js +0 -2
  253. package/legacy/constants/index.js +0 -3
  254. package/legacy/constants/localeTextConstants.js +0 -158
  255. package/legacy/context/GridContextProvider.js +0 -21
  256. package/legacy/context/GridRootPropsContext.js +0 -6
  257. package/legacy/context/index.js +0 -1
  258. package/legacy/hooks/core/gridCoreSelector.js +0 -7
  259. package/legacy/hooks/core/index.js +0 -1
  260. package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
  261. package/legacy/hooks/core/pipeProcessing/index.js +0 -4
  262. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
  263. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
  264. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
  265. package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
  266. package/legacy/hooks/core/strategyProcessing/index.js +0 -3
  267. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
  268. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
  269. package/legacy/hooks/core/useGridApiInitialization.js +0 -124
  270. package/legacy/hooks/core/useGridInitialization.js +0 -26
  271. package/legacy/hooks/core/useGridLocaleText.js +0 -12
  272. package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
  273. package/legacy/hooks/core/useGridRefs.js +0 -13
  274. package/legacy/hooks/core/useGridStateInitialization.js +0 -106
  275. package/legacy/hooks/core/useGridTheme.js +0 -21
  276. package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
  277. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
  278. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
  279. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
  280. package/legacy/hooks/features/columnGrouping/index.js +0 -2
  281. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
  282. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -272
  283. package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
  284. package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
  285. package/legacy/hooks/features/columnMenu/index.js +0 -2
  286. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
  287. package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
  288. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
  289. package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
  290. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
  291. package/legacy/hooks/features/columns/index.js +0 -2
  292. package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
  293. package/legacy/hooks/features/columns/useGridColumns.js +0 -319
  294. package/legacy/hooks/features/density/densitySelector.js +0 -10
  295. package/legacy/hooks/features/density/densityState.js +0 -1
  296. package/legacy/hooks/features/density/index.js +0 -2
  297. package/legacy/hooks/features/density/useGridDensity.js +0 -48
  298. package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
  299. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
  300. package/legacy/hooks/features/dimensions/index.js +0 -2
  301. package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
  302. package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
  303. package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
  304. package/legacy/hooks/features/editing/useGridEditing.js +0 -145
  305. package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
  306. package/legacy/hooks/features/events/useGridEvents.js +0 -23
  307. package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
  308. package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
  309. package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
  310. package/legacy/hooks/features/export/utils.js +0 -49
  311. package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
  312. package/legacy/hooks/features/filter/gridFilterState.js +0 -20
  313. package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
  314. package/legacy/hooks/features/filter/index.js +0 -2
  315. package/legacy/hooks/features/filter/useGridFilter.js +0 -378
  316. package/legacy/hooks/features/focus/gridFocusState.js +0 -1
  317. package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
  318. package/legacy/hooks/features/focus/index.js +0 -2
  319. package/legacy/hooks/features/focus/useGridFocus.js +0 -408
  320. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
  321. package/legacy/hooks/features/headerFiltering/index.js +0 -1
  322. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
  323. package/legacy/hooks/features/index.js +0 -16
  324. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
  325. package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
  326. package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
  327. package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
  328. package/legacy/hooks/features/pagination/index.js +0 -2
  329. package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
  330. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
  331. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
  332. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
  333. package/legacy/hooks/features/preferencesPanel/index.js +0 -3
  334. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
  335. package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
  336. package/legacy/hooks/features/rowSelection/index.js +0 -1
  337. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
  338. package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
  339. package/legacy/hooks/features/rowSelection/utils.js +0 -8
  340. package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
  341. package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
  342. package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
  343. package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
  344. package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
  345. package/legacy/hooks/features/rows/index.js +0 -4
  346. package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
  347. package/legacy/hooks/features/rows/useGridRows.js +0 -466
  348. package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
  349. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
  350. package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
  351. package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
  352. package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
  353. package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
  354. package/legacy/hooks/features/sorting/index.js +0 -2
  355. package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
  356. package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
  357. package/legacy/hooks/features/statePersistence/index.js +0 -1
  358. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
  359. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -61
  360. package/legacy/hooks/features/virtualization/index.js +0 -2
  361. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -646
  362. package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -63
  363. package/legacy/hooks/index.js +0 -3
  364. package/legacy/hooks/utils/index.js +0 -9
  365. package/legacy/hooks/utils/useFirstRender.js +0 -8
  366. package/legacy/hooks/utils/useGridApiContext.js +0 -9
  367. package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
  368. package/legacy/hooks/utils/useGridApiMethod.js +0 -11
  369. package/legacy/hooks/utils/useGridApiRef.js +0 -7
  370. package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
  371. package/legacy/hooks/utils/useGridInitializeState.js +0 -8
  372. package/legacy/hooks/utils/useGridLogger.js +0 -10
  373. package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
  374. package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
  375. package/legacy/hooks/utils/useGridRootProps.js +0 -9
  376. package/legacy/hooks/utils/useGridSelector.js +0 -54
  377. package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
  378. package/legacy/hooks/utils/useLazyRef.js +0 -11
  379. package/legacy/hooks/utils/useOnMount.js +0 -7
  380. package/legacy/hooks/utils/useResizeObserver.js +0 -36
  381. package/legacy/hooks/utils/useRunOnce.js +0 -18
  382. package/legacy/hooks/utils/useTimeout.js +0 -38
  383. package/legacy/index.js +0 -38
  384. package/legacy/internals/index.js +0 -68
  385. package/legacy/internals/utils/computeSlots.js +0 -17
  386. package/legacy/internals/utils/index.js +0 -3
  387. package/legacy/internals/utils/propValidation.js +0 -21
  388. package/legacy/internals/utils/useProps.js +0 -32
  389. package/legacy/joy/icons.js +0 -432
  390. package/legacy/joy/index.js +0 -2
  391. package/legacy/joy/joySlots.js +0 -420
  392. package/legacy/locales/arSD.js +0 -160
  393. package/legacy/locales/beBY.js +0 -184
  394. package/legacy/locales/bgBG.js +0 -160
  395. package/legacy/locales/coreLocales.js +0 -62
  396. package/legacy/locales/csCZ.js +0 -181
  397. package/legacy/locales/daDK.js +0 -160
  398. package/legacy/locales/deDE.js +0 -160
  399. package/legacy/locales/elGR.js +0 -160
  400. package/legacy/locales/enUS.js +0 -4
  401. package/legacy/locales/esES.js +0 -160
  402. package/legacy/locales/faIR.js +0 -160
  403. package/legacy/locales/fiFI.js +0 -160
  404. package/legacy/locales/frFR.js +0 -160
  405. package/legacy/locales/heIL.js +0 -160
  406. package/legacy/locales/hrHR.js +0 -160
  407. package/legacy/locales/huHU.js +0 -160
  408. package/legacy/locales/index.js +0 -35
  409. package/legacy/locales/itIT.js +0 -160
  410. package/legacy/locales/jaJP.js +0 -160
  411. package/legacy/locales/koKR.js +0 -162
  412. package/legacy/locales/nbNO.js +0 -162
  413. package/legacy/locales/nlNL.js +0 -160
  414. package/legacy/locales/plPL.js +0 -163
  415. package/legacy/locales/ptBR.js +0 -160
  416. package/legacy/locales/ptPT.js +0 -160
  417. package/legacy/locales/roRO.js +0 -160
  418. package/legacy/locales/ruRU.js +0 -181
  419. package/legacy/locales/skSK.js +0 -181
  420. package/legacy/locales/svSE.js +0 -160
  421. package/legacy/locales/trTR.js +0 -161
  422. package/legacy/locales/ukUA.js +0 -182
  423. package/legacy/locales/urPK.js +0 -160
  424. package/legacy/locales/viVN.js +0 -160
  425. package/legacy/locales/zhCN.js +0 -160
  426. package/legacy/locales/zhHK.js +0 -160
  427. package/legacy/locales/zhTW.js +0 -160
  428. package/legacy/material/components/MUISelectOption.js +0 -14
  429. package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
  430. package/legacy/material/icons/index.js +0 -89
  431. package/legacy/material/index.js +0 -69
  432. package/legacy/models/api/gridApiCommon.js +0 -1
  433. package/legacy/models/api/gridApiCommunity.js +0 -1
  434. package/legacy/models/api/gridCallbackDetails.js +0 -1
  435. package/legacy/models/api/gridColumnApi.js +0 -1
  436. package/legacy/models/api/gridColumnGroupingApi.js +0 -1
  437. package/legacy/models/api/gridColumnMenuApi.js +0 -1
  438. package/legacy/models/api/gridColumnSpanning.js +0 -1
  439. package/legacy/models/api/gridCoreApi.js +0 -1
  440. package/legacy/models/api/gridCsvExportApi.js +0 -1
  441. package/legacy/models/api/gridDensityApi.js +0 -1
  442. package/legacy/models/api/gridEditingApi.js +0 -1
  443. package/legacy/models/api/gridFilterApi.js +0 -1
  444. package/legacy/models/api/gridFocusApi.js +0 -1
  445. package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
  446. package/legacy/models/api/gridLocaleTextApi.js +0 -1
  447. package/legacy/models/api/gridLoggerApi.js +0 -1
  448. package/legacy/models/api/gridParamsApi.js +0 -1
  449. package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
  450. package/legacy/models/api/gridPrintExportApi.js +0 -1
  451. package/legacy/models/api/gridRowApi.js +0 -1
  452. package/legacy/models/api/gridRowSelectionApi.js +0 -1
  453. package/legacy/models/api/gridRowsMetaApi.js +0 -1
  454. package/legacy/models/api/gridScrollApi.js +0 -1
  455. package/legacy/models/api/gridSortApi.js +0 -1
  456. package/legacy/models/api/gridStateApi.js +0 -1
  457. package/legacy/models/api/gridVirtualizationApi.js +0 -1
  458. package/legacy/models/api/index.js +0 -16
  459. package/legacy/models/colDef/gridColDef.js +0 -1
  460. package/legacy/models/colDef/gridColType.js +0 -1
  461. package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
  462. package/legacy/models/colDef/index.js +0 -6
  463. package/legacy/models/controlStateItem.js +0 -1
  464. package/legacy/models/cursorCoordinates.js +0 -1
  465. package/legacy/models/elementSize.js +0 -1
  466. package/legacy/models/events/gridEventListener.js +0 -1
  467. package/legacy/models/events/gridEventLookup.js +0 -1
  468. package/legacy/models/events/gridEventPublisher.js +0 -1
  469. package/legacy/models/events/index.js +0 -3
  470. package/legacy/models/gridApiCaches.js +0 -1
  471. package/legacy/models/gridCell.js +0 -1
  472. package/legacy/models/gridCellClass.js +0 -1
  473. package/legacy/models/gridColumnGrouping.js +0 -11
  474. package/legacy/models/gridColumnHeaderClass.js +0 -1
  475. package/legacy/models/gridColumnSpanning.js +0 -1
  476. package/legacy/models/gridDensity.js +0 -1
  477. package/legacy/models/gridEditRowModel.js +0 -16
  478. package/legacy/models/gridExport.js +0 -1
  479. package/legacy/models/gridFeatureMode.js +0 -1
  480. package/legacy/models/gridFilterItem.js +0 -11
  481. package/legacy/models/gridFilterModel.js +0 -1
  482. package/legacy/models/gridFilterOperator.js +0 -1
  483. package/legacy/models/gridHeaderFilteringModel.js +0 -1
  484. package/legacy/models/gridIconSlotsComponent.js +0 -1
  485. package/legacy/models/gridPaginationProps.js +0 -1
  486. package/legacy/models/gridRenderContextProps.js +0 -1
  487. package/legacy/models/gridRowSelectionModel.js +0 -1
  488. package/legacy/models/gridRows.js +0 -1
  489. package/legacy/models/gridSlotsComponent.js +0 -1
  490. package/legacy/models/gridSlotsComponentsProps.js +0 -1
  491. package/legacy/models/gridSortModel.js +0 -1
  492. package/legacy/models/gridStateCommunity.js +0 -1
  493. package/legacy/models/index.js +0 -29
  494. package/legacy/models/logger.js +0 -1
  495. package/legacy/models/muiEvent.js +0 -1
  496. package/legacy/models/params/gridCellParams.js +0 -1
  497. package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
  498. package/legacy/models/params/gridColumnHeaderParams.js +0 -1
  499. package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
  500. package/legacy/models/params/gridColumnResizeParams.js +0 -1
  501. package/legacy/models/params/gridEditCellParams.js +0 -27
  502. package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
  503. package/legacy/models/params/gridMenuParams.js +0 -1
  504. package/legacy/models/params/gridPreferencePanelParams.js +0 -1
  505. package/legacy/models/params/gridRowParams.js +0 -44
  506. package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
  507. package/legacy/models/params/gridScrollParams.js +0 -1
  508. package/legacy/models/params/gridValueOptionsParams.js +0 -1
  509. package/legacy/models/params/index.js +0 -13
  510. package/legacy/models/props/DataGridProps.js +0 -1
  511. package/legacy/themeAugmentation/index.js +0 -4
  512. package/legacy/themeAugmentation/overrides.js +0 -1
  513. package/legacy/themeAugmentation/props.js +0 -1
  514. package/legacy/utils/EventManager.js +0 -91
  515. package/legacy/utils/Store.js +0 -34
  516. package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
  517. package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
  518. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
  519. package/legacy/utils/createControllablePromise.js +0 -11
  520. package/legacy/utils/createSelector.js +0 -120
  521. package/legacy/utils/doesSupportPreventScroll.js +0 -13
  522. package/legacy/utils/domUtils.js +0 -49
  523. package/legacy/utils/exportAs.js +0 -40
  524. package/legacy/utils/fastMemo.js +0 -5
  525. package/legacy/utils/fastObjectShallowCompare.js +0 -32
  526. package/legacy/utils/getGridLocalization.js +0 -15
  527. package/legacy/utils/getPublicApiRef.js +0 -5
  528. package/legacy/utils/index.js +0 -1
  529. package/legacy/utils/keyboardUtils.js +0 -60
  530. package/legacy/utils/utils.js +0 -189
  531. package/legacy/utils/warning.js +0 -25
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "renderedColumns", "pinnedColumns", "offsets", "dimensions", "firstColumnToRender", "lastColumnToRender", "isFirstVisible", "isLastVisible", "focusedCellColumnIndexNotInRange", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
3
+ const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "dimensions", "renderContext", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
@@ -21,7 +21,6 @@ import { gridSortModelSelector } from '../hooks/features/sorting/gridSortingSele
21
21
  import { gridRowMaximumTreeDepthSelector } from '../hooks/features/rows/gridRowsSelector';
22
22
  import { gridColumnGroupsHeaderMaxDepthSelector } from '../hooks/features/columnGrouping/gridColumnGroupsSelector';
23
23
  import { gridEditRowsStateSelector } from '../hooks/features/editing/gridEditingSelectors';
24
- import { randomNumberBetween } from '../utils/utils';
25
24
  import { PinnedPosition } from './cell/GridCell';
26
25
  import { GridScrollbarFillerCell as ScrollbarFiller } from './GridScrollbarFillerCell';
27
26
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -65,16 +64,14 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
65
64
  rowHeight,
66
65
  className,
67
66
  visibleColumns,
68
- renderedColumns,
69
67
  pinnedColumns,
70
- offsets,
68
+ offsetLeft,
71
69
  dimensions,
72
- firstColumnToRender,
70
+ renderContext,
71
+ focusedColumnIndex,
73
72
  isFirstVisible,
74
73
  isLastVisible,
75
- focusedCellColumnIndexNotInRange,
76
74
  isNotVisible,
77
- focusedCell,
78
75
  onClick,
79
76
  onDoubleClick,
80
77
  onMouseEnter,
@@ -95,6 +92,9 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
95
92
  const handleRef = useForkRef(ref, refProp);
96
93
  const rowNode = apiRef.current.getRowNode(rowId);
97
94
  const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
95
+ const hasFocusCell = focusedColumnIndex !== undefined;
96
+ const hasVirtualFocusCellLeft = hasFocusCell && focusedColumnIndex >= pinnedColumns.left.length && focusedColumnIndex < renderContext.firstColumnIndex;
97
+ const hasVirtualFocusCellRight = hasFocusCell && focusedColumnIndex < visibleColumns.length - pinnedColumns.right.length && focusedColumnIndex >= renderContext.lastColumnIndex;
98
98
  const ariaRowIndex = index + headerGroupingMaxDepth + 2; // 1 for the header row and 1 as it's 1-based
99
99
 
100
100
  const ownerState = {
@@ -243,12 +243,13 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
243
243
  });
244
244
  rowClassNames.push(rootProps.getRowClassName(rowParams));
245
245
  }
246
- const randomNumber = randomNumberBetween(10000, 20, 80);
247
246
  const getCell = (column, indexInSection, indexRelativeToAllColumns, sectionLength, pinnedPosition = PinnedPosition.NONE) => {
248
247
  const cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, indexRelativeToAllColumns);
249
- if (!cellColSpanInfo || cellColSpanInfo.spannedByColSpan) {
248
+ if (cellColSpanInfo?.spannedByColSpan) {
250
249
  return null;
251
250
  }
251
+ const width = cellColSpanInfo?.cellProps.width ?? column.computedWidth;
252
+ const colSpan = cellColSpanInfo?.cellProps.colSpan ?? 1;
252
253
  let pinnedOffset;
253
254
  // FIXME: Why is the switch check exhaustiveness not validated with typescript-eslint?
254
255
  // eslint-disable-next-line default-case
@@ -260,25 +261,18 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
260
261
  pinnedOffset = dimensions.columnsTotalWidth - columnPositions[indexRelativeToAllColumns] - column.computedWidth + scrollbarWidth;
261
262
  break;
262
263
  case PinnedPosition.NONE:
264
+ case PinnedPosition.VIRTUAL:
263
265
  pinnedOffset = 0;
264
266
  break;
265
267
  }
266
268
  if (rowNode?.type === 'skeletonRow') {
267
- const {
268
- width
269
- } = cellColSpanInfo.cellProps;
270
- const contentWidth = Math.round(randomNumber());
271
269
  return /*#__PURE__*/_jsx(slots.skeletonCell, {
272
270
  width: width,
273
- contentWidth: contentWidth,
271
+ height: rowHeight,
274
272
  field: column.field,
275
273
  align: column.align ?? 'left'
276
274
  }, column.field);
277
275
  }
278
- const {
279
- colSpan,
280
- width
281
- } = cellColSpanInfo.cellProps;
282
276
  const editCellState = editRowsState[rowId]?.[column.field] ?? null;
283
277
 
284
278
  // when the cell is a reorder cell we are not allowing to reorder the col
@@ -288,10 +282,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
288
282
  const canReorderColumn = !(disableColumnReorder || column.disableReorder);
289
283
  const canReorderRow = rowReordering && !sortModel.length && treeDepth <= 1 && !isEditingRows;
290
284
  const disableDragEvents = !(canReorderColumn || isReorderCell && canReorderRow);
291
- let cellIsNotVisible = false;
292
- if (focusedCellColumnIndexNotInRange !== undefined && visibleColumns[focusedCellColumnIndexNotInRange].field === column.field) {
293
- cellIsNotVisible = true;
294
- }
285
+ const cellIsNotVisible = pinnedPosition === PinnedPosition.VIRTUAL;
295
286
  return /*#__PURE__*/_jsx(slots.cell, _extends({
296
287
  column: column,
297
288
  width: width,
@@ -327,18 +318,16 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
327
318
  });
328
319
  const middleColumnsLength = visibleColumns.length - pinnedColumns.left.length - pinnedColumns.right.length;
329
320
  const cells = [];
330
- for (let i = 0; i < renderedColumns.length; i += 1) {
331
- const column = renderedColumns[i];
332
- let indexRelativeToAllColumns = firstColumnToRender + i;
333
- if (focusedCellColumnIndexNotInRange !== undefined && focusedCell) {
334
- if (visibleColumns[focusedCellColumnIndexNotInRange].field === column.field) {
335
- indexRelativeToAllColumns = focusedCellColumnIndexNotInRange;
336
- } else {
337
- indexRelativeToAllColumns -= 1;
338
- }
339
- }
340
- const indexInSection = indexRelativeToAllColumns - pinnedColumns.left.length;
341
- cells.push(getCell(column, indexInSection, indexRelativeToAllColumns, middleColumnsLength));
321
+ if (hasVirtualFocusCellLeft) {
322
+ cells.push(getCell(visibleColumns[focusedColumnIndex], focusedColumnIndex - pinnedColumns.left.length, focusedColumnIndex, middleColumnsLength, PinnedPosition.VIRTUAL));
323
+ }
324
+ for (let i = renderContext.firstColumnIndex; i < renderContext.lastColumnIndex; i += 1) {
325
+ const column = visibleColumns[i];
326
+ const indexInSection = i - pinnedColumns.left.length;
327
+ cells.push(getCell(column, indexInSection, i, middleColumnsLength));
328
+ }
329
+ if (hasVirtualFocusCellRight) {
330
+ cells.push(getCell(visibleColumns[focusedColumnIndex], focusedColumnIndex - pinnedColumns.left.length, focusedColumnIndex, middleColumnsLength, PinnedPosition.VIRTUAL));
342
331
  }
343
332
  const eventHandlers = row ? {
344
333
  onClick: publishClick,
@@ -364,7 +353,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
364
353
  role: "presentation",
365
354
  className: gridClasses.cellOffsetLeft,
366
355
  style: {
367
- width: offsets.left
356
+ width: offsetLeft
368
357
  }
369
358
  }), cells, emptyCellWidth > 0 && /*#__PURE__*/_jsx(EmptyCell, {
370
359
  width: emptyCellWidth
@@ -418,13 +407,11 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
418
407
  width: PropTypes.number.isRequired
419
408
  }).isRequired
420
409
  }).isRequired,
421
- firstColumnToRender: PropTypes.number.isRequired,
422
410
  /**
423
411
  * Determines which cell has focus.
424
412
  * If `null`, no cell in this row has focus.
425
413
  */
426
- focusedCell: PropTypes.string,
427
- focusedCellColumnIndexNotInRange: PropTypes.number,
414
+ focusedColumnIndex: PropTypes.number,
428
415
  /**
429
416
  * Index of the row in the whole sorted and filtered dataset.
430
417
  * If some rows above have expanded children, this index also take those children into account.
@@ -432,19 +419,21 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
432
419
  index: PropTypes.number.isRequired,
433
420
  isFirstVisible: PropTypes.bool.isRequired,
434
421
  isLastVisible: PropTypes.bool.isRequired,
435
- isNotVisible: PropTypes.bool,
436
- lastColumnToRender: PropTypes.number.isRequired,
437
- offsets: PropTypes.shape({
438
- left: PropTypes.number.isRequired,
439
- top: PropTypes.number.isRequired
440
- }).isRequired,
422
+ isNotVisible: PropTypes.bool.isRequired,
423
+ offsetLeft: PropTypes.number.isRequired,
424
+ offsetTop: PropTypes.number,
441
425
  onClick: PropTypes.func,
442
426
  onDoubleClick: PropTypes.func,
443
427
  onMouseEnter: PropTypes.func,
444
428
  onMouseLeave: PropTypes.func,
445
429
  pinnedColumns: PropTypes.object.isRequired,
446
- renderedColumns: PropTypes.arrayOf(PropTypes.object).isRequired,
447
- row: PropTypes.object,
430
+ renderContext: PropTypes.shape({
431
+ firstColumnIndex: PropTypes.number.isRequired,
432
+ firstRowIndex: PropTypes.number.isRequired,
433
+ lastColumnIndex: PropTypes.number.isRequired,
434
+ lastRowIndex: PropTypes.number.isRequired
435
+ }).isRequired,
436
+ row: PropTypes.object.isRequired,
448
437
  rowHeight: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]).isRequired,
449
438
  rowId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
450
439
  selected: PropTypes.bool.isRequired,
@@ -1,34 +1,19 @@
1
1
  import * as React from 'react';
2
2
  import clsx from 'clsx';
3
- import { styled } from '@mui/material/styles';
4
- import { getDataGridUtilityClass as getClassName } from '../constants';
3
+ import { gridClasses } from '../constants';
5
4
  import { jsx as _jsx } from "react/jsx-runtime";
6
5
  const classes = {
7
- root: getClassName('scrollbarFiller'),
8
- header: getClassName('scrollbarFiller--header'),
9
- borderTop: getClassName('scrollbarFiller--borderTop'),
10
- pinnedRight: getClassName('scrollbarFiller--pinnedRight')
6
+ root: gridClasses.scrollbarFiller,
7
+ header: gridClasses['scrollbarFiller--header'],
8
+ borderTop: gridClasses['scrollbarFiller--borderTop'],
9
+ pinnedRight: gridClasses['scrollbarFiller--pinnedRight']
11
10
  };
12
- const Style = styled('div')({
13
- minWidth: 'calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
14
- alignSelf: 'stretch',
15
- [`&.${classes.borderTop}`]: {
16
- borderTop: '1px solid var(--DataGrid-rowBorderColor)'
17
- },
18
- [`&.${classes.pinnedRight}`]: {
19
- backgroundColor: 'var(--DataGrid-pinnedBackground)'
20
- },
21
- [`&.${classes.pinnedRight}:not(.${classes.header})`]: {
22
- position: 'sticky',
23
- right: 0
24
- }
25
- });
26
11
  function GridScrollbarFillerCell({
27
12
  header,
28
13
  borderTop = true,
29
14
  pinnedRight
30
15
  }) {
31
- return /*#__PURE__*/_jsx(Style, {
16
+ return /*#__PURE__*/_jsx("div", {
32
17
  role: "presentation",
33
18
  className: clsx(classes.root, header && classes.header, borderTop && classes.borderTop, pinnedRight && classes.pinnedRight)
34
19
  });
@@ -20,6 +20,7 @@ export let PinnedPosition = /*#__PURE__*/function (PinnedPosition) {
20
20
  PinnedPosition[PinnedPosition["NONE"] = 0] = "NONE";
21
21
  PinnedPosition[PinnedPosition["LEFT"] = 1] = "LEFT";
22
22
  PinnedPosition[PinnedPosition["RIGHT"] = 2] = "RIGHT";
23
+ PinnedPosition[PinnedPosition["VIRTUAL"] = 3] = "VIRTUAL";
23
24
  return PinnedPosition;
24
25
  }({});
25
26
  const EMPTY_CELL_PARAMS = {
@@ -58,8 +59,7 @@ const useUtilityClasses = ownerState => {
58
59
  classes
59
60
  } = ownerState;
60
61
  const slots = {
61
- root: ['cell', `cell--text${capitalize(align)}`, isSelected && 'selected', isEditable && 'cell--editable', showLeftBorder && 'cell--withLeftBorder', showRightBorder && 'cell--withRightBorder', pinnedPosition === PinnedPosition.LEFT && 'cell--pinnedLeft', pinnedPosition === PinnedPosition.RIGHT && 'cell--pinnedRight', isSelectionMode && !isEditable && 'cell--selectionMode'],
62
- content: ['cellContent']
62
+ root: ['cell', `cell--text${capitalize(align)}`, isSelected && 'selected', isEditable && 'cell--editable', showLeftBorder && 'cell--withLeftBorder', showRightBorder && 'cell--withRightBorder', pinnedPosition === PinnedPosition.LEFT && 'cell--pinnedLeft', pinnedPosition === PinnedPosition.RIGHT && 'cell--pinnedRight', isSelectionMode && !isEditable && 'cell--selectionMode']
63
63
  };
64
64
  return composeClasses(slots, getDataGridUtilityClass, classes);
65
65
  };
@@ -132,13 +132,19 @@ const GridCell = /*#__PURE__*/React.forwardRef((props, ref) => {
132
132
  classes: rootClasses,
133
133
  getCellClassName
134
134
  } = rootProps;
135
- const classNames = apiRef.current.unstable_applyPipeProcessors('cellClassName', [], {
135
+
136
+ // There is a hidden grid state access in `applyPipeProcessor('cellClassName', ...)`
137
+ const pipesClassName = useGridSelector(apiRef, () => apiRef.current.unstable_applyPipeProcessors('cellClassName', [], {
136
138
  id: rowId,
137
139
  field
138
- });
140
+ }).filter(Boolean).join(' '));
141
+ const classNames = [pipesClassName];
139
142
  if (column.cellClassName) {
140
143
  classNames.push(typeof column.cellClassName === 'function' ? column.cellClassName(cellParamsWithAPI) : column.cellClassName);
141
144
  }
145
+ if (column.display === 'flex') {
146
+ classNames.push(gridClasses['cell--flex']);
147
+ }
142
148
  if (getCellClassName) {
143
149
  classNames.push(getCellClassName(cellParamsWithAPI));
144
150
  }
@@ -247,12 +253,11 @@ const GridCell = /*#__PURE__*/React.forwardRef((props, ref) => {
247
253
  };
248
254
  }
249
255
  let children;
250
- if (editCellState == null && column.renderCell) {
256
+ let title;
257
+ if (editCellState === null && column.renderCell) {
251
258
  children = column.renderCell(cellParamsWithAPI);
252
- classNames.push(gridClasses['cell--withRenderer']);
253
- classNames.push(rootClasses?.['cell--withRenderer']);
254
259
  }
255
- if (editCellState != null && column.renderEditCell) {
260
+ if (editCellState !== null && column.renderEditCell) {
256
261
  const updatedRow = apiRef.current.getRowWithUpdatedValues(rowId, column.field);
257
262
 
258
263
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -266,12 +271,8 @@ const GridCell = /*#__PURE__*/React.forwardRef((props, ref) => {
266
271
  }
267
272
  if (children === undefined) {
268
273
  const valueString = valueToRender?.toString();
269
- children = /*#__PURE__*/_jsx("div", {
270
- className: classes.content,
271
- title: valueString,
272
- role: "presentation",
273
- children: valueString
274
- });
274
+ children = valueString;
275
+ title = valueString;
275
276
  }
276
277
  if ( /*#__PURE__*/React.isValidElement(children) && canManageOwnFocus) {
277
278
  children = /*#__PURE__*/React.cloneElement(children, {
@@ -291,6 +292,7 @@ const GridCell = /*#__PURE__*/React.forwardRef((props, ref) => {
291
292
  "aria-colindex": colIndex + 1,
292
293
  "aria-colspan": colSpan,
293
294
  style: style,
295
+ title: title,
294
296
  tabIndex: tabIndex,
295
297
  onClick: publish('cellClick', onClick),
296
298
  onDoubleClick: publish('cellDoubleClick', onDoubleClick),
@@ -332,7 +334,7 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
332
334
  onMouseDown: PropTypes.func,
333
335
  onMouseUp: PropTypes.func,
334
336
  pinnedOffset: PropTypes.number.isRequired,
335
- pinnedPosition: PropTypes.oneOf([0, 1, 2]).isRequired,
337
+ pinnedPosition: PropTypes.oneOf([0, 1, 2, 3]).isRequired,
336
338
  rowId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
337
339
  sectionIndex: PropTypes.number.isRequired,
338
340
  sectionLength: PropTypes.number.isRequired,
@@ -1,13 +1,16 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["field", "align", "width", "contentWidth"];
3
+ const _excluded = ["field", "align", "width", "height"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import Skeleton from '@mui/material/Skeleton';
7
7
  import { unstable_composeClasses as composeClasses, unstable_capitalize as capitalize } from '@mui/utils';
8
+ import { fastMemo } from '../../utils/fastMemo';
9
+ import { randomNumberBetween } from '../../utils/utils';
8
10
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
9
11
  import { getDataGridUtilityClass } from '../../constants/gridClasses';
10
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
+ const randomWidth = randomNumberBetween(10000, 20, 80);
11
14
  const useUtilityClasses = ownerState => {
12
15
  const {
13
16
  align,
@@ -22,7 +25,7 @@ function GridSkeletonCell(props) {
22
25
  const {
23
26
  align,
24
27
  width,
25
- contentWidth
28
+ height
26
29
  } = props,
27
30
  other = _objectWithoutPropertiesLoose(props, _excluded);
28
31
  const rootProps = useGridRootProps();
@@ -31,14 +34,18 @@ function GridSkeletonCell(props) {
31
34
  align
32
35
  };
33
36
  const classes = useUtilityClasses(ownerState);
37
+ const contentWidth = Math.round(randomWidth());
34
38
  return /*#__PURE__*/_jsx("div", _extends({
35
39
  className: classes.root,
36
40
  style: {
37
- width
41
+ height,
42
+ maxWidth: width,
43
+ minWidth: width
38
44
  }
39
45
  }, other, {
40
46
  children: /*#__PURE__*/_jsx(Skeleton, {
41
- width: `${contentWidth}%`
47
+ width: `${contentWidth}%`,
48
+ height: 25
42
49
  })
43
50
  }));
44
51
  }
@@ -48,8 +55,9 @@ process.env.NODE_ENV !== "production" ? GridSkeletonCell.propTypes = {
48
55
  // | To update them edit the TypeScript types and run "yarn proptypes" |
49
56
  // ----------------------------------------------------------------------
50
57
  align: PropTypes.string.isRequired,
51
- contentWidth: PropTypes.number.isRequired,
52
58
  field: PropTypes.string.isRequired,
59
+ height: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]).isRequired,
53
60
  width: PropTypes.number.isRequired
54
61
  } : void 0;
55
- export { GridSkeletonCell };
62
+ const Memoized = fastMemo(GridSkeletonCell);
63
+ export { Memoized as GridSkeletonCell };
@@ -4,7 +4,6 @@ const _excluded = ["field", "id", "value", "formattedValue", "row", "rowNode", "
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { unstable_composeClasses as composeClasses, unstable_useForkRef as useForkRef } from '@mui/utils';
7
- import { isSpaceKey } from '../../utils/keyboardUtils';
8
7
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
9
8
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
10
9
  import { getDataGridUtilityClass } from '../../constants/gridClasses';
@@ -37,7 +36,6 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
37
36
  const checkboxElement = React.useRef(null);
38
37
  const rippleRef = React.useRef(null);
39
38
  const handleRef = useForkRef(checkboxElement, ref);
40
- const element = apiRef.current.getCellElement(id, field);
41
39
  const handleChange = event => {
42
40
  const params = {
43
41
  value: event.target.checked,
@@ -46,10 +44,13 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
46
44
  apiRef.current.publishEvent('rowSelectionCheckboxChange', params, event);
47
45
  };
48
46
  React.useLayoutEffect(() => {
49
- if (tabIndex === 0 && element) {
50
- element.tabIndex = -1;
47
+ if (tabIndex === 0) {
48
+ const element = apiRef.current.getCellElement(id, field);
49
+ if (element) {
50
+ element.tabIndex = -1;
51
+ }
51
52
  }
52
- }, [element, tabIndex]);
53
+ }, [apiRef, tabIndex, id, field]);
53
54
  React.useEffect(() => {
54
55
  if (hasFocus) {
55
56
  const input = checkboxElement.current?.querySelector('input');
@@ -62,7 +63,7 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
62
63
  }
63
64
  }, [hasFocus]);
64
65
  const handleKeyDown = React.useCallback(event => {
65
- if (isSpaceKey(event.key)) {
66
+ if (event.key === ' ') {
66
67
  // We call event.stopPropagation to avoid selecting the row and also scrolling to bottom
67
68
  // TODO: Remove and add a check inside useGridKeyboardNavigation
68
69
  event.stopPropagation();
@@ -152,7 +152,7 @@ function GridColumnsManagement(props) {
152
152
  ownerState: rootProps,
153
153
  children: apiRef.current.getLocaleText('columnsManagementNoColumns')
154
154
  })]
155
- }), !disableShowHideToggle && !disableResetButton && currentColumns.length > 0 ? /*#__PURE__*/_jsxs(GridColumnsManagementFooter, {
155
+ }), (!disableShowHideToggle || !disableResetButton) && currentColumns.length > 0 ? /*#__PURE__*/_jsxs(GridColumnsManagementFooter, {
156
156
  ownerState: rootProps,
157
157
  className: classes.footer,
158
158
  children: [!disableShowHideToggle ? /*#__PURE__*/_jsx(FormControlLabel, {
@@ -47,6 +47,8 @@ export const GridRootStyles = styled('div', {
47
47
  [`&.${c.autosizing}`]: styles.autosizing
48
48
  }, {
49
49
  [`& .${c.editBooleanCell}`]: styles.editBooleanCell
50
+ }, {
51
+ [`& .${c.cell}`]: styles.cell
50
52
  }, {
51
53
  [`& .${c['cell--editing']}`]: styles['cell--editing']
52
54
  }, {
@@ -55,12 +57,6 @@ export const GridRootStyles = styled('div', {
55
57
  [`& .${c['cell--textLeft']}`]: styles['cell--textLeft']
56
58
  }, {
57
59
  [`& .${c['cell--textRight']}`]: styles['cell--textRight']
58
- },
59
- // TODO v6: Remove
60
- {
61
- [`& .${c['cell--withRenderer']}`]: styles['cell--withRenderer']
62
- }, {
63
- [`& .${c.cell}`]: styles.cell
64
60
  }, {
65
61
  [`& .${c['cell--rangeTop']}`]: styles['cell--rangeTop']
66
62
  }, {
@@ -71,8 +67,6 @@ export const GridRootStyles = styled('div', {
71
67
  [`& .${c['cell--rangeRight']}`]: styles['cell--rangeRight']
72
68
  }, {
73
69
  [`& .${c['cell--withRightBorder']}`]: styles['cell--withRightBorder']
74
- }, {
75
- [`& .${c.cellContent}`]: styles.cellContent
76
70
  }, {
77
71
  [`& .${c.cellCheckbox}`]: styles.cellCheckbox
78
72
  }, {
@@ -235,9 +229,21 @@ export const GridRootStyles = styled('div', {
235
229
  [`& .${c.columnHeaderTitleContainerContent} > *`]: {
236
230
  overflow: 'visible !important'
237
231
  },
238
- [`& .${c.cell} > *`]: {
232
+ '@media (hover: hover)': {
233
+ [`& .${c.iconButtonContainer}`]: {
234
+ width: '0 !important',
235
+ visibility: 'hidden !important'
236
+ },
237
+ [`& .${c.menuIcon}`]: {
238
+ width: '0 !important',
239
+ visibility: 'hidden !important'
240
+ }
241
+ },
242
+ [`& .${c.cell}`]: {
239
243
  overflow: 'visible !important',
240
- whiteSpace: 'nowrap'
244
+ whiteSpace: 'nowrap',
245
+ minWidth: 'max-content !important',
246
+ maxWidth: 'max-content !important'
241
247
  },
242
248
  [`& .${c.groupingCriteriaCell}`]: {
243
249
  width: 'unset'
@@ -335,7 +341,7 @@ export const GridRootStyles = styled('div', {
335
341
  [`& .${c.columnSeparator}`]: {
336
342
  visibility: 'hidden',
337
343
  position: 'absolute',
338
- zIndex: 100,
344
+ zIndex: 3,
339
345
  display: 'flex',
340
346
  flexDirection: 'column',
341
347
  justifyContent: 'center',
@@ -429,15 +435,19 @@ export const GridRootStyles = styled('div', {
429
435
  },
430
436
  /* Cell styles */
431
437
  [`& .${c.cell}`]: {
432
- display: 'flex',
433
- alignItems: 'center',
434
438
  height: 'var(--height)',
435
439
  minWidth: 'var(--width)',
436
440
  maxWidth: 'var(--width)',
441
+ lineHeight: 'calc(var(--height) - 1px)',
442
+ // -1px for the border
443
+
437
444
  '--width': '0px',
438
445
  '--height': '0px',
439
446
  boxSizing: 'border-box',
440
447
  borderTop: `1px solid var(--rowBorderColor)`,
448
+ overflow: 'hidden',
449
+ whiteSpace: 'nowrap',
450
+ textOverflow: 'ellipsis',
441
451
  '&.Mui-selected': selectedStyles
442
452
  },
443
453
  [`& .${c['virtualScrollerContent--overflowed']} .${c['row--lastVisible']} .${c.cell}`]: {
@@ -446,12 +456,14 @@ export const GridRootStyles = styled('div', {
446
456
  [`&.${c['root--disableUserSelection']} .${c.cell}`]: {
447
457
  userSelect: 'none'
448
458
  },
449
- [`& .${c.row}:not(.${c['row--dynamicHeight']}) > .${c.cell}`]: {
450
- overflow: 'hidden',
451
- whiteSpace: 'nowrap'
459
+ [`& .${c['row--dynamicHeight']} > .${c.cell}`]: {
460
+ overflow: 'initial',
461
+ whiteSpace: 'initial',
462
+ lineHeight: 'inherit'
452
463
  },
453
464
  [`& .${c.cellEmpty}`]: {
454
- padding: 0
465
+ padding: 0,
466
+ height: 'unset'
455
467
  },
456
468
  [`& .${c.cell}.${c['cell--selectionMode']}`]: {
457
469
  cursor: 'default'
@@ -466,10 +478,6 @@ export const GridRootStyles = styled('div', {
466
478
  outlineOffset: '-1px'
467
479
  }
468
480
  },
469
- [`& .${c.cellContent}`]: {
470
- overflow: 'hidden',
471
- textOverflow: 'ellipsis'
472
- },
473
481
  [`& .${c['row--editing']}`]: {
474
482
  boxShadow: t.shadows[2]
475
483
  },
@@ -508,6 +516,7 @@ export const GridRootStyles = styled('div', {
508
516
  },
509
517
  [`& .${c.rowReorderCellContainer}`]: {
510
518
  padding: 0,
519
+ display: 'flex',
511
520
  alignItems: 'stretch'
512
521
  },
513
522
  [`.${c.withBorderColor}`]: {
@@ -527,13 +536,21 @@ export const GridRootStyles = styled('div', {
527
536
  borderRightWidth: '1px',
528
537
  borderRightStyle: 'solid'
529
538
  },
539
+ [`& .${c['cell--flex']}`]: {
540
+ display: 'flex',
541
+ alignItems: 'center',
542
+ lineHeight: 'inherit'
543
+ },
530
544
  [`& .${c['cell--textLeft']}`]: {
545
+ textAlign: 'left',
531
546
  justifyContent: 'flex-start'
532
547
  },
533
548
  [`& .${c['cell--textRight']}`]: {
549
+ textAlign: 'right',
534
550
  justifyContent: 'flex-end'
535
551
  },
536
552
  [`& .${c['cell--textCenter']}`]: {
553
+ textAlign: 'center',
537
554
  justifyContent: 'center'
538
555
  },
539
556
  [`& .${c['cell--pinnedLeft']}, & .${c['cell--pinnedRight']}`]: {
@@ -562,6 +579,12 @@ export const GridRootStyles = styled('div', {
562
579
  flex: '0 0 auto',
563
580
  display: 'inline-block'
564
581
  },
582
+ [`& .${c.cellSkeleton}`]: {
583
+ flex: '0 0 auto',
584
+ height: '100%',
585
+ display: 'inline-flex',
586
+ alignItems: 'center'
587
+ },
565
588
  [`& .${c.columnHeaderDraggableContainer}`]: {
566
589
  display: 'flex',
567
590
  width: '100%',
@@ -604,6 +627,21 @@ export const GridRootStyles = styled('div', {
604
627
  flex: '0 0 28px',
605
628
  alignSelf: 'stretch',
606
629
  marginRight: t.spacing(2)
630
+ },
631
+ /* ScrollbarFiller styles */
632
+ [`.${c.scrollbarFiller}`]: {
633
+ minWidth: 'calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
634
+ alignSelf: 'stretch',
635
+ [`&.${c['scrollbarFiller--borderTop']}`]: {
636
+ borderTop: '1px solid var(--DataGrid-rowBorderColor)'
637
+ },
638
+ [`&.${c['scrollbarFiller--pinnedRight']}`]: {
639
+ backgroundColor: 'var(--DataGrid-pinnedBackground)'
640
+ },
641
+ [`&.${c['scrollbarFiller--pinnedRight']}:not(.${c['scrollbarFiller--header']})`]: {
642
+ position: 'sticky',
643
+ right: 0
644
+ }
607
645
  }
608
646
  });
609
647
  return gridStyle;
@@ -51,8 +51,14 @@ function GridFilterInputMultipleSingleSelect(props) {
51
51
  if (!Array.isArray(item.value)) {
52
52
  return [];
53
53
  }
54
- return item.value;
55
- }, [item.value]);
54
+ return item.value.reduce((acc, value) => {
55
+ const resolvedValue = resolvedValueOptions.find(v => getOptionValue(v) === value);
56
+ if (resolvedValue != null) {
57
+ acc.push(resolvedValue);
58
+ }
59
+ return acc;
60
+ }, []);
61
+ }, [getOptionValue, item.value, resolvedValueOptions]);
56
62
  const handleChange = React.useCallback((event, value) => {
57
63
  applyValue(_extends({}, item, {
58
64
  value: value.map(getOptionValue)
@@ -13,7 +13,7 @@ const useUtilityClasses = () => {
13
13
  };
14
14
  const Element = styled('div')({
15
15
  position: 'sticky',
16
- zIndex: 2,
16
+ zIndex: 4,
17
17
  bottom: 'calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))'
18
18
  });
19
19
  export function GridBottomContainer(props) {
@@ -13,7 +13,7 @@ const useUtilityClasses = () => {
13
13
  };
14
14
  const Element = styled('div')({
15
15
  position: 'sticky',
16
- zIndex: 2,
16
+ zIndex: 4,
17
17
  top: 0,
18
18
  '&::after': {
19
19
  content: '" "',
@@ -85,9 +85,9 @@ function GridVirtualScroller(props) {
85
85
  virtualScroller: virtualScroller
86
86
  })
87
87
  })]
88
- })), /*#__PURE__*/_jsx(Scrollbar, _extends({
88
+ })), dimensions.hasScrollY && /*#__PURE__*/_jsx(Scrollbar, _extends({
89
89
  position: "vertical"
90
- }, getScrollbarVerticalProps())), /*#__PURE__*/_jsx(Scrollbar, _extends({
90
+ }, getScrollbarVerticalProps())), dimensions.hasScrollX && /*#__PURE__*/_jsx(Scrollbar, _extends({
91
91
  position: "horizontal"
92
92
  }, getScrollbarHorizontalProps())), props.children]
93
93
  }));