@mui/x-data-grid 7.14.0 → 7.16.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 (755) hide show
  1. package/CHANGELOG.md +167 -1
  2. package/DataGrid/DataGrid.js +17 -9
  3. package/DataGrid/index.js +2 -2
  4. package/DataGrid/useDataGridComponent.js +29 -29
  5. package/DataGrid/useDataGridProps.js +6 -4
  6. package/colDef/gridActionsColDef.js +2 -2
  7. package/colDef/gridBooleanColDef.js +5 -5
  8. package/colDef/gridBooleanOperators.js +1 -1
  9. package/colDef/gridCheckboxSelectionColDef.js +4 -4
  10. package/colDef/gridDateColDef.js +4 -4
  11. package/colDef/gridDateOperators.js +1 -1
  12. package/colDef/gridDefaultColumnTypes.js +6 -6
  13. package/colDef/gridNumericColDef.js +4 -4
  14. package/colDef/gridNumericOperators.js +2 -2
  15. package/colDef/gridSingleSelectColDef.js +5 -5
  16. package/colDef/gridSingleSelectOperators.js +3 -3
  17. package/colDef/gridStringColDef.js +3 -3
  18. package/colDef/gridStringOperators.js +4 -4
  19. package/colDef/index.js +13 -13
  20. package/components/GridColumnHeaders.js +2 -2
  21. package/components/GridFooter.js +8 -8
  22. package/components/GridHeader.js +2 -2
  23. package/components/GridHeaders.js +9 -9
  24. package/components/GridLoadingOverlay.js +4 -4
  25. package/components/GridNoResultsOverlay.js +2 -2
  26. package/components/GridNoRowsOverlay.js +2 -2
  27. package/components/GridPagination.js +4 -4
  28. package/components/GridRow.js +19 -19
  29. package/components/GridRowCount.js +3 -3
  30. package/components/GridScrollArea.js +10 -10
  31. package/components/GridScrollbarFillerCell.d.ts +2 -1
  32. package/components/GridScrollbarFillerCell.js +4 -2
  33. package/components/GridSelectedRowCount.js +3 -3
  34. package/components/GridSkeletonLoadingOverlay.js +11 -11
  35. package/components/base/GridBody.js +1 -1
  36. package/components/base/GridFooterPlaceholder.js +1 -1
  37. package/components/base/GridOverlays.js +7 -7
  38. package/components/base/index.js +3 -3
  39. package/components/cell/GridActionsCell.js +7 -7
  40. package/components/cell/GridActionsCellItem.js +1 -1
  41. package/components/cell/GridBooleanCell.js +4 -4
  42. package/components/cell/GridCell.js +11 -11
  43. package/components/cell/GridEditBooleanCell.js +3 -3
  44. package/components/cell/GridEditDateCell.js +3 -3
  45. package/components/cell/GridEditInputCell.js +3 -3
  46. package/components/cell/GridEditSingleSelectCell.js +5 -5
  47. package/components/cell/GridSkeletonCell.js +3 -3
  48. package/components/cell/index.js +9 -9
  49. package/components/columnHeaders/ColumnHeaderMenuIcon.js +4 -4
  50. package/components/columnHeaders/GridBaseColumnHeaders.js +2 -2
  51. package/components/columnHeaders/GridColumnGroupHeader.js +9 -9
  52. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +7 -7
  53. package/components/columnHeaders/GridColumnHeaderItem.js +9 -9
  54. package/components/columnHeaders/GridColumnHeaderSeparator.js +3 -4
  55. package/components/columnHeaders/GridColumnHeaderSortIcon.js +4 -4
  56. package/components/columnHeaders/GridColumnHeaderTitle.js +5 -4
  57. package/components/columnHeaders/GridGenericColumnHeaderItem.js +5 -7
  58. package/components/columnHeaders/GridIconButtonContainer.js +2 -2
  59. package/components/columnHeaders/index.js +5 -5
  60. package/components/columnSelection/GridCellCheckboxRenderer.js +3 -3
  61. package/components/columnSelection/GridHeaderCheckbox.js +11 -10
  62. package/components/columnSelection/index.js +2 -2
  63. package/components/columnsManagement/GridColumnsManagement.js +7 -7
  64. package/components/columnsManagement/index.js +1 -1
  65. package/components/containers/GridFooterContainer.js +2 -2
  66. package/components/containers/GridOverlay.js +2 -2
  67. package/components/containers/GridRoot.js +6 -6
  68. package/components/containers/GridRootStyles.js +102 -49
  69. package/components/containers/GridToolbarContainer.js +2 -2
  70. package/components/containers/index.js +4 -4
  71. package/components/index.js +19 -19
  72. package/components/menu/GridMenu.js +3 -3
  73. package/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -2
  74. package/components/menu/columnMenu/GridColumnMenu.js +5 -5
  75. package/components/menu/columnMenu/GridColumnMenuContainer.js +2 -2
  76. package/components/menu/columnMenu/index.js +6 -6
  77. package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +2 -2
  78. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +2 -2
  79. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +3 -3
  80. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +3 -3
  81. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +4 -4
  82. package/components/menu/columnMenu/menuItems/index.js +5 -5
  83. package/components/menu/index.js +2 -2
  84. package/components/panel/GridColumnsPanel.js +3 -3
  85. package/components/panel/GridPanel.d.ts +1 -1
  86. package/components/panel/GridPanel.js +2 -2
  87. package/components/panel/GridPanelContent.js +2 -2
  88. package/components/panel/GridPanelFooter.js +2 -2
  89. package/components/panel/GridPanelHeader.js +2 -2
  90. package/components/panel/GridPanelWrapper.js +2 -2
  91. package/components/panel/GridPreferencesPanel.js +6 -6
  92. package/components/panel/filterPanel/GridFilterForm.js +8 -8
  93. package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  94. package/components/panel/filterPanel/GridFilterInputDate.js +2 -2
  95. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +2 -2
  96. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +17 -9
  97. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +2 -2
  98. package/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  99. package/components/panel/filterPanel/GridFilterPanel.js +10 -10
  100. package/components/panel/filterPanel/index.js +9 -9
  101. package/components/panel/index.js +7 -7
  102. package/components/reexportable.js +1 -1
  103. package/components/toolbar/GridToolbar.js +7 -7
  104. package/components/toolbar/GridToolbarColumnsButton.js +5 -5
  105. package/components/toolbar/GridToolbarDensitySelector.js +7 -7
  106. package/components/toolbar/GridToolbarExport.js +2 -2
  107. package/components/toolbar/GridToolbarExportContainer.js +5 -5
  108. package/components/toolbar/GridToolbarFilterButton.js +8 -8
  109. package/components/toolbar/GridToolbarQuickFilter.js +6 -6
  110. package/components/toolbar/index.js +7 -7
  111. package/components/virtualization/GridBottomContainer.js +1 -1
  112. package/components/virtualization/GridMainContainer.js +2 -2
  113. package/components/virtualization/GridTopContainer.js +1 -1
  114. package/components/virtualization/GridVirtualScrollbar.js +5 -5
  115. package/components/virtualization/GridVirtualScroller.js +18 -18
  116. package/components/virtualization/GridVirtualScrollerContent.js +2 -2
  117. package/components/virtualization/GridVirtualScrollerFiller.js +4 -4
  118. package/components/virtualization/GridVirtualScrollerRenderZone.js +6 -6
  119. package/constants/defaultGridSlotsComponents.js +8 -8
  120. package/constants/gridClasses.d.ts +12 -2
  121. package/constants/gridClasses.js +1 -1
  122. package/constants/index.js +3 -3
  123. package/context/GridContextProvider.js +4 -4
  124. package/context/index.js +1 -1
  125. package/hooks/core/gridCoreSelector.d.ts +1 -1
  126. package/hooks/core/gridCoreSelector.js +1 -1
  127. package/hooks/core/pipeProcessing/index.js +4 -4
  128. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +1 -1
  129. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
  130. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
  131. package/hooks/core/strategyProcessing/index.js +3 -3
  132. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +1 -1
  133. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +1 -1
  134. package/hooks/core/useGridApiInitialization.js +3 -3
  135. package/hooks/core/useGridInitialization.js +9 -9
  136. package/hooks/core/{useGridTheme.d.ts → useGridIsRtl.d.ts} +1 -1
  137. package/hooks/core/{useGridTheme.js → useGridIsRtl.js} +7 -7
  138. package/hooks/core/useGridLoggerFactory.js +2 -2
  139. package/hooks/core/useGridStateInitialization.js +2 -2
  140. package/hooks/features/clipboard/useGridClipboard.js +3 -3
  141. package/hooks/features/columnGrouping/gridColumnGroupsSelector.js +1 -1
  142. package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +2 -2
  143. package/hooks/features/columnGrouping/index.js +1 -1
  144. package/hooks/features/columnGrouping/useGridColumnGrouping.js +6 -6
  145. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  146. package/hooks/features/columnHeaders/useGridColumnHeaders.js +31 -30
  147. package/hooks/features/columnMenu/index.js +2 -2
  148. package/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  149. package/hooks/features/columnMenu/useGridColumnMenuSlots.js +1 -1
  150. package/hooks/features/columnResize/columnResizeSelector.js +1 -1
  151. package/hooks/features/columnResize/index.js +3 -3
  152. package/hooks/features/columnResize/useGridColumnResize.js +15 -23
  153. package/hooks/features/columns/gridColumnsSelector.js +5 -5
  154. package/hooks/features/columns/gridColumnsUtils.js +6 -6
  155. package/hooks/features/columns/index.js +2 -2
  156. package/hooks/features/columns/useGridColumnSpanning.js +2 -2
  157. package/hooks/features/columns/useGridColumns.js +8 -8
  158. package/hooks/features/density/densitySelector.js +1 -1
  159. package/hooks/features/density/index.js +2 -2
  160. package/hooks/features/density/useGridDensity.js +4 -4
  161. package/hooks/features/dimensions/index.js +1 -1
  162. package/hooks/features/dimensions/useGridDimensions.js +12 -12
  163. package/hooks/features/editing/index.js +1 -1
  164. package/hooks/features/editing/useGridCellEditing.js +9 -9
  165. package/hooks/features/editing/useGridEditing.js +6 -6
  166. package/hooks/features/editing/useGridRowEditing.js +11 -11
  167. package/hooks/features/events/useGridEvents.js +1 -1
  168. package/hooks/features/export/serializers/csvSerializer.js +2 -2
  169. package/hooks/features/export/useGridCsvExport.js +7 -7
  170. package/hooks/features/export/useGridPrintExport.js +13 -13
  171. package/hooks/features/export/utils.js +3 -3
  172. package/hooks/features/filter/gridFilterSelector.js +4 -4
  173. package/hooks/features/filter/gridFilterState.js +1 -1
  174. package/hooks/features/filter/gridFilterUtils.js +5 -5
  175. package/hooks/features/filter/index.js +2 -2
  176. package/hooks/features/filter/useGridFilter.js +16 -16
  177. package/hooks/features/focus/gridFocusStateSelector.js +1 -1
  178. package/hooks/features/focus/index.js +2 -2
  179. package/hooks/features/focus/useGridFocus.js +10 -10
  180. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +1 -1
  181. package/hooks/features/headerFiltering/index.js +1 -1
  182. package/hooks/features/headerFiltering/useGridHeaderFiltering.js +3 -3
  183. package/hooks/features/index.js +17 -17
  184. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +35 -36
  185. package/hooks/features/overlays/useGridOverlays.js +5 -5
  186. package/hooks/features/pagination/gridPaginationSelector.js +4 -4
  187. package/hooks/features/pagination/gridPaginationUtils.js +1 -1
  188. package/hooks/features/pagination/index.js +1 -1
  189. package/hooks/features/pagination/useGridPagination.js +4 -4
  190. package/hooks/features/pagination/useGridPaginationMeta.js +3 -3
  191. package/hooks/features/pagination/useGridPaginationModel.js +5 -5
  192. package/hooks/features/pagination/useGridRowCount.js +4 -4
  193. package/hooks/features/preferencesPanel/index.js +3 -3
  194. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -4
  195. package/hooks/features/rowSelection/gridRowSelectionSelector.js +2 -2
  196. package/hooks/features/rowSelection/index.js +1 -1
  197. package/hooks/features/rowSelection/useGridRowSelection.js +16 -16
  198. package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +3 -3
  199. package/hooks/features/rowSelection/utils.js +1 -1
  200. package/hooks/features/rows/gridRowsSelector.js +1 -1
  201. package/hooks/features/rows/gridRowsUtils.js +2 -2
  202. package/hooks/features/rows/index.js +4 -4
  203. package/hooks/features/rows/useGridParamsApi.js +3 -3
  204. package/hooks/features/rows/useGridRowAriaAttributes.js +4 -4
  205. package/hooks/features/rows/useGridRows.js +10 -10
  206. package/hooks/features/rows/useGridRowsMeta.js +10 -10
  207. package/hooks/features/rows/useGridRowsPreProcessors.js +2 -2
  208. package/hooks/features/scroll/useGridScroll.js +13 -13
  209. package/hooks/features/sorting/gridSortingSelector.js +3 -3
  210. package/hooks/features/sorting/gridSortingUtils.js +1 -1
  211. package/hooks/features/sorting/index.js +2 -2
  212. package/hooks/features/sorting/useGridSorting.js +11 -11
  213. package/hooks/features/statePersistence/useGridStatePersistence.js +1 -1
  214. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +7 -1
  215. package/hooks/features/virtualization/gridVirtualizationSelectors.js +9 -2
  216. package/hooks/features/virtualization/index.js +2 -2
  217. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -2
  218. package/hooks/features/virtualization/useGridVirtualScroller.js +81 -84
  219. package/hooks/features/virtualization/useGridVirtualization.d.ts +2 -1
  220. package/hooks/features/virtualization/useGridVirtualization.js +12 -5
  221. package/hooks/index.js +3 -3
  222. package/hooks/utils/index.js +8 -8
  223. package/hooks/utils/useGridApiContext.js +1 -1
  224. package/hooks/utils/useGridApiEventHandler.js +2 -2
  225. package/hooks/utils/useGridAriaAttributes.js +8 -8
  226. package/hooks/utils/useGridConfiguration.js +1 -1
  227. package/hooks/utils/useGridNativeEventListener.js +2 -2
  228. package/hooks/utils/useGridRootProps.js +1 -1
  229. package/hooks/utils/useGridSelector.js +3 -3
  230. package/hooks/utils/useGridVisibleRows.js +2 -2
  231. package/index.js +14 -14
  232. package/internals/index.js +72 -72
  233. package/internals/utils/getPinnedCellOffset.js +1 -1
  234. package/internals/utils/index.js +4 -4
  235. package/internals/utils/propValidation.js +3 -3
  236. package/joy/icons.js +31 -31
  237. package/joy/index.js +1 -1
  238. package/joy/joySlots.js +5 -5
  239. package/locales/arSD.js +1 -1
  240. package/locales/beBY.js +2 -2
  241. package/locales/bgBG.js +1 -1
  242. package/locales/csCZ.js +1 -1
  243. package/locales/daDK.js +1 -1
  244. package/locales/deDE.js +1 -1
  245. package/locales/elGR.js +1 -1
  246. package/locales/enUS.js +2 -2
  247. package/locales/esES.js +1 -1
  248. package/locales/faIR.js +1 -1
  249. package/locales/fiFI.js +1 -1
  250. package/locales/frFR.js +2 -3
  251. package/locales/heIL.js +1 -1
  252. package/locales/hrHR.js +1 -1
  253. package/locales/huHU.js +1 -1
  254. package/locales/index.js +36 -36
  255. package/locales/isIS.js +1 -1
  256. package/locales/itIT.js +1 -1
  257. package/locales/jaJP.js +1 -1
  258. package/locales/koKR.js +1 -1
  259. package/locales/nbNO.js +1 -1
  260. package/locales/nlNL.js +5 -6
  261. package/locales/nnNO.js +1 -1
  262. package/locales/plPL.js +1 -1
  263. package/locales/ptBR.js +1 -1
  264. package/locales/ptPT.js +1 -1
  265. package/locales/roRO.js +1 -1
  266. package/locales/ruRU.js +1 -1
  267. package/locales/skSK.js +1 -1
  268. package/locales/svSE.js +1 -1
  269. package/locales/trTR.js +1 -1
  270. package/locales/ukUA.js +1 -1
  271. package/locales/urPK.js +2 -2
  272. package/locales/viVN.js +1 -1
  273. package/locales/zhCN.js +6 -7
  274. package/locales/zhHK.js +1 -1
  275. package/locales/zhTW.js +1 -1
  276. package/material/icons/GridColumnUnsortedIcon.js +1 -1
  277. package/material/icons/index.js +32 -29
  278. package/material/index.js +3 -3
  279. package/models/api/index.js +13 -13
  280. package/models/colDef/index.js +2 -2
  281. package/models/events/index.js +3 -3
  282. package/models/gridStateCommunity.d.ts +1 -2
  283. package/models/index.d.ts +1 -0
  284. package/models/index.js +27 -25
  285. package/models/params/index.js +13 -13
  286. package/models/props/DataGridProps.d.ts +10 -2
  287. package/modern/DataGrid/DataGrid.js +17 -9
  288. package/modern/DataGrid/index.js +2 -2
  289. package/modern/DataGrid/useDataGridComponent.js +29 -29
  290. package/modern/DataGrid/useDataGridProps.js +6 -4
  291. package/modern/colDef/gridActionsColDef.js +2 -2
  292. package/modern/colDef/gridBooleanColDef.js +5 -5
  293. package/modern/colDef/gridBooleanOperators.js +1 -1
  294. package/modern/colDef/gridCheckboxSelectionColDef.js +4 -4
  295. package/modern/colDef/gridDateColDef.js +4 -4
  296. package/modern/colDef/gridDateOperators.js +1 -1
  297. package/modern/colDef/gridDefaultColumnTypes.js +6 -6
  298. package/modern/colDef/gridNumericColDef.js +4 -4
  299. package/modern/colDef/gridNumericOperators.js +2 -2
  300. package/modern/colDef/gridSingleSelectColDef.js +5 -5
  301. package/modern/colDef/gridSingleSelectOperators.js +3 -3
  302. package/modern/colDef/gridStringColDef.js +3 -3
  303. package/modern/colDef/gridStringOperators.js +4 -4
  304. package/modern/colDef/index.js +13 -13
  305. package/modern/components/GridColumnHeaders.js +2 -2
  306. package/modern/components/GridFooter.js +8 -8
  307. package/modern/components/GridHeader.js +2 -2
  308. package/modern/components/GridHeaders.js +9 -9
  309. package/modern/components/GridLoadingOverlay.js +4 -4
  310. package/modern/components/GridNoResultsOverlay.js +2 -2
  311. package/modern/components/GridNoRowsOverlay.js +2 -2
  312. package/modern/components/GridPagination.js +4 -4
  313. package/modern/components/GridRow.js +19 -19
  314. package/modern/components/GridRowCount.js +3 -3
  315. package/modern/components/GridScrollArea.js +10 -10
  316. package/modern/components/GridScrollbarFillerCell.js +4 -2
  317. package/modern/components/GridSelectedRowCount.js +3 -3
  318. package/modern/components/GridSkeletonLoadingOverlay.js +11 -11
  319. package/modern/components/base/GridBody.js +1 -1
  320. package/modern/components/base/GridFooterPlaceholder.js +1 -1
  321. package/modern/components/base/GridOverlays.js +7 -7
  322. package/modern/components/base/index.js +3 -3
  323. package/modern/components/cell/GridActionsCell.js +7 -7
  324. package/modern/components/cell/GridActionsCellItem.js +1 -1
  325. package/modern/components/cell/GridBooleanCell.js +4 -4
  326. package/modern/components/cell/GridCell.js +11 -11
  327. package/modern/components/cell/GridEditBooleanCell.js +3 -3
  328. package/modern/components/cell/GridEditDateCell.js +3 -3
  329. package/modern/components/cell/GridEditInputCell.js +3 -3
  330. package/modern/components/cell/GridEditSingleSelectCell.js +5 -5
  331. package/modern/components/cell/GridSkeletonCell.js +3 -3
  332. package/modern/components/cell/index.js +9 -9
  333. package/modern/components/columnHeaders/ColumnHeaderMenuIcon.js +4 -4
  334. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +2 -2
  335. package/modern/components/columnHeaders/GridColumnGroupHeader.js +9 -9
  336. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +7 -7
  337. package/modern/components/columnHeaders/GridColumnHeaderItem.js +9 -9
  338. package/modern/components/columnHeaders/GridColumnHeaderSeparator.js +3 -4
  339. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +4 -4
  340. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -4
  341. package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +5 -7
  342. package/modern/components/columnHeaders/GridIconButtonContainer.js +2 -2
  343. package/modern/components/columnHeaders/index.js +5 -5
  344. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +3 -3
  345. package/modern/components/columnSelection/GridHeaderCheckbox.js +11 -10
  346. package/modern/components/columnSelection/index.js +2 -2
  347. package/modern/components/columnsManagement/GridColumnsManagement.js +7 -7
  348. package/modern/components/columnsManagement/index.js +1 -1
  349. package/modern/components/containers/GridFooterContainer.js +2 -2
  350. package/modern/components/containers/GridOverlay.js +2 -2
  351. package/modern/components/containers/GridRoot.js +6 -6
  352. package/modern/components/containers/GridRootStyles.js +102 -49
  353. package/modern/components/containers/GridToolbarContainer.js +2 -2
  354. package/modern/components/containers/index.js +4 -4
  355. package/modern/components/index.js +19 -19
  356. package/modern/components/menu/GridMenu.js +3 -3
  357. package/modern/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -2
  358. package/modern/components/menu/columnMenu/GridColumnMenu.js +5 -5
  359. package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +2 -2
  360. package/modern/components/menu/columnMenu/index.js +6 -6
  361. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +2 -2
  362. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +2 -2
  363. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +3 -3
  364. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +3 -3
  365. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +4 -4
  366. package/modern/components/menu/columnMenu/menuItems/index.js +5 -5
  367. package/modern/components/menu/index.js +2 -2
  368. package/modern/components/panel/GridColumnsPanel.js +3 -3
  369. package/modern/components/panel/GridPanel.js +2 -2
  370. package/modern/components/panel/GridPanelContent.js +2 -2
  371. package/modern/components/panel/GridPanelFooter.js +2 -2
  372. package/modern/components/panel/GridPanelHeader.js +2 -2
  373. package/modern/components/panel/GridPanelWrapper.js +2 -2
  374. package/modern/components/panel/GridPreferencesPanel.js +6 -6
  375. package/modern/components/panel/filterPanel/GridFilterForm.js +8 -8
  376. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  377. package/modern/components/panel/filterPanel/GridFilterInputDate.js +2 -2
  378. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +2 -2
  379. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +17 -9
  380. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +2 -2
  381. package/modern/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  382. package/modern/components/panel/filterPanel/GridFilterPanel.js +10 -10
  383. package/modern/components/panel/filterPanel/index.js +9 -9
  384. package/modern/components/panel/index.js +7 -7
  385. package/modern/components/reexportable.js +1 -1
  386. package/modern/components/toolbar/GridToolbar.js +7 -7
  387. package/modern/components/toolbar/GridToolbarColumnsButton.js +5 -5
  388. package/modern/components/toolbar/GridToolbarDensitySelector.js +7 -7
  389. package/modern/components/toolbar/GridToolbarExport.js +2 -2
  390. package/modern/components/toolbar/GridToolbarExportContainer.js +5 -5
  391. package/modern/components/toolbar/GridToolbarFilterButton.js +8 -8
  392. package/modern/components/toolbar/GridToolbarQuickFilter.js +6 -6
  393. package/modern/components/toolbar/index.js +7 -7
  394. package/modern/components/virtualization/GridBottomContainer.js +1 -1
  395. package/modern/components/virtualization/GridMainContainer.js +2 -2
  396. package/modern/components/virtualization/GridTopContainer.js +1 -1
  397. package/modern/components/virtualization/GridVirtualScrollbar.js +5 -5
  398. package/modern/components/virtualization/GridVirtualScroller.js +18 -18
  399. package/modern/components/virtualization/GridVirtualScrollerContent.js +2 -2
  400. package/modern/components/virtualization/GridVirtualScrollerFiller.js +4 -4
  401. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +6 -6
  402. package/modern/constants/defaultGridSlotsComponents.js +8 -8
  403. package/modern/constants/gridClasses.js +1 -1
  404. package/modern/constants/index.js +3 -3
  405. package/modern/context/GridContextProvider.js +4 -4
  406. package/modern/context/index.js +1 -1
  407. package/modern/hooks/core/gridCoreSelector.js +1 -1
  408. package/modern/hooks/core/pipeProcessing/index.js +4 -4
  409. package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +1 -1
  410. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
  411. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
  412. package/modern/hooks/core/strategyProcessing/index.js +3 -3
  413. package/modern/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +1 -1
  414. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +1 -1
  415. package/modern/hooks/core/useGridApiInitialization.js +3 -3
  416. package/modern/hooks/core/useGridInitialization.js +9 -9
  417. package/modern/hooks/core/{useGridTheme.js → useGridIsRtl.js} +7 -7
  418. package/modern/hooks/core/useGridLoggerFactory.js +2 -2
  419. package/modern/hooks/core/useGridStateInitialization.js +2 -2
  420. package/modern/hooks/features/clipboard/useGridClipboard.js +3 -3
  421. package/modern/hooks/features/columnGrouping/gridColumnGroupsSelector.js +1 -1
  422. package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +2 -2
  423. package/modern/hooks/features/columnGrouping/index.js +1 -1
  424. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +6 -6
  425. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +31 -30
  426. package/modern/hooks/features/columnMenu/index.js +2 -2
  427. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  428. package/modern/hooks/features/columnMenu/useGridColumnMenuSlots.js +1 -1
  429. package/modern/hooks/features/columnResize/columnResizeSelector.js +1 -1
  430. package/modern/hooks/features/columnResize/index.js +3 -3
  431. package/modern/hooks/features/columnResize/useGridColumnResize.js +15 -23
  432. package/modern/hooks/features/columns/gridColumnsSelector.js +5 -5
  433. package/modern/hooks/features/columns/gridColumnsUtils.js +6 -6
  434. package/modern/hooks/features/columns/index.js +2 -2
  435. package/modern/hooks/features/columns/useGridColumnSpanning.js +2 -2
  436. package/modern/hooks/features/columns/useGridColumns.js +8 -8
  437. package/modern/hooks/features/density/densitySelector.js +1 -1
  438. package/modern/hooks/features/density/index.js +2 -2
  439. package/modern/hooks/features/density/useGridDensity.js +4 -4
  440. package/modern/hooks/features/dimensions/index.js +1 -1
  441. package/modern/hooks/features/dimensions/useGridDimensions.js +12 -12
  442. package/modern/hooks/features/editing/index.js +1 -1
  443. package/modern/hooks/features/editing/useGridCellEditing.js +9 -9
  444. package/modern/hooks/features/editing/useGridEditing.js +6 -6
  445. package/modern/hooks/features/editing/useGridRowEditing.js +11 -11
  446. package/modern/hooks/features/events/useGridEvents.js +1 -1
  447. package/modern/hooks/features/export/serializers/csvSerializer.js +2 -2
  448. package/modern/hooks/features/export/useGridCsvExport.js +7 -7
  449. package/modern/hooks/features/export/useGridPrintExport.js +13 -13
  450. package/modern/hooks/features/export/utils.js +3 -3
  451. package/modern/hooks/features/filter/gridFilterSelector.js +4 -4
  452. package/modern/hooks/features/filter/gridFilterState.js +1 -1
  453. package/modern/hooks/features/filter/gridFilterUtils.js +5 -5
  454. package/modern/hooks/features/filter/index.js +2 -2
  455. package/modern/hooks/features/filter/useGridFilter.js +16 -16
  456. package/modern/hooks/features/focus/gridFocusStateSelector.js +1 -1
  457. package/modern/hooks/features/focus/index.js +2 -2
  458. package/modern/hooks/features/focus/useGridFocus.js +10 -10
  459. package/modern/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +1 -1
  460. package/modern/hooks/features/headerFiltering/index.js +1 -1
  461. package/modern/hooks/features/headerFiltering/useGridHeaderFiltering.js +3 -3
  462. package/modern/hooks/features/index.js +17 -17
  463. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +35 -36
  464. package/modern/hooks/features/overlays/useGridOverlays.js +5 -5
  465. package/modern/hooks/features/pagination/gridPaginationSelector.js +4 -4
  466. package/modern/hooks/features/pagination/gridPaginationUtils.js +1 -1
  467. package/modern/hooks/features/pagination/index.js +1 -1
  468. package/modern/hooks/features/pagination/useGridPagination.js +4 -4
  469. package/modern/hooks/features/pagination/useGridPaginationMeta.js +3 -3
  470. package/modern/hooks/features/pagination/useGridPaginationModel.js +5 -5
  471. package/modern/hooks/features/pagination/useGridRowCount.js +4 -4
  472. package/modern/hooks/features/preferencesPanel/index.js +3 -3
  473. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -4
  474. package/modern/hooks/features/rowSelection/gridRowSelectionSelector.js +2 -2
  475. package/modern/hooks/features/rowSelection/index.js +1 -1
  476. package/modern/hooks/features/rowSelection/useGridRowSelection.js +16 -16
  477. package/modern/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +3 -3
  478. package/modern/hooks/features/rowSelection/utils.js +1 -1
  479. package/modern/hooks/features/rows/gridRowsSelector.js +1 -1
  480. package/modern/hooks/features/rows/gridRowsUtils.js +2 -2
  481. package/modern/hooks/features/rows/index.js +4 -4
  482. package/modern/hooks/features/rows/useGridParamsApi.js +3 -3
  483. package/modern/hooks/features/rows/useGridRowAriaAttributes.js +4 -4
  484. package/modern/hooks/features/rows/useGridRows.js +10 -10
  485. package/modern/hooks/features/rows/useGridRowsMeta.js +10 -10
  486. package/modern/hooks/features/rows/useGridRowsPreProcessors.js +2 -2
  487. package/modern/hooks/features/scroll/useGridScroll.js +13 -13
  488. package/modern/hooks/features/sorting/gridSortingSelector.js +3 -3
  489. package/modern/hooks/features/sorting/gridSortingUtils.js +1 -1
  490. package/modern/hooks/features/sorting/index.js +2 -2
  491. package/modern/hooks/features/sorting/useGridSorting.js +11 -11
  492. package/modern/hooks/features/statePersistence/useGridStatePersistence.js +1 -1
  493. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +9 -2
  494. package/modern/hooks/features/virtualization/index.js +2 -2
  495. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +81 -84
  496. package/modern/hooks/features/virtualization/useGridVirtualization.js +12 -5
  497. package/modern/hooks/index.js +3 -3
  498. package/modern/hooks/utils/index.js +8 -8
  499. package/modern/hooks/utils/useGridApiContext.js +1 -1
  500. package/modern/hooks/utils/useGridApiEventHandler.js +2 -2
  501. package/modern/hooks/utils/useGridAriaAttributes.js +8 -8
  502. package/modern/hooks/utils/useGridConfiguration.js +1 -1
  503. package/modern/hooks/utils/useGridNativeEventListener.js +2 -2
  504. package/modern/hooks/utils/useGridRootProps.js +1 -1
  505. package/modern/hooks/utils/useGridSelector.js +3 -3
  506. package/modern/hooks/utils/useGridVisibleRows.js +2 -2
  507. package/modern/index.js +14 -14
  508. package/modern/internals/index.js +72 -72
  509. package/modern/internals/utils/getPinnedCellOffset.js +1 -1
  510. package/modern/internals/utils/index.js +4 -4
  511. package/modern/internals/utils/propValidation.js +3 -3
  512. package/modern/joy/icons.js +31 -31
  513. package/modern/joy/index.js +1 -1
  514. package/modern/joy/joySlots.js +5 -5
  515. package/modern/locales/arSD.js +1 -1
  516. package/modern/locales/beBY.js +2 -2
  517. package/modern/locales/bgBG.js +1 -1
  518. package/modern/locales/csCZ.js +1 -1
  519. package/modern/locales/daDK.js +1 -1
  520. package/modern/locales/deDE.js +1 -1
  521. package/modern/locales/elGR.js +1 -1
  522. package/modern/locales/enUS.js +2 -2
  523. package/modern/locales/esES.js +1 -1
  524. package/modern/locales/faIR.js +1 -1
  525. package/modern/locales/fiFI.js +1 -1
  526. package/modern/locales/frFR.js +2 -3
  527. package/modern/locales/heIL.js +1 -1
  528. package/modern/locales/hrHR.js +1 -1
  529. package/modern/locales/huHU.js +1 -1
  530. package/modern/locales/index.js +36 -36
  531. package/modern/locales/isIS.js +1 -1
  532. package/modern/locales/itIT.js +1 -1
  533. package/modern/locales/jaJP.js +1 -1
  534. package/modern/locales/koKR.js +1 -1
  535. package/modern/locales/nbNO.js +1 -1
  536. package/modern/locales/nlNL.js +5 -6
  537. package/modern/locales/nnNO.js +1 -1
  538. package/modern/locales/plPL.js +1 -1
  539. package/modern/locales/ptBR.js +1 -1
  540. package/modern/locales/ptPT.js +1 -1
  541. package/modern/locales/roRO.js +1 -1
  542. package/modern/locales/ruRU.js +1 -1
  543. package/modern/locales/skSK.js +1 -1
  544. package/modern/locales/svSE.js +1 -1
  545. package/modern/locales/trTR.js +1 -1
  546. package/modern/locales/ukUA.js +1 -1
  547. package/modern/locales/urPK.js +2 -2
  548. package/modern/locales/viVN.js +1 -1
  549. package/modern/locales/zhCN.js +6 -7
  550. package/modern/locales/zhHK.js +1 -1
  551. package/modern/locales/zhTW.js +1 -1
  552. package/modern/material/icons/GridColumnUnsortedIcon.js +1 -1
  553. package/modern/material/icons/index.js +32 -29
  554. package/modern/material/index.js +3 -3
  555. package/modern/models/api/index.js +13 -13
  556. package/modern/models/colDef/index.js +2 -2
  557. package/modern/models/events/index.js +3 -3
  558. package/modern/models/index.js +27 -25
  559. package/modern/models/params/index.js +13 -13
  560. package/modern/themeAugmentation/index.js +2 -2
  561. package/modern/utils/cellBorderUtils.js +1 -1
  562. package/modern/utils/composeGridClasses.js +1 -1
  563. package/modern/utils/createSelector.js +9 -2
  564. package/modern/utils/domUtils.js +1 -1
  565. package/node/DataGrid/DataGrid.js +12 -5
  566. package/node/DataGrid/useDataGridProps.js +4 -3
  567. package/node/colDef/gridActionsColDef.js +1 -1
  568. package/node/colDef/gridBooleanColDef.js +1 -1
  569. package/node/colDef/gridCheckboxSelectionColDef.js +2 -3
  570. package/node/colDef/gridDateColDef.js +1 -1
  571. package/node/colDef/gridNumericColDef.js +1 -1
  572. package/node/colDef/gridSingleSelectColDef.js +1 -1
  573. package/node/components/GridApiContext.js +1 -2
  574. package/node/components/GridColumnHeaders.js +2 -3
  575. package/node/components/GridConfigurationContext.js +1 -2
  576. package/node/components/GridFooter.js +2 -3
  577. package/node/components/GridHeader.js +2 -3
  578. package/node/components/GridHeaders.js +2 -3
  579. package/node/components/GridLoadingOverlay.js +2 -3
  580. package/node/components/GridNoResultsOverlay.js +2 -3
  581. package/node/components/GridNoRowsOverlay.js +2 -3
  582. package/node/components/GridPagination.js +2 -3
  583. package/node/components/GridRow.js +2 -3
  584. package/node/components/GridRowCount.js +2 -3
  585. package/node/components/GridScrollArea.js +2 -3
  586. package/node/components/GridScrollbarFillerCell.js +5 -4
  587. package/node/components/GridSelectedRowCount.js +2 -3
  588. package/node/components/GridSkeletonLoadingOverlay.js +5 -6
  589. package/node/components/base/GridFooterPlaceholder.js +2 -3
  590. package/node/components/base/GridOverlays.js +2 -3
  591. package/node/components/cell/GridActionsCell.js +5 -6
  592. package/node/components/cell/GridActionsCellItem.js +2 -3
  593. package/node/components/cell/GridBooleanCell.js +2 -3
  594. package/node/components/cell/GridCell.js +3 -4
  595. package/node/components/cell/GridEditBooleanCell.js +2 -3
  596. package/node/components/cell/GridEditDateCell.js +2 -3
  597. package/node/components/cell/GridEditInputCell.js +2 -3
  598. package/node/components/cell/GridEditSingleSelectCell.js +2 -3
  599. package/node/components/cell/GridSkeletonCell.js +2 -3
  600. package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -4
  601. package/node/components/columnHeaders/GridBaseColumnHeaders.js +2 -3
  602. package/node/components/columnHeaders/GridColumnGroupHeader.js +3 -4
  603. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +2 -3
  604. package/node/components/columnHeaders/GridColumnHeaderItem.js +3 -4
  605. package/node/components/columnHeaders/GridColumnHeaderSeparator.js +3 -5
  606. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +2 -3
  607. package/node/components/columnHeaders/GridColumnHeaderTitle.js +4 -4
  608. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -6
  609. package/node/components/columnHeaders/GridIconButtonContainer.js +2 -3
  610. package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
  611. package/node/components/columnSelection/GridHeaderCheckbox.js +4 -4
  612. package/node/components/columnsManagement/GridColumnsManagement.js +2 -3
  613. package/node/components/containers/GridFooterContainer.js +2 -3
  614. package/node/components/containers/GridOverlay.js +2 -3
  615. package/node/components/containers/GridRoot.js +2 -3
  616. package/node/components/containers/GridRootStyles.js +99 -46
  617. package/node/components/containers/GridToolbarContainer.js +2 -3
  618. package/node/components/menu/GridMenu.js +2 -3
  619. package/node/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -3
  620. package/node/components/menu/columnMenu/GridColumnMenu.js +2 -3
  621. package/node/components/menu/columnMenu/GridColumnMenuContainer.js +2 -3
  622. package/node/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +2 -3
  623. package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +2 -3
  624. package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +2 -3
  625. package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +2 -3
  626. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +2 -3
  627. package/node/components/panel/GridColumnsPanel.js +2 -3
  628. package/node/components/panel/GridPanel.js +2 -3
  629. package/node/components/panel/GridPanelContent.js +2 -3
  630. package/node/components/panel/GridPanelFooter.js +2 -3
  631. package/node/components/panel/GridPanelHeader.js +2 -3
  632. package/node/components/panel/GridPanelWrapper.js +2 -3
  633. package/node/components/panel/GridPreferencesPanel.js +2 -3
  634. package/node/components/panel/filterPanel/GridFilterForm.js +2 -3
  635. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +2 -3
  636. package/node/components/panel/filterPanel/GridFilterInputDate.js +2 -3
  637. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +2 -3
  638. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +18 -11
  639. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +2 -3
  640. package/node/components/panel/filterPanel/GridFilterInputValue.js +2 -3
  641. package/node/components/panel/filterPanel/GridFilterPanel.js +2 -3
  642. package/node/components/panel/filterPanel/filterPanelUtils.js +1 -1
  643. package/node/components/toolbar/GridToolbar.js +2 -3
  644. package/node/components/toolbar/GridToolbarColumnsButton.js +2 -3
  645. package/node/components/toolbar/GridToolbarDensitySelector.js +2 -3
  646. package/node/components/toolbar/GridToolbarExport.js +2 -3
  647. package/node/components/toolbar/GridToolbarExportContainer.js +2 -3
  648. package/node/components/toolbar/GridToolbarFilterButton.js +2 -3
  649. package/node/components/toolbar/GridToolbarQuickFilter.js +2 -3
  650. package/node/components/virtualization/GridBottomContainer.js +2 -3
  651. package/node/components/virtualization/GridMainContainer.js +2 -3
  652. package/node/components/virtualization/GridTopContainer.js +2 -3
  653. package/node/components/virtualization/GridVirtualScrollbar.js +1 -2
  654. package/node/components/virtualization/GridVirtualScroller.js +3 -4
  655. package/node/components/virtualization/GridVirtualScrollerContent.js +2 -3
  656. package/node/components/virtualization/GridVirtualScrollerFiller.js +1 -2
  657. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -3
  658. package/node/constants/defaultGridSlotsComponents.js +1 -1
  659. package/node/constants/gridClasses.js +1 -1
  660. package/node/context/GridContextProvider.js +1 -2
  661. package/node/context/GridRootPropsContext.js +1 -2
  662. package/node/hooks/core/gridCoreSelector.js +3 -3
  663. package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +2 -3
  664. package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -2
  665. package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -2
  666. package/node/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +1 -2
  667. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -3
  668. package/node/hooks/core/useGridApiInitialization.js +1 -2
  669. package/node/hooks/core/useGridInitialization.js +2 -2
  670. package/node/hooks/core/useGridIsRtl.js +28 -0
  671. package/node/hooks/core/useGridLocaleText.js +1 -2
  672. package/node/hooks/core/useGridLoggerFactory.js +1 -2
  673. package/node/hooks/core/useGridRefs.js +1 -2
  674. package/node/hooks/core/useGridStateInitialization.js +2 -3
  675. package/node/hooks/features/clipboard/useGridClipboard.js +1 -2
  676. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +2 -3
  677. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -17
  678. package/node/hooks/features/columnMenu/useGridColumnMenu.js +2 -3
  679. package/node/hooks/features/columnMenu/useGridColumnMenuSlots.js +2 -3
  680. package/node/hooks/features/columnResize/useGridColumnResize.js +7 -16
  681. package/node/hooks/features/columns/gridColumnsSelector.js +2 -2
  682. package/node/hooks/features/columns/gridColumnsUtils.js +1 -1
  683. package/node/hooks/features/columns/useGridColumnSpanning.js +1 -2
  684. package/node/hooks/features/columns/useGridColumns.js +2 -3
  685. package/node/hooks/features/density/useGridDensity.js +2 -3
  686. package/node/hooks/features/dimensions/useGridDimensions.js +2 -3
  687. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  688. package/node/hooks/features/editing/useGridEditing.js +2 -3
  689. package/node/hooks/features/editing/useGridRowEditing.js +2 -3
  690. package/node/hooks/features/export/useGridCsvExport.js +1 -2
  691. package/node/hooks/features/export/useGridPrintExport.js +2 -3
  692. package/node/hooks/features/filter/gridFilterUtils.js +1 -1
  693. package/node/hooks/features/filter/useGridFilter.js +3 -4
  694. package/node/hooks/features/focus/useGridFocus.js +2 -3
  695. package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +2 -3
  696. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +20 -22
  697. package/node/hooks/features/pagination/useGridPagination.js +1 -1
  698. package/node/hooks/features/pagination/useGridPaginationMeta.js +2 -3
  699. package/node/hooks/features/pagination/useGridPaginationModel.js +2 -3
  700. package/node/hooks/features/pagination/useGridRowCount.js +2 -3
  701. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +2 -3
  702. package/node/hooks/features/rowSelection/useGridRowSelection.js +2 -3
  703. package/node/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +2 -3
  704. package/node/hooks/features/rows/gridRowsUtils.js +1 -1
  705. package/node/hooks/features/rows/useGridParamsApi.js +1 -2
  706. package/node/hooks/features/rows/useGridRowAriaAttributes.js +1 -2
  707. package/node/hooks/features/rows/useGridRows.js +2 -3
  708. package/node/hooks/features/rows/useGridRowsMeta.js +2 -3
  709. package/node/hooks/features/rows/useGridRowsPreProcessors.js +1 -1
  710. package/node/hooks/features/scroll/useGridScroll.js +5 -6
  711. package/node/hooks/features/sorting/gridSortingUtils.js +1 -1
  712. package/node/hooks/features/sorting/useGridSorting.js +2 -3
  713. package/node/hooks/features/statePersistence/useGridStatePersistence.js +1 -2
  714. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +9 -2
  715. package/node/hooks/features/virtualization/useGridVirtualScroller.js +65 -69
  716. package/node/hooks/features/virtualization/useGridVirtualization.js +13 -7
  717. package/node/hooks/utils/useFirstRender.js +1 -2
  718. package/node/hooks/utils/useGridApiContext.js +1 -2
  719. package/node/hooks/utils/useGridApiEventHandler.js +1 -2
  720. package/node/hooks/utils/useGridApiMethod.js +1 -2
  721. package/node/hooks/utils/useGridApiRef.js +1 -2
  722. package/node/hooks/utils/useGridConfiguration.js +1 -2
  723. package/node/hooks/utils/useGridInitializeState.js +1 -2
  724. package/node/hooks/utils/useGridLogger.js +1 -2
  725. package/node/hooks/utils/useGridNativeEventListener.js +1 -2
  726. package/node/hooks/utils/useGridPrivateApiContext.js +1 -2
  727. package/node/hooks/utils/useGridRootProps.js +1 -2
  728. package/node/hooks/utils/useGridSelector.js +1 -2
  729. package/node/hooks/utils/useGridVisibleRows.js +1 -2
  730. package/node/hooks/utils/useLazyRef.js +1 -1
  731. package/node/hooks/utils/useOnMount.js +1 -1
  732. package/node/hooks/utils/useRunOnce.js +1 -2
  733. package/node/hooks/utils/useTimeout.js +1 -1
  734. package/node/index.js +1 -1
  735. package/node/internals/utils/computeSlots.js +1 -1
  736. package/node/internals/utils/useProps.js +1 -2
  737. package/node/joy/icons.js +32 -33
  738. package/node/joy/index.js +1 -1
  739. package/node/joy/joySlots.js +2 -3
  740. package/node/locales/frFR.js +1 -2
  741. package/node/locales/nlNL.js +4 -5
  742. package/node/locales/zhCN.js +5 -6
  743. package/node/material/components/MUISelectOption.js +2 -3
  744. package/node/material/icons/GridColumnUnsortedIcon.js +2 -3
  745. package/node/material/icons/index.js +33 -31
  746. package/node/material/index.js +1 -1
  747. package/node/utils/createSelector.js +10 -2
  748. package/node/utils/getGridLocalization.js +1 -1
  749. package/package.json +6 -6
  750. package/themeAugmentation/index.js +2 -2
  751. package/utils/cellBorderUtils.js +1 -1
  752. package/utils/composeGridClasses.js +1 -1
  753. package/utils/createSelector.js +9 -2
  754. package/utils/domUtils.js +1 -1
  755. package/node/hooks/core/useGridTheme.js +0 -29
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { warnOnce } from '../../../internals/utils/warning';
2
+ import { warnOnce } from "../../../internals/utils/warning.js";
3
3
  export const sanitizeSortModel = (model, disableMultipleColumnsSorting) => {
4
4
  if (disableMultipleColumnsSorting && model.length > 1) {
5
5
  if (process.env.NODE_ENV !== 'production') {
@@ -1,2 +1,2 @@
1
- export * from './gridSortingSelector';
2
- export { gridDateComparator, gridNumberComparator, gridStringOrNumberComparator } from './gridSortingUtils';
1
+ export * from "./gridSortingSelector.js";
2
+ export { gridDateComparator, gridNumberComparator, gridStringOrNumberComparator } from "./gridSortingUtils.js";
@@ -1,17 +1,17 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
4
- import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
5
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
6
- import { useGridLogger } from '../../utils/useGridLogger';
7
- import { gridColumnLookupSelector } from '../columns/gridColumnsSelector';
8
- import { gridSortedRowEntriesSelector, gridSortedRowIdsSelector, gridSortModelSelector } from './gridSortingSelector';
9
- import { GRID_ROOT_GROUP_ID, gridRowTreeSelector } from '../rows';
10
- import { useFirstRender } from '../../utils/useFirstRender';
11
- import { useGridRegisterStrategyProcessor, GRID_DEFAULT_STRATEGY } from '../../core/strategyProcessing';
12
- import { buildAggregatedSortingApplier, mergeStateWithSortModel, getNextGridSortDirection, sanitizeSortModel } from './gridSortingUtils';
13
- import { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';
14
- import { getTreeNodeDescendants } from '../rows/gridRowsUtils';
4
+ import { useGridApiEventHandler } from "../../utils/useGridApiEventHandler.js";
5
+ import { useGridApiMethod } from "../../utils/useGridApiMethod.js";
6
+ import { useGridLogger } from "../../utils/useGridLogger.js";
7
+ import { gridColumnLookupSelector } from "../columns/gridColumnsSelector.js";
8
+ import { gridSortedRowEntriesSelector, gridSortedRowIdsSelector, gridSortModelSelector } from "./gridSortingSelector.js";
9
+ import { GRID_ROOT_GROUP_ID, gridRowTreeSelector } from "../rows/index.js";
10
+ import { useFirstRender } from "../../utils/useFirstRender.js";
11
+ import { useGridRegisterStrategyProcessor, GRID_DEFAULT_STRATEGY } from "../../core/strategyProcessing/index.js";
12
+ import { buildAggregatedSortingApplier, mergeStateWithSortModel, getNextGridSortDirection, sanitizeSortModel } from "./gridSortingUtils.js";
13
+ import { useGridRegisterPipeProcessor } from "../../core/pipeProcessing/index.js";
14
+ import { getTreeNodeDescendants } from "../rows/gridRowsUtils.js";
15
15
  export const sortingStateInitializer = (state, props) => {
16
16
  const sortModel = props.sortModel ?? props.initialState?.sorting?.sortModel ?? [];
17
17
  return _extends({}, state, {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { useGridApiMethod } from '../../utils';
2
+ import { useGridApiMethod } from "../../utils/index.js";
3
3
  export const useGridStatePersistence = apiRef => {
4
4
  const exportState = React.useCallback((params = {}) => {
5
5
  const stateToExport = apiRef.current.unstable_applyPipeProcessors('exportState', {}, params);
@@ -1,4 +1,4 @@
1
- import { createSelector, createSelectorMemoized } from '../../../utils/createSelector';
1
+ import { createSelector, createSelectorMemoized } from "../../../utils/createSelector.js";
2
2
  /**
3
3
  * Get the columns state
4
4
  * @category Virtualization
@@ -8,15 +8,22 @@ export const gridVirtualizationSelector = state => state.virtualization;
8
8
  /**
9
9
  * Get the enabled state for virtualization
10
10
  * @category Virtualization
11
+ * @deprecated Use `gridVirtualizationColumnEnabledSelector` and `gridVirtualizationRowEnabledSelector`
11
12
  */
12
13
  export const gridVirtualizationEnabledSelector = createSelector(gridVirtualizationSelector, state => state.enabled);
13
14
 
14
15
  /**
15
- * Get the enabled state for virtualization
16
+ * Get the enabled state for column virtualization
16
17
  * @category Virtualization
17
18
  */
18
19
  export const gridVirtualizationColumnEnabledSelector = createSelector(gridVirtualizationSelector, state => state.enabledForColumns);
19
20
 
21
+ /**
22
+ * Get the enabled state for row virtualization
23
+ * @category Virtualization
24
+ */
25
+ export const gridVirtualizationRowEnabledSelector = createSelector(gridVirtualizationSelector, state => state.enabledForRows);
26
+
20
27
  /**
21
28
  * Get the render context
22
29
  * @category Virtualization
@@ -1,2 +1,2 @@
1
- export * from './useGridVirtualization';
2
- export * from './gridVirtualizationSelectors';
1
+ export * from "./useGridVirtualization.js";
2
+ export * from "./gridVirtualizationSelectors.js";
@@ -5,25 +5,25 @@ import { unstable_useEnhancedEffect as useEnhancedEffect, unstable_useEventCallb
5
5
  import useLazyRef from '@mui/utils/useLazyRef';
6
6
  import useTimeout from '@mui/utils/useTimeout';
7
7
  import { useResizeObserver } from '@mui/x-internals/useResizeObserver';
8
- import { useTheme } from '@mui/material/styles';
9
- import { useGridPrivateApiContext } from '../../utils/useGridPrivateApiContext';
10
- import { useGridRootProps } from '../../utils/useGridRootProps';
11
- import { useGridSelector } from '../../utils/useGridSelector';
12
- import { useRunOnce } from '../../utils/useRunOnce';
13
- import { gridVisibleColumnDefinitionsSelector, gridVisiblePinnedColumnDefinitionsSelector, gridColumnPositionsSelector, gridHasColSpanSelector } from '../columns/gridColumnsSelector';
14
- import { gridDimensionsSelector } from '../dimensions/gridDimensionsSelectors';
15
- import { gridPinnedRowsSelector } from '../rows/gridRowsSelector';
16
- import { gridFocusCellSelector, gridTabIndexCellSelector } from '../focus/gridFocusStateSelector';
17
- import { useGridVisibleRows, getVisibleRows } from '../../utils/useGridVisibleRows';
18
- import { useGridApiEventHandler } from '../../utils';
19
- import * as platform from '../../../utils/platform';
20
- import { clamp, range } from '../../../utils/utils';
21
- import { selectedIdsLookupSelector } from '../rowSelection/gridRowSelectionSelector';
22
- import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
23
- import { getFirstNonSpannedColumnToRender } from '../columns/gridColumnsUtils';
24
- import { getMinimalContentHeight } from '../rows/gridRowsUtils';
25
- import { gridRenderContextSelector, gridVirtualizationEnabledSelector, gridVirtualizationColumnEnabledSelector } from './gridVirtualizationSelectors';
26
- import { EMPTY_RENDER_CONTEXT } from './useGridVirtualization';
8
+ import { useRtl } from '@mui/system/RtlProvider';
9
+ import { useGridPrivateApiContext } from "../../utils/useGridPrivateApiContext.js";
10
+ import { useGridRootProps } from "../../utils/useGridRootProps.js";
11
+ import { useGridSelector } from "../../utils/useGridSelector.js";
12
+ import { useRunOnce } from "../../utils/useRunOnce.js";
13
+ import { gridVisibleColumnDefinitionsSelector, gridVisiblePinnedColumnDefinitionsSelector, gridColumnPositionsSelector, gridHasColSpanSelector } from "../columns/gridColumnsSelector.js";
14
+ import { gridDimensionsSelector } from "../dimensions/gridDimensionsSelectors.js";
15
+ import { gridPinnedRowsSelector } from "../rows/gridRowsSelector.js";
16
+ import { gridFocusCellSelector, gridTabIndexCellSelector } from "../focus/gridFocusStateSelector.js";
17
+ import { useGridVisibleRows, getVisibleRows } from "../../utils/useGridVisibleRows.js";
18
+ import { useGridApiEventHandler } from "../../utils/index.js";
19
+ import * as platform from "../../../utils/platform.js";
20
+ import { clamp, range } from "../../../utils/utils.js";
21
+ import { selectedIdsLookupSelector } from "../rowSelection/gridRowSelectionSelector.js";
22
+ import { gridRowsMetaSelector } from "../rows/gridRowsMetaSelector.js";
23
+ import { getFirstNonSpannedColumnToRender } from "../columns/gridColumnsUtils.js";
24
+ import { getMinimalContentHeight } from "../rows/gridRowsUtils.js";
25
+ import { gridRenderContextSelector, gridVirtualizationRowEnabledSelector, gridVirtualizationColumnEnabledSelector } from "./gridVirtualizationSelectors.js";
26
+ import { EMPTY_RENDER_CONTEXT } from "./useGridVirtualization.js";
27
27
  import { jsx as _jsx } from "react/jsx-runtime";
28
28
  const MINIMUM_COLUMN_WIDTH = 50;
29
29
  var ScrollDirection = /*#__PURE__*/function (ScrollDirection) {
@@ -39,9 +39,9 @@ const EMPTY_SCROLL_POSITION = {
39
39
  left: 0
40
40
  };
41
41
  export const EMPTY_DETAIL_PANELS = Object.freeze(new Map());
42
- const createScrollCache = (mode, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer) => ({
42
+ const createScrollCache = (isRtl, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer) => ({
43
43
  direction: ScrollDirection.NONE,
44
- buffer: bufferForDirection(mode, ScrollDirection.NONE, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer)
44
+ buffer: bufferForDirection(isRtl, ScrollDirection.NONE, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer)
45
45
  });
46
46
  let isJSDOM = false;
47
47
  try {
@@ -55,7 +55,7 @@ export const useGridVirtualScroller = () => {
55
55
  const apiRef = useGridPrivateApiContext();
56
56
  const rootProps = useGridRootProps();
57
57
  const visibleColumns = useGridSelector(apiRef, gridVisibleColumnDefinitionsSelector);
58
- const enabled = useGridSelector(apiRef, gridVirtualizationEnabledSelector) && !isJSDOM;
58
+ const enabledForRows = useGridSelector(apiRef, gridVirtualizationRowEnabledSelector) && !isJSDOM;
59
59
  const enabledForColumns = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector) && !isJSDOM;
60
60
  const dimensions = useGridSelector(apiRef, gridDimensionsSelector);
61
61
  const outerSize = dimensions.viewportOuterSize;
@@ -63,7 +63,7 @@ export const useGridVirtualScroller = () => {
63
63
  const pinnedColumns = useGridSelector(apiRef, gridVisiblePinnedColumnDefinitionsSelector);
64
64
  const hasBottomPinnedRows = pinnedRows.bottom.length > 0;
65
65
  const [panels, setPanels] = React.useState(EMPTY_DETAIL_PANELS);
66
- const theme = useTheme();
66
+ const isRtl = useRtl();
67
67
  const cellFocus = useGridSelector(apiRef, gridFocusCellSelector);
68
68
  const cellTabIndex = useGridSelector(apiRef, gridTabIndexCellSelector);
69
69
  const rowsMeta = useGridSelector(apiRef, gridRowsMetaSelector);
@@ -100,7 +100,7 @@ export const useGridVirtualScroller = () => {
100
100
  const renderContext = useGridSelector(apiRef, gridRenderContextSelector);
101
101
  const scrollTimeout = useTimeout();
102
102
  const frozenContext = React.useRef(undefined);
103
- const scrollCache = useLazyRef(() => createScrollCache(theme.direction, rootProps.rowBufferPx, rootProps.columnBufferPx, dimensions.rowHeight * 15, MINIMUM_COLUMN_WIDTH * 6)).current;
103
+ const scrollCache = useLazyRef(() => createScrollCache(isRtl, rootProps.rowBufferPx, rootProps.columnBufferPx, dimensions.rowHeight * 15, MINIMUM_COLUMN_WIDTH * 6)).current;
104
104
  const focusedCell = {
105
105
  rowIndex: React.useMemo(() => cellFocus ? currentPage.rows.findIndex(row => row.id === cellFocus.id) : -1, [cellFocus, currentPage.rows]),
106
106
  columnIndex: React.useMemo(() => cellFocus ? visibleColumns.findIndex(column => column.field === cellFocus.field) : -1, [cellFocus, visibleColumns])
@@ -165,8 +165,8 @@ export const useGridVirtualScroller = () => {
165
165
  }
166
166
  }
167
167
  scrollCache.direction = direction;
168
- scrollCache.buffer = bufferForDirection(theme.direction, direction, rootProps.rowBufferPx, rootProps.columnBufferPx, dimensions.rowHeight * 15, MINIMUM_COLUMN_WIDTH * 6);
169
- const inputs = inputsSelector(apiRef, rootProps, enabled, enabledForColumns);
168
+ scrollCache.buffer = bufferForDirection(isRtl, direction, rootProps.rowBufferPx, rootProps.columnBufferPx, dimensions.rowHeight * 15, MINIMUM_COLUMN_WIDTH * 6);
169
+ const inputs = inputsSelector(apiRef, rootProps, enabledForRows, enabledForColumns);
170
170
  const nextRenderContext = computeRenderContext(inputs, scrollPosition.current, scrollCache);
171
171
 
172
172
  // Prevents batching render context changes
@@ -177,7 +177,7 @@ export const useGridVirtualScroller = () => {
177
177
  return nextRenderContext;
178
178
  };
179
179
  const forceUpdateRenderContext = () => {
180
- const inputs = inputsSelector(apiRef, rootProps, enabled, enabledForColumns);
180
+ const inputs = inputsSelector(apiRef, rootProps, enabledForRows, enabledForColumns);
181
181
  const nextRenderContext = computeRenderContext(inputs, scrollPosition.current, scrollCache);
182
182
  // Reset the frozen context when the render context changes, see the illustration in https://github.com/mui/mui-x/pull/12353
183
183
  frozenContext.current = undefined;
@@ -193,12 +193,12 @@ export const useGridVirtualScroller = () => {
193
193
  if (scrollTop < 0) {
194
194
  return;
195
195
  }
196
- if (theme.direction === 'ltr') {
196
+ if (!isRtl) {
197
197
  if (scrollLeft < 0) {
198
198
  return;
199
199
  }
200
200
  }
201
- if (theme.direction === 'rtl') {
201
+ if (isRtl) {
202
202
  if (scrollLeft > 0) {
203
203
  return;
204
204
  }
@@ -325,9 +325,9 @@ export const useGridVirtualScroller = () => {
325
325
  if (!isPinnedSection && frozenContext.current && rowIndexInPage >= frozenContext.current.firstRowIndex && rowIndexInPage < frozenContext.current.lastRowIndex) {
326
326
  currentRenderContext = frozenContext.current;
327
327
  }
328
- const offsetLeft = computeOffsetLeft(columnPositions, currentRenderContext, theme.direction, pinnedColumns.left.length);
328
+ const offsetLeft = computeOffsetLeft(columnPositions, currentRenderContext, isRtl, pinnedColumns.left.length);
329
329
  const showBottomBorder = isLastVisibleInSection && params.position === 'top';
330
- rows.push( /*#__PURE__*/_jsx(rootProps.slots.row, _extends({
330
+ rows.push(/*#__PURE__*/_jsx(rootProps.slots.row, _extends({
331
331
  row: model,
332
332
  rowId: id,
333
333
  index: rowIndex,
@@ -384,14 +384,16 @@ export const useGridVirtualScroller = () => {
384
384
  apiRef.current.resize();
385
385
  }, [apiRef, rowsMeta.currentPageTotalHeight]);
386
386
  useEnhancedEffect(() => {
387
- if (enabled) {
388
- // TODO a scroll reset should not be necessary
387
+ // TODO a scroll reset should not be necessary
388
+ if (enabledForColumns) {
389
389
  scrollerRef.current.scrollLeft = 0;
390
+ }
391
+ if (enabledForRows) {
390
392
  scrollerRef.current.scrollTop = 0;
391
393
  }
392
- }, [enabled, gridRootRef, scrollerRef]);
394
+ }, [enabledForColumns, enabledForRows, gridRootRef, scrollerRef]);
393
395
  useRunOnce(outerSize.width !== 0, () => {
394
- const inputs = inputsSelector(apiRef, rootProps, enabled, enabledForColumns);
396
+ const inputs = inputsSelector(apiRef, rootProps, enabledForRows, enabledForColumns);
395
397
  const initialRenderContext = computeRenderContext(inputs, scrollPosition.current, scrollCache);
396
398
  updateRenderContext(initialRenderContext);
397
399
  apiRef.current.publishEvent('scrollPositionChange', {
@@ -441,14 +443,14 @@ export const useGridVirtualScroller = () => {
441
443
  })
442
444
  };
443
445
  };
444
- function inputsSelector(apiRef, rootProps, enabled, enabledForColumns) {
446
+ function inputsSelector(apiRef, rootProps, enabledForRows, enabledForColumns) {
445
447
  const dimensions = gridDimensionsSelector(apiRef.current.state);
446
448
  const currentPage = getVisibleRows(apiRef, rootProps);
447
449
  const visibleColumns = gridVisibleColumnDefinitionsSelector(apiRef);
448
450
  const lastRowId = apiRef.current.state.rows.dataRowIds.at(-1);
449
451
  const lastColumn = visibleColumns.at(-1);
450
452
  return {
451
- enabled,
453
+ enabledForRows,
452
454
  enabledForColumns,
453
455
  apiRef,
454
456
  autoHeight: rootProps.autoHeight,
@@ -469,21 +471,18 @@ function inputsSelector(apiRef, rootProps, enabled, enabledForColumns) {
469
471
  };
470
472
  }
471
473
  function computeRenderContext(inputs, scrollPosition, scrollCache) {
472
- let renderContext;
473
- if (!inputs.enabled) {
474
- renderContext = {
475
- firstRowIndex: 0,
476
- lastRowIndex: inputs.rows.length,
477
- firstColumnIndex: 0,
478
- lastColumnIndex: inputs.visibleColumns.length
479
- };
480
- } else {
481
- const {
482
- top,
483
- left
484
- } = scrollPosition;
485
- const realLeft = Math.abs(left) + inputs.leftPinnedWidth;
486
-
474
+ const renderContext = {
475
+ firstRowIndex: 0,
476
+ lastRowIndex: inputs.rows.length,
477
+ firstColumnIndex: 0,
478
+ lastColumnIndex: inputs.visibleColumns.length
479
+ };
480
+ const {
481
+ top,
482
+ left
483
+ } = scrollPosition;
484
+ const realLeft = Math.abs(left) + inputs.leftPinnedWidth;
485
+ if (inputs.enabledForRows) {
487
486
  // Clamp the value because the search may return an index out of bounds.
488
487
  // In the last index, this is not needed because Array.slice doesn't include it.
489
488
  const firstRowIndex = Math.min(getNearestIndexToRender(inputs, top, {
@@ -491,38 +490,36 @@ function computeRenderContext(inputs, scrollPosition, scrollCache) {
491
490
  lastPosition: inputs.rowsMeta.positions[inputs.rowsMeta.positions.length - 1] + inputs.lastRowHeight
492
491
  }), inputs.rowsMeta.positions.length - 1);
493
492
  const lastRowIndex = inputs.autoHeight ? firstRowIndex + inputs.rows.length : getNearestIndexToRender(inputs, top + inputs.viewportInnerHeight);
493
+ renderContext.firstRowIndex = firstRowIndex;
494
+ renderContext.lastRowIndex = lastRowIndex;
495
+ }
496
+ if (inputs.enabledForColumns) {
494
497
  let firstColumnIndex = 0;
495
498
  let lastColumnIndex = inputs.columnPositions.length;
496
- if (inputs.enabledForColumns) {
497
- let hasRowWithAutoHeight = false;
498
- const [firstRowToRender, lastRowToRender] = getIndexesToRender({
499
- firstIndex: firstRowIndex,
500
- lastIndex: lastRowIndex,
501
- minFirstIndex: 0,
502
- maxLastIndex: inputs.rows.length,
503
- bufferBefore: scrollCache.buffer.rowBefore,
504
- bufferAfter: scrollCache.buffer.rowAfter,
505
- positions: inputs.rowsMeta.positions,
506
- lastSize: inputs.lastRowHeight
499
+ let hasRowWithAutoHeight = false;
500
+ const [firstRowToRender, lastRowToRender] = getIndexesToRender({
501
+ firstIndex: renderContext.firstRowIndex,
502
+ lastIndex: renderContext.lastRowIndex,
503
+ minFirstIndex: 0,
504
+ maxLastIndex: inputs.rows.length,
505
+ bufferBefore: scrollCache.buffer.rowBefore,
506
+ bufferAfter: scrollCache.buffer.rowAfter,
507
+ positions: inputs.rowsMeta.positions,
508
+ lastSize: inputs.lastRowHeight
509
+ });
510
+ for (let i = firstRowToRender; i < lastRowToRender && !hasRowWithAutoHeight; i += 1) {
511
+ const row = inputs.rows[i];
512
+ hasRowWithAutoHeight = inputs.apiRef.current.rowHasAutoHeight(row.id);
513
+ }
514
+ if (!hasRowWithAutoHeight) {
515
+ firstColumnIndex = binarySearch(realLeft, inputs.columnPositions, {
516
+ atStart: true,
517
+ lastPosition: inputs.columnsTotalWidth
507
518
  });
508
- for (let i = firstRowToRender; i < lastRowToRender && !hasRowWithAutoHeight; i += 1) {
509
- const row = inputs.rows[i];
510
- hasRowWithAutoHeight = inputs.apiRef.current.rowHasAutoHeight(row.id);
511
- }
512
- if (!hasRowWithAutoHeight) {
513
- firstColumnIndex = binarySearch(realLeft, inputs.columnPositions, {
514
- atStart: true,
515
- lastPosition: inputs.columnsTotalWidth
516
- });
517
- lastColumnIndex = binarySearch(realLeft + inputs.viewportInnerWidth, inputs.columnPositions);
518
- }
519
+ lastColumnIndex = binarySearch(realLeft + inputs.viewportInnerWidth, inputs.columnPositions);
519
520
  }
520
- renderContext = {
521
- firstRowIndex,
522
- lastRowIndex,
523
- firstColumnIndex,
524
- lastColumnIndex
525
- };
521
+ renderContext.firstColumnIndex = firstColumnIndex;
522
+ renderContext.lastColumnIndex = lastColumnIndex;
526
523
  }
527
524
  const actualRenderContext = deriveRenderContext(inputs, renderContext, scrollCache);
528
525
  return actualRenderContext;
@@ -645,8 +642,8 @@ export function areRenderContextsEqual(context1, context2) {
645
642
  }
646
643
  return context1.firstRowIndex === context2.firstRowIndex && context1.lastRowIndex === context2.lastRowIndex && context1.firstColumnIndex === context2.firstColumnIndex && context1.lastColumnIndex === context2.lastColumnIndex;
647
644
  }
648
- export function computeOffsetLeft(columnPositions, renderContext, direction, pinnedLeftLength) {
649
- const factor = direction === 'ltr' ? 1 : -1;
645
+ export function computeOffsetLeft(columnPositions, renderContext, isRtl, pinnedLeftLength) {
646
+ const factor = isRtl ? -1 : 1;
650
647
  const left = factor * (columnPositions[renderContext.firstColumnIndex] ?? 0) - (columnPositions[pinnedLeftLength] ?? 0);
651
648
  return Math.abs(left);
652
649
  }
@@ -670,8 +667,8 @@ function directionForDelta(dx, dy) {
670
667
  }
671
668
  /* eslint-enable */
672
669
  }
673
- function bufferForDirection(mode, direction, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer) {
674
- if (mode === 'rtl') {
670
+ function bufferForDirection(isRtl, direction, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer) {
671
+ if (isRtl) {
675
672
  switch (direction) {
676
673
  case ScrollDirection.LEFT:
677
674
  direction = ScrollDirection.RIGHT;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
3
+ import { useGridApiMethod } from "../../utils/useGridApiMethod.js";
4
4
  export const EMPTY_RENDER_CONTEXT = {
5
5
  firstRowIndex: 0,
6
6
  lastRowIndex: 0,
@@ -8,9 +8,14 @@ export const EMPTY_RENDER_CONTEXT = {
8
8
  lastColumnIndex: 0
9
9
  };
10
10
  export const virtualizationStateInitializer = (state, props) => {
11
+ const {
12
+ disableVirtualization,
13
+ autoHeight
14
+ } = props;
11
15
  const virtualization = {
12
- enabled: !props.disableVirtualization,
13
- enabledForColumns: true,
16
+ enabled: !disableVirtualization,
17
+ enabledForColumns: !disableVirtualization,
18
+ enabledForRows: !disableVirtualization && !autoHeight,
14
19
  renderContext: EMPTY_RENDER_CONTEXT
15
20
  };
16
21
  return _extends({}, state, {
@@ -25,7 +30,9 @@ export function useGridVirtualization(apiRef, props) {
25
30
  const setVirtualization = enabled => {
26
31
  apiRef.current.setState(state => _extends({}, state, {
27
32
  virtualization: _extends({}, state.virtualization, {
28
- enabled
33
+ enabled,
34
+ enabledForColumns: enabled,
35
+ enabledForRows: enabled && !props.autoHeight
29
36
  })
30
37
  }));
31
38
  };
@@ -49,6 +56,6 @@ export function useGridVirtualization(apiRef, props) {
49
56
  /* eslint-disable react-hooks/exhaustive-deps */
50
57
  React.useEffect(() => {
51
58
  setVirtualization(!props.disableVirtualization);
52
- }, [props.disableVirtualization]);
59
+ }, [props.disableVirtualization, props.autoHeight]);
53
60
  /* eslint-enable react-hooks/exhaustive-deps */
54
61
  }
@@ -1,3 +1,3 @@
1
- export * from './features';
2
- export * from './utils';
3
- export * from './core';
1
+ export * from "./features/index.js";
2
+ export * from "./utils/index.js";
3
+ export * from "./core/index.js";
@@ -1,8 +1,8 @@
1
- export * from './useGridApiEventHandler';
2
- export * from './useGridApiMethod';
3
- export * from './useGridLogger';
4
- export { useGridSelector } from './useGridSelector';
5
- export * from './useGridNativeEventListener';
6
- export * from './useFirstRender';
7
- export * from './useOnMount';
8
- export * from './useRunOnce';
1
+ export * from "./useGridApiEventHandler.js";
2
+ export * from "./useGridApiMethod.js";
3
+ export * from "./useGridLogger.js";
4
+ export { useGridSelector } from "./useGridSelector.js";
5
+ export * from "./useGridNativeEventListener.js";
6
+ export * from "./useFirstRender.js";
7
+ export * from "./useOnMount.js";
8
+ export * from "./useRunOnce.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { GridApiContext } from '../../components/GridApiContext';
2
+ import { GridApiContext } from "../../components/GridApiContext.js";
3
3
  export function useGridApiContext() {
4
4
  const apiRef = React.useContext(GridApiContext);
5
5
  if (apiRef === undefined) {
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { TimerBasedCleanupTracking } from '../../utils/cleanupTracking/TimerBasedCleanupTracking';
3
- import { FinalizationRegistryBasedCleanupTracking } from '../../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking';
2
+ import { TimerBasedCleanupTracking } from "../../utils/cleanupTracking/TimerBasedCleanupTracking.js";
3
+ import { FinalizationRegistryBasedCleanupTracking } from "../../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js";
4
4
  /**
5
5
  * Signal to the underlying logic what version of the public component API
6
6
  * of the data grid is exposed.
@@ -1,11 +1,11 @@
1
- import { gridVisibleColumnDefinitionsSelector } from '../features/columns/gridColumnsSelector';
2
- import { useGridSelector } from './useGridSelector';
3
- import { useGridRootProps } from './useGridRootProps';
4
- import { gridColumnGroupsHeaderMaxDepthSelector } from '../features/columnGrouping/gridColumnGroupsSelector';
5
- import { gridPinnedRowsCountSelector } from '../features/rows/gridRowsSelector';
6
- import { useGridPrivateApiContext } from './useGridPrivateApiContext';
7
- import { isMultipleRowSelectionEnabled } from '../features/rowSelection/utils';
8
- import { gridExpandedRowCountSelector } from '../features/filter/gridFilterSelector';
1
+ import { gridVisibleColumnDefinitionsSelector } from "../features/columns/gridColumnsSelector.js";
2
+ import { useGridSelector } from "./useGridSelector.js";
3
+ import { useGridRootProps } from "./useGridRootProps.js";
4
+ import { gridColumnGroupsHeaderMaxDepthSelector } from "../features/columnGrouping/gridColumnGroupsSelector.js";
5
+ import { gridPinnedRowsCountSelector } from "../features/rows/gridRowsSelector.js";
6
+ import { useGridPrivateApiContext } from "./useGridPrivateApiContext.js";
7
+ import { isMultipleRowSelectionEnabled } from "../features/rowSelection/utils.js";
8
+ import { gridExpandedRowCountSelector } from "../features/filter/gridFilterSelector.js";
9
9
  export const useGridAriaAttributes = () => {
10
10
  const apiRef = useGridPrivateApiContext();
11
11
  const rootProps = useGridRootProps();
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { GridConfigurationContext } from '../../components/GridConfigurationContext';
2
+ import { GridConfigurationContext } from "../../components/GridConfigurationContext.js";
3
3
  export const useGridConfiguration = () => {
4
4
  const configuration = React.useContext(GridConfigurationContext);
5
5
  if (configuration === undefined) {
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { isFunction } from '../../utils/utils';
3
- import { useGridLogger } from './useGridLogger';
2
+ import { isFunction } from "../../utils/utils.js";
3
+ import { useGridLogger } from "./useGridLogger.js";
4
4
  export const useGridNativeEventListener = (apiRef, ref, eventName, handler, options) => {
5
5
  const logger = useGridLogger(apiRef, 'useNativeEventListener');
6
6
  const [added, setAdded] = React.useState(false);
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { GridRootPropsContext } from '../../context/GridRootPropsContext';
2
+ import { GridRootPropsContext } from "../../context/GridRootPropsContext.js";
3
3
  export const useGridRootProps = () => {
4
4
  const contextValue = React.useContext(GridRootPropsContext);
5
5
  if (!contextValue) {
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { fastObjectShallowCompare } from '@mui/x-internals/fastObjectShallowCompare';
3
- import { useLazyRef } from './useLazyRef';
4
- import { useOnMount } from './useOnMount';
5
- import { warnOnce } from '../../internals/utils/warning';
3
+ import { useLazyRef } from "./useLazyRef.js";
4
+ import { useOnMount } from "./useOnMount.js";
5
+ import { warnOnce } from "../../internals/utils/warning.js";
6
6
  function isOutputSelector(selector) {
7
7
  return selector.acceptsApiRef;
8
8
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { gridPaginationRowRangeSelector, gridPaginatedVisibleSortedGridRowEntriesSelector } from '../features/pagination/gridPaginationSelector';
3
- import { gridExpandedSortedRowEntriesSelector } from '../features/filter/gridFilterSelector';
2
+ import { gridPaginationRowRangeSelector, gridPaginatedVisibleSortedGridRowEntriesSelector } from "../features/pagination/gridPaginationSelector.js";
3
+ import { gridExpandedSortedRowEntriesSelector } from "../features/filter/gridFilterSelector.js";
4
4
  export const getVisibleRows = (apiRef, props) => {
5
5
  let rows;
6
6
  let range;
package/modern/index.js CHANGED
@@ -1,26 +1,26 @@
1
1
  /**
2
- * @mui/x-data-grid v7.14.0
2
+ * @mui/x-data-grid v7.16.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
- export { useGridApiContext } from './hooks/utils/useGridApiContext';
9
- export { useGridApiRef } from './hooks/utils/useGridApiRef';
10
- export { useGridRootProps } from './hooks/utils/useGridRootProps';
11
- export * from './DataGrid';
12
- export * from './components';
13
- export * from './constants';
14
- export * from './hooks';
15
- export * from './models';
16
- export * from './context';
17
- export * from './colDef';
18
- export * from './utils';
19
- export { GridColumnHeaders } from './components/GridColumnHeaders';
8
+ export { useGridApiContext } from "./hooks/utils/useGridApiContext.js";
9
+ export { useGridApiRef } from "./hooks/utils/useGridApiRef.js";
10
+ export { useGridRootProps } from "./hooks/utils/useGridRootProps.js";
11
+ export * from "./DataGrid/index.js";
12
+ export * from "./components/index.js";
13
+ export * from "./constants/index.js";
14
+ export * from "./hooks/index.js";
15
+ export * from "./models/index.js";
16
+ export * from "./context/index.js";
17
+ export * from "./colDef/index.js";
18
+ export * from "./utils/index.js";
19
+ export { GridColumnHeaders } from "./components/GridColumnHeaders.js";
20
20
  /**
21
21
  * Reexportable components.
22
22
  */
23
- export { GridColumnMenu, GRID_COLUMN_MENU_SLOTS, GRID_COLUMN_MENU_SLOT_PROPS } from './components/reexportable';
23
+ export { GridColumnMenu, GRID_COLUMN_MENU_SLOTS, GRID_COLUMN_MENU_SLOT_PROPS } from "./components/reexportable.js";
24
24
 
25
25
  /**
26
26
  * The full grid API.