@mui/x-data-grid 8.0.0-alpha.7 → 8.0.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/CHANGELOG.md +551 -3
  2. package/DataGrid/DataGrid.js +4 -5
  3. package/DataGrid/useDataGridComponent.d.ts +2 -1
  4. package/DataGrid/useDataGridComponent.js +1 -1
  5. package/components/GridApiContext.js +2 -0
  6. package/components/GridConfigurationContext.js +2 -0
  7. package/components/GridHeaders.js +2 -2
  8. package/components/GridRow.d.ts +5 -9
  9. package/components/GridRow.js +28 -78
  10. package/components/GridScrollArea.js +2 -0
  11. package/components/GridSkeletonLoadingOverlay.js +18 -18
  12. package/components/cell/GridCell.d.ts +9 -16
  13. package/components/cell/GridCell.js +17 -35
  14. package/components/columnHeaders/GridColumnGroupHeader.d.ts +5 -5
  15. package/components/columnHeaders/GridColumnGroupHeader.js +7 -10
  16. package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +3 -3
  17. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +20 -6
  18. package/components/columnHeaders/GridColumnHeaderItem.d.ts +5 -5
  19. package/components/columnHeaders/GridColumnHeaderItem.js +13 -12
  20. package/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
  21. package/components/containers/GridRoot.d.ts +2 -2
  22. package/components/containers/GridRoot.js +14 -6
  23. package/components/containers/GridRootStyles.js +7 -0
  24. package/components/panel/GridPanel.js +2 -1
  25. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -0
  26. package/components/panel/filterPanel/GridFilterInputBoolean.js +12 -16
  27. package/components/panel/filterPanel/GridFilterInputDate.d.ts +2 -1
  28. package/components/panel/filterPanel/GridFilterInputDate.js +32 -29
  29. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
  30. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  31. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +1 -0
  32. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +13 -17
  33. package/components/panel/filterPanel/GridFilterInputValue.d.ts +1 -0
  34. package/components/panel/filterPanel/GridFilterInputValue.js +34 -28
  35. package/components/panel/filterPanel/GridFilterInputValueProps.d.ts +2 -1
  36. package/components/toolbar/GridToolbarColumnsButton.js +6 -1
  37. package/components/toolbar/GridToolbarFilterButton.js +6 -1
  38. package/components/virtualization/GridVirtualScrollbar.js +11 -12
  39. package/components/virtualization/GridVirtualScroller.js +4 -4
  40. package/constants/gridClasses.d.ts +12 -0
  41. package/constants/gridClasses.js +1 -1
  42. package/constants/localeTextConstants.js +1 -0
  43. package/context/GridContextProvider.d.ts +2 -1
  44. package/context/GridRootPropsContext.js +2 -0
  45. package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +2 -2
  46. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +2 -2
  47. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +2 -2
  48. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +2 -2
  49. package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +2 -2
  50. package/hooks/core/useGridApiInitialization.d.ts +2 -2
  51. package/hooks/core/useGridInitialization.d.ts +2 -2
  52. package/hooks/core/useGridIsRtl.d.ts +2 -2
  53. package/hooks/core/useGridLocaleText.d.ts +2 -2
  54. package/hooks/core/useGridLoggerFactory.d.ts +2 -2
  55. package/hooks/core/useGridRefs.d.ts +2 -2
  56. package/hooks/core/useGridStateInitialization.d.ts +2 -2
  57. package/hooks/features/clipboard/useGridClipboard.d.ts +2 -2
  58. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +2 -2
  59. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +5 -7
  60. package/hooks/features/columnHeaders/useGridColumnHeaders.js +34 -76
  61. package/hooks/features/columnMenu/useGridColumnMenu.d.ts +2 -2
  62. package/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
  63. package/hooks/features/columnResize/useGridColumnResize.d.ts +2 -2
  64. package/hooks/features/columns/gridColumnsUtils.d.ts +4 -4
  65. package/hooks/features/columns/useGridColumnSpanning.d.ts +2 -2
  66. package/hooks/features/columns/useGridColumns.d.ts +2 -2
  67. package/hooks/features/density/useGridDensity.d.ts +2 -2
  68. package/hooks/features/dimensions/useGridDimensions.d.ts +2 -2
  69. package/hooks/features/dimensions/useGridDimensions.js +1 -3
  70. package/hooks/features/editing/useGridCellEditing.d.ts +2 -2
  71. package/hooks/features/editing/useGridCellEditing.js +1 -1
  72. package/hooks/features/editing/useGridEditing.d.ts +2 -2
  73. package/hooks/features/editing/useGridRowEditing.d.ts +2 -2
  74. package/hooks/features/editing/useGridRowEditing.js +1 -1
  75. package/hooks/features/events/useGridEvents.d.ts +2 -2
  76. package/hooks/features/export/serializers/csvSerializer.d.ts +2 -1
  77. package/hooks/features/export/useGridCsvExport.d.ts +2 -2
  78. package/hooks/features/export/useGridPrintExport.d.ts +2 -2
  79. package/hooks/features/export/utils.d.ts +2 -2
  80. package/hooks/features/filter/gridFilterSelector.d.ts +1 -1
  81. package/hooks/features/filter/gridFilterSelector.js +6 -1
  82. package/hooks/features/filter/gridFilterUtils.d.ts +7 -7
  83. package/hooks/features/filter/gridFilterUtils.js +3 -3
  84. package/hooks/features/filter/useGridFilter.d.ts +2 -2
  85. package/hooks/features/focus/useGridFocus.d.ts +2 -2
  86. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +2 -2
  87. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +2 -2
  88. package/hooks/features/keyboardNavigation/utils.d.ts +3 -3
  89. package/hooks/features/listView/useGridListView.d.ts +2 -2
  90. package/hooks/features/pagination/gridPaginationInterfaces.d.ts +3 -0
  91. package/hooks/features/pagination/gridPaginationSelector.d.ts +21 -2
  92. package/hooks/features/pagination/gridPaginationSelector.js +39 -1
  93. package/hooks/features/pagination/useGridPagination.d.ts +3 -3
  94. package/hooks/features/pagination/useGridPagination.js +5 -3
  95. package/hooks/features/pagination/useGridPaginationMeta.d.ts +2 -2
  96. package/hooks/features/pagination/useGridPaginationModel.d.ts +2 -2
  97. package/hooks/features/pagination/useGridPaginationModel.js +23 -1
  98. package/hooks/features/pagination/useGridRowCount.d.ts +2 -2
  99. package/hooks/features/preferencesPanel/gridPreferencePanelSelector.d.ts +1 -0
  100. package/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +8 -1
  101. package/hooks/features/preferencesPanel/index.d.ts +1 -1
  102. package/hooks/features/preferencesPanel/index.js +1 -1
  103. package/hooks/features/preferencesPanel/useGridPreferencesPanel.d.ts +2 -2
  104. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
  105. package/hooks/features/rowSelection/useGridRowSelection.d.ts +2 -2
  106. package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.d.ts +2 -2
  107. package/hooks/features/rowSelection/utils.d.ts +3 -2
  108. package/hooks/features/rows/gridRowSpanningUtils.d.ts +2 -2
  109. package/hooks/features/rows/gridRowsSelector.js +1 -1
  110. package/hooks/features/rows/gridRowsUtils.d.ts +4 -4
  111. package/hooks/features/rows/useGridParamsApi.d.ts +2 -2
  112. package/hooks/features/rows/useGridRowSpanning.d.ts +2 -2
  113. package/hooks/features/rows/useGridRows.d.ts +2 -2
  114. package/hooks/features/rows/useGridRows.js +2 -2
  115. package/hooks/features/rows/useGridRowsMeta.d.ts +2 -2
  116. package/hooks/features/rows/useGridRowsPreProcessors.d.ts +2 -2
  117. package/hooks/features/scroll/useGridScroll.d.ts +2 -2
  118. package/hooks/features/sorting/gridSortingUtils.d.ts +3 -3
  119. package/hooks/features/sorting/gridSortingUtils.js +2 -2
  120. package/hooks/features/sorting/useGridSorting.d.ts +2 -2
  121. package/hooks/features/statePersistence/useGridStatePersistence.d.ts +2 -2
  122. package/hooks/features/virtualization/gridFocusedVirtualCellSelector.d.ts +6 -0
  123. package/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +42 -0
  124. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +2 -1
  125. package/hooks/features/virtualization/useGridVirtualScroller.js +92 -50
  126. package/hooks/features/virtualization/useGridVirtualization.d.ts +2 -2
  127. package/hooks/utils/useGridApiContext.d.ts +2 -2
  128. package/hooks/utils/useGridApiEventHandler.d.ts +4 -4
  129. package/hooks/utils/useGridApiMethod.d.ts +2 -2
  130. package/hooks/utils/useGridApiRef.d.ts +2 -2
  131. package/hooks/utils/useGridApiRef.js +3 -1
  132. package/hooks/utils/useGridInitializeState.d.ts +3 -3
  133. package/hooks/utils/useGridLogger.d.ts +2 -2
  134. package/hooks/utils/useGridNativeEventListener.d.ts +2 -1
  135. package/hooks/utils/useGridPrivateApiContext.d.ts +2 -1
  136. package/hooks/utils/useGridSelector.d.ts +2 -2
  137. package/hooks/utils/useGridVisibleRows.d.ts +8 -6
  138. package/hooks/utils/useGridVisibleRows.js +5 -28
  139. package/index.js +1 -1
  140. package/internals/constants.d.ts +6 -0
  141. package/internals/constants.js +8 -1
  142. package/internals/index.d.ts +1 -0
  143. package/internals/index.js +1 -0
  144. package/internals/utils/attachPinnedStyle.d.ts +2 -0
  145. package/internals/utils/attachPinnedStyle.js +9 -0
  146. package/internals/utils/getPinnedCellOffset.d.ts +3 -3
  147. package/internals/utils/getPinnedCellOffset.js +6 -7
  148. package/internals/utils/index.d.ts +1 -0
  149. package/internals/utils/index.js +2 -1
  150. package/locales/arSD.js +2 -0
  151. package/locales/beBY.js +1 -0
  152. package/locales/bgBG.js +2 -0
  153. package/locales/csCZ.js +2 -0
  154. package/locales/daDK.js +2 -0
  155. package/locales/deDE.js +2 -0
  156. package/locales/elGR.js +2 -0
  157. package/locales/esES.js +2 -0
  158. package/locales/faIR.js +7 -6
  159. package/locales/fiFI.js +2 -0
  160. package/locales/frFR.js +2 -0
  161. package/locales/heIL.js +2 -0
  162. package/locales/hrHR.js +2 -0
  163. package/locales/huHU.js +2 -0
  164. package/locales/isIS.js +2 -0
  165. package/locales/itIT.js +2 -0
  166. package/locales/jaJP.js +2 -0
  167. package/locales/koKR.js +2 -0
  168. package/locales/nbNO.js +2 -0
  169. package/locales/nlNL.js +2 -0
  170. package/locales/nnNO.js +2 -0
  171. package/locales/plPL.js +2 -0
  172. package/locales/ptBR.js +2 -0
  173. package/locales/ptPT.js +2 -0
  174. package/locales/roRO.js +2 -0
  175. package/locales/ruRU.js +2 -0
  176. package/locales/skSK.js +2 -0
  177. package/locales/svSE.js +2 -0
  178. package/locales/trTR.js +2 -0
  179. package/locales/ukUA.js +2 -0
  180. package/locales/urPK.js +11 -10
  181. package/locales/viVN.js +2 -0
  182. package/locales/zhCN.js +2 -0
  183. package/locales/zhHK.js +2 -0
  184. package/locales/zhTW.js +2 -0
  185. package/material/index.js +2 -1
  186. package/models/api/gridLocaleTextApi.d.ts +1 -0
  187. package/models/colDef/gridColDef.d.ts +9 -8
  188. package/models/events/gridEventLookup.d.ts +6 -1
  189. package/models/gridExport.d.ts +2 -2
  190. package/models/gridFilterOperator.d.ts +2 -1
  191. package/models/gridIconSlotsComponent.d.ts +5 -0
  192. package/models/gridStateCommunity.d.ts +4 -0
  193. package/models/props/DataGridProps.d.ts +2 -1
  194. package/modern/DataGrid/DataGrid.js +4 -5
  195. package/modern/DataGrid/useDataGridComponent.js +1 -1
  196. package/modern/components/GridApiContext.js +2 -0
  197. package/modern/components/GridConfigurationContext.js +2 -0
  198. package/modern/components/GridHeaders.js +2 -2
  199. package/modern/components/GridRow.js +28 -78
  200. package/modern/components/GridScrollArea.js +2 -0
  201. package/modern/components/GridSkeletonLoadingOverlay.js +18 -18
  202. package/modern/components/cell/GridCell.js +17 -35
  203. package/modern/components/columnHeaders/GridColumnGroupHeader.js +7 -10
  204. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +20 -6
  205. package/modern/components/columnHeaders/GridColumnHeaderItem.js +13 -12
  206. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
  207. package/modern/components/containers/GridRoot.js +14 -6
  208. package/modern/components/containers/GridRootStyles.js +7 -0
  209. package/modern/components/panel/GridPanel.js +2 -1
  210. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +12 -16
  211. package/modern/components/panel/filterPanel/GridFilterInputDate.js +32 -29
  212. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
  213. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  214. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +13 -17
  215. package/modern/components/panel/filterPanel/GridFilterInputValue.js +34 -28
  216. package/modern/components/toolbar/GridToolbarColumnsButton.js +6 -1
  217. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -1
  218. package/modern/components/virtualization/GridVirtualScrollbar.js +11 -12
  219. package/modern/components/virtualization/GridVirtualScroller.js +4 -4
  220. package/modern/constants/gridClasses.js +1 -1
  221. package/modern/constants/localeTextConstants.js +1 -0
  222. package/modern/context/GridRootPropsContext.js +2 -0
  223. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +34 -76
  224. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
  225. package/modern/hooks/features/dimensions/useGridDimensions.js +1 -3
  226. package/modern/hooks/features/editing/useGridCellEditing.js +1 -1
  227. package/modern/hooks/features/editing/useGridRowEditing.js +1 -1
  228. package/modern/hooks/features/filter/gridFilterSelector.js +6 -1
  229. package/modern/hooks/features/filter/gridFilterUtils.js +3 -3
  230. package/modern/hooks/features/pagination/gridPaginationSelector.js +39 -1
  231. package/modern/hooks/features/pagination/useGridPagination.js +5 -3
  232. package/modern/hooks/features/pagination/useGridPaginationModel.js +23 -1
  233. package/modern/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +8 -1
  234. package/modern/hooks/features/preferencesPanel/index.js +1 -1
  235. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
  236. package/modern/hooks/features/rows/gridRowsSelector.js +1 -1
  237. package/modern/hooks/features/rows/useGridRows.js +2 -2
  238. package/modern/hooks/features/sorting/gridSortingUtils.js +2 -2
  239. package/modern/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +42 -0
  240. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +92 -50
  241. package/modern/hooks/utils/useGridApiRef.js +3 -1
  242. package/modern/hooks/utils/useGridVisibleRows.js +5 -28
  243. package/modern/index.js +1 -1
  244. package/modern/internals/constants.js +8 -1
  245. package/modern/internals/index.js +1 -0
  246. package/modern/internals/utils/attachPinnedStyle.js +9 -0
  247. package/modern/internals/utils/getPinnedCellOffset.js +6 -7
  248. package/modern/internals/utils/index.js +2 -1
  249. package/modern/locales/arSD.js +2 -0
  250. package/modern/locales/beBY.js +1 -0
  251. package/modern/locales/bgBG.js +2 -0
  252. package/modern/locales/csCZ.js +2 -0
  253. package/modern/locales/daDK.js +2 -0
  254. package/modern/locales/deDE.js +2 -0
  255. package/modern/locales/elGR.js +2 -0
  256. package/modern/locales/esES.js +2 -0
  257. package/modern/locales/faIR.js +7 -6
  258. package/modern/locales/fiFI.js +2 -0
  259. package/modern/locales/frFR.js +2 -0
  260. package/modern/locales/heIL.js +2 -0
  261. package/modern/locales/hrHR.js +2 -0
  262. package/modern/locales/huHU.js +2 -0
  263. package/modern/locales/isIS.js +2 -0
  264. package/modern/locales/itIT.js +2 -0
  265. package/modern/locales/jaJP.js +2 -0
  266. package/modern/locales/koKR.js +2 -0
  267. package/modern/locales/nbNO.js +2 -0
  268. package/modern/locales/nlNL.js +2 -0
  269. package/modern/locales/nnNO.js +2 -0
  270. package/modern/locales/plPL.js +2 -0
  271. package/modern/locales/ptBR.js +2 -0
  272. package/modern/locales/ptPT.js +2 -0
  273. package/modern/locales/roRO.js +2 -0
  274. package/modern/locales/ruRU.js +2 -0
  275. package/modern/locales/skSK.js +2 -0
  276. package/modern/locales/svSE.js +2 -0
  277. package/modern/locales/trTR.js +2 -0
  278. package/modern/locales/ukUA.js +2 -0
  279. package/modern/locales/urPK.js +11 -10
  280. package/modern/locales/viVN.js +2 -0
  281. package/modern/locales/zhCN.js +2 -0
  282. package/modern/locales/zhHK.js +2 -0
  283. package/modern/locales/zhTW.js +2 -0
  284. package/modern/material/index.js +2 -1
  285. package/modern/utils/cellBorderUtils.js +5 -5
  286. package/modern/utils/domUtils.js +7 -2
  287. package/modern/utils/isJSDOM.js +1 -0
  288. package/modern/utils/rtlFlipSide.js +22 -0
  289. package/node/DataGrid/DataGrid.js +2 -3
  290. package/node/DataGrid/useDataGridComponent.js +1 -1
  291. package/node/components/GridApiContext.js +1 -0
  292. package/node/components/GridConfigurationContext.js +1 -0
  293. package/node/components/GridHeaders.js +2 -2
  294. package/node/components/GridRow.js +26 -77
  295. package/node/components/GridScrollArea.js +1 -0
  296. package/node/components/GridSkeletonLoadingOverlay.js +17 -17
  297. package/node/components/cell/GridCell.js +18 -36
  298. package/node/components/columnHeaders/GridColumnGroupHeader.js +7 -10
  299. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +19 -5
  300. package/node/components/columnHeaders/GridColumnHeaderItem.js +13 -12
  301. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
  302. package/node/components/containers/GridRoot.js +14 -6
  303. package/node/components/containers/GridRootStyles.js +7 -0
  304. package/node/components/panel/GridPanel.js +2 -1
  305. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +12 -16
  306. package/node/components/panel/filterPanel/GridFilterInputDate.js +31 -28
  307. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
  308. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  309. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +13 -17
  310. package/node/components/panel/filterPanel/GridFilterInputValue.js +33 -27
  311. package/node/components/toolbar/GridToolbarColumnsButton.js +6 -1
  312. package/node/components/toolbar/GridToolbarFilterButton.js +6 -1
  313. package/node/components/virtualization/GridVirtualScrollbar.js +11 -12
  314. package/node/components/virtualization/GridVirtualScroller.js +4 -4
  315. package/node/constants/gridClasses.js +1 -1
  316. package/node/constants/localeTextConstants.js +1 -0
  317. package/node/context/GridRootPropsContext.js +1 -0
  318. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +32 -74
  319. package/node/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
  320. package/node/hooks/features/dimensions/useGridDimensions.js +3 -5
  321. package/node/hooks/features/editing/useGridCellEditing.js +1 -1
  322. package/node/hooks/features/editing/useGridRowEditing.js +1 -1
  323. package/node/hooks/features/filter/gridFilterSelector.js +6 -1
  324. package/node/hooks/features/filter/gridFilterUtils.js +3 -3
  325. package/node/hooks/features/pagination/gridPaginationSelector.js +41 -3
  326. package/node/hooks/features/pagination/useGridPagination.js +5 -3
  327. package/node/hooks/features/pagination/useGridPaginationModel.js +23 -1
  328. package/node/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +9 -2
  329. package/node/hooks/features/preferencesPanel/index.js +11 -10
  330. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
  331. package/node/hooks/features/rows/gridRowsSelector.js +1 -1
  332. package/node/hooks/features/rows/useGridRows.js +1 -1
  333. package/node/hooks/features/sorting/gridSortingUtils.js +2 -2
  334. package/node/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +49 -0
  335. package/node/hooks/features/virtualization/useGridVirtualScroller.js +94 -52
  336. package/node/hooks/utils/useGridApiRef.js +3 -1
  337. package/node/hooks/utils/useGridVisibleRows.js +3 -28
  338. package/node/index.js +1 -1
  339. package/node/internals/constants.js +9 -2
  340. package/node/internals/index.js +12 -0
  341. package/node/internals/utils/attachPinnedStyle.js +15 -0
  342. package/node/internals/utils/getPinnedCellOffset.js +6 -7
  343. package/node/internals/utils/index.js +11 -0
  344. package/node/locales/arSD.js +2 -0
  345. package/node/locales/beBY.js +1 -0
  346. package/node/locales/bgBG.js +2 -0
  347. package/node/locales/csCZ.js +2 -0
  348. package/node/locales/daDK.js +2 -0
  349. package/node/locales/deDE.js +2 -0
  350. package/node/locales/elGR.js +2 -0
  351. package/node/locales/esES.js +2 -0
  352. package/node/locales/faIR.js +7 -6
  353. package/node/locales/fiFI.js +2 -0
  354. package/node/locales/frFR.js +2 -0
  355. package/node/locales/heIL.js +2 -0
  356. package/node/locales/hrHR.js +2 -0
  357. package/node/locales/huHU.js +2 -0
  358. package/node/locales/isIS.js +2 -0
  359. package/node/locales/itIT.js +2 -0
  360. package/node/locales/jaJP.js +2 -0
  361. package/node/locales/koKR.js +2 -0
  362. package/node/locales/nbNO.js +2 -0
  363. package/node/locales/nlNL.js +2 -0
  364. package/node/locales/nnNO.js +2 -0
  365. package/node/locales/plPL.js +2 -0
  366. package/node/locales/ptBR.js +2 -0
  367. package/node/locales/ptPT.js +2 -0
  368. package/node/locales/roRO.js +2 -0
  369. package/node/locales/ruRU.js +2 -0
  370. package/node/locales/skSK.js +2 -0
  371. package/node/locales/svSE.js +2 -0
  372. package/node/locales/trTR.js +2 -0
  373. package/node/locales/ukUA.js +2 -0
  374. package/node/locales/urPK.js +11 -10
  375. package/node/locales/viVN.js +2 -0
  376. package/node/locales/zhCN.js +2 -0
  377. package/node/locales/zhHK.js +2 -0
  378. package/node/locales/zhTW.js +2 -0
  379. package/node/material/index.js +2 -1
  380. package/node/utils/cellBorderUtils.js +5 -5
  381. package/node/utils/domUtils.js +7 -2
  382. package/node/utils/isJSDOM.js +7 -0
  383. package/node/utils/rtlFlipSide.js +29 -0
  384. package/package.json +2 -2
  385. package/utils/cellBorderUtils.d.ts +3 -3
  386. package/utils/cellBorderUtils.js +5 -5
  387. package/utils/createSelector.d.ts +2 -2
  388. package/utils/domUtils.js +7 -2
  389. package/utils/getPublicApiRef.d.ts +2 -1
  390. package/utils/isJSDOM.d.ts +1 -0
  391. package/utils/isJSDOM.js +1 -0
  392. package/utils/rtlFlipSide.d.ts +2 -0
  393. package/utils/rtlFlipSide.js +22 -0
@@ -9,4 +9,4 @@ var _utils = require("@mui/utils");
9
9
  function getDataGridUtilityClass(slot) {
10
10
  return (0, _utils.unstable_generateUtilityClass)('MuiDataGrid', slot);
11
11
  }
12
- const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'toolbarPromptControl', 'toolbarPromptControl--recording', 'toolbarPromptControlRecordingIndicator', 'toolbarPromptControlRecordButton', 'toolbarPromptControlSendButton', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
12
+ const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'toolbarPromptControl', 'toolbarPromptControl--recording', 'toolbarPromptControlRecordingIndicator', 'toolbarPromptControlRecordButton', 'toolbarPromptControlSendButton', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
@@ -104,6 +104,7 @@ const GRID_DEFAULT_LOCALE_TEXT = exports.GRID_DEFAULT_LOCALE_TEXT = {
104
104
  'headerFilterOperator>=': 'Greater than or equal to',
105
105
  'headerFilterOperator<': 'Less than',
106
106
  'headerFilterOperator<=': 'Less than or equal to',
107
+ headerFilterClear: 'Clear filter',
107
108
  // Filter values text
108
109
  filterValueAny: 'any',
109
110
  filterValueTrue: 'true',
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
@@ -10,7 +10,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _styles = require("@mui/material/styles");
13
- var _RtlProvider = require("@mui/system/RtlProvider");
14
13
  var _utils = require("../../utils");
15
14
  var _useGridRootProps = require("../../utils/useGridRootProps");
16
15
  var _useGridPrivateApiContext = require("../../utils/useGridPrivateApiContext");
@@ -26,6 +25,8 @@ var _GridScrollbarFillerCell = require("../../../components/GridScrollbarFillerC
26
25
  var _getPinnedCellOffset = require("../../../internals/utils/getPinnedCellOffset");
27
26
  var _GridColumnHeaderSeparator = require("../../../components/columnHeaders/GridColumnHeaderSeparator");
28
27
  var _gridClasses = require("../../../constants/gridClasses");
28
+ var _cellBorderUtils = require("../../../utils/cellBorderUtils");
29
+ var _constants = require("../../../internals/constants");
29
30
  var _jsxRuntime = require("react/jsx-runtime");
30
31
  const GridColumnHeaderRow = exports.GridColumnHeaderRow = (0, _styles.styled)('div', {
31
32
  name: 'MuiDataGrid',
@@ -52,10 +53,8 @@ const useGridColumnHeaders = props => {
52
53
  const [dragCol, setDragCol] = React.useState('');
53
54
  const [resizeCol, setResizeCol] = React.useState('');
54
55
  const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
55
- const isRtl = (0, _RtlProvider.useRtl)();
56
56
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
57
57
  const dimensions = (0, _utils.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
58
- const hasColumnVirtualization = (0, _utils.useGridSelector)(apiRef, _virtualization.gridVirtualizationColumnEnabledSelector);
59
58
  const columnGroupsModel = (0, _utils.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsUnwrappedModelSelector);
60
59
  const columnPositions = (0, _utils.useGridSelector)(apiRef, _columns.gridColumnPositionsSelector);
61
60
  const renderContext = (0, _utils.useGridSelector)(apiRef, _virtualization.gridRenderContextColumnsSelector);
@@ -92,18 +91,10 @@ const useGridColumnHeaders = props => {
92
91
  // Helper for computation common between getColumnHeaders and getColumnGroupHeaders
93
92
  const getColumnsToRender = params => {
94
93
  const {
95
- renderContext: currentContext = renderContext,
96
- maxLastColumn = visibleColumns.length
94
+ renderContext: currentContext = renderContext
97
95
  } = params || {};
98
- let firstColumnToRender;
99
- let lastColumnToRender;
100
- if (!rootProps.disableVirtualization && !hasColumnVirtualization) {
101
- firstColumnToRender = 0;
102
- lastColumnToRender = maxLastColumn;
103
- } else {
104
- firstColumnToRender = currentContext.firstColumnIndex;
105
- lastColumnToRender = currentContext.lastColumnIndex;
106
- }
96
+ const firstColumnToRender = currentContext.firstColumnIndex;
97
+ const lastColumnToRender = currentContext.lastColumnIndex;
107
98
  const renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
108
99
  return {
109
100
  renderedColumns,
@@ -112,7 +103,7 @@ const useGridColumnHeaders = props => {
112
103
  };
113
104
  };
114
105
  const getFillers = (params, children, leftOverflow, borderBottom = false) => {
115
- const isPinnedRight = params?.position === _columns.GridPinnedColumnPosition.RIGHT;
106
+ const isPinnedRight = params?.position === _constants.PinnedColumnPosition.RIGHT;
116
107
  const isNotPinned = params?.position === undefined;
117
108
  const hasScrollbarFiller = pinnedColumns.right.length > 0 && isPinnedRight || pinnedColumns.right.length === 0 && isNotPinned;
118
109
  const leftOffsetWidth = offsetLeft - leftOverflow;
@@ -133,33 +124,6 @@ const useGridColumnHeaders = props => {
133
124
  })]
134
125
  });
135
126
  };
136
- const getCellOffsetStyle = ({
137
- pinnedPosition,
138
- columnIndex,
139
- computedWidth
140
- }) => {
141
- let style;
142
- const isLeftPinned = pinnedPosition === _columns.GridPinnedColumnPosition.LEFT;
143
- const isRightPinned = pinnedPosition === _columns.GridPinnedColumnPosition.RIGHT;
144
- if (isLeftPinned || isRightPinned) {
145
- const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, computedWidth, columnIndex, columnPositions, dimensions);
146
- let side = isLeftPinned ? 'left' : 'right';
147
- if (isRtl) {
148
- side = isLeftPinned ? 'right' : 'left';
149
- }
150
- if (pinnedPosition === 'left') {
151
- style = {
152
- [side]: pinnedOffset
153
- };
154
- }
155
- if (pinnedPosition === 'right') {
156
- style = {
157
- [side]: pinnedOffset
158
- };
159
- }
160
- }
161
- return style;
162
- };
163
127
  const getColumnHeaders = (params, other = {}) => {
164
128
  const {
165
129
  renderedColumns,
@@ -174,14 +138,15 @@ const useGridColumnHeaders = props => {
174
138
  const hasFocus = columnHeaderFocus !== null && columnHeaderFocus.field === colDef.field;
175
139
  const open = columnMenuState.open && columnMenuState.field === colDef.field;
176
140
  const pinnedPosition = params?.position;
177
- const style = getCellOffsetStyle({
178
- pinnedPosition,
179
- columnIndex,
180
- computedWidth: colDef.computedWidth
181
- });
182
- const siblingWithBorderingSeparator = pinnedPosition === _columns.GridPinnedColumnPosition.RIGHT ? renderedColumns[i - 1] : renderedColumns[i + 1];
141
+ const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
142
+ const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, colDef.computedWidth, columnIndex, columnPositions, dimensions.columnsTotalWidth, scrollbarWidth);
143
+ const siblingWithBorderingSeparator = pinnedPosition === _constants.PinnedColumnPosition.RIGHT ? renderedColumns[i - 1] : renderedColumns[i + 1];
183
144
  const isSiblingFocused = siblingWithBorderingSeparator ? columnHeaderFocus !== null && columnHeaderFocus.field === siblingWithBorderingSeparator.field : false;
184
145
  const isLastUnpinned = columnIndex + 1 === columnPositions.length - pinnedColumns.right.length;
146
+ const indexInSection = i;
147
+ const sectionLength = renderedColumns.length;
148
+ const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection);
149
+ const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller);
185
150
  columns.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderItem.GridColumnHeaderItem, (0, _extends2.default)({}, sortColumnLookup[colDef.field], {
186
151
  columnMenuOpen: open,
187
152
  filterItemsCounter: filterColumnLookup[colDef.field] && filterColumnLookup[colDef.field].length,
@@ -194,12 +159,11 @@ const useGridColumnHeaders = props => {
194
159
  hasFocus: hasFocus,
195
160
  tabIndex: tabIndex,
196
161
  pinnedPosition: pinnedPosition,
197
- style: style,
198
- indexInSection: i,
199
- sectionLength: renderedColumns.length,
200
- gridHasFiller: gridHasFiller,
162
+ pinnedOffset: pinnedOffset,
201
163
  isLastUnpinned: isLastUnpinned,
202
- isSiblingFocused: isSiblingFocused
164
+ isSiblingFocused: isSiblingFocused,
165
+ showLeftBorder: showLeftBorder,
166
+ showRightBorder: showRightBorder
203
167
  }, other), colDef.field));
204
168
  }
205
169
  return getFillers(params, columns, 0);
@@ -211,18 +175,15 @@ const useGridColumnHeaders = props => {
211
175
  ownerState: rootProps,
212
176
  className: _gridClasses.gridClasses['row--borderBottom'],
213
177
  children: [leftRenderContext && getColumnHeaders({
214
- position: _columns.GridPinnedColumnPosition.LEFT,
215
- renderContext: leftRenderContext,
216
- maxLastColumn: leftRenderContext.lastColumnIndex
178
+ position: _constants.PinnedColumnPosition.LEFT,
179
+ renderContext: leftRenderContext
217
180
  }, {
218
181
  disableReorder: true
219
182
  }), getColumnHeaders({
220
- renderContext,
221
- maxLastColumn: visibleColumns.length - pinnedColumns.right.length
183
+ renderContext
222
184
  }), rightRenderContext && getColumnHeaders({
223
- position: _columns.GridPinnedColumnPosition.RIGHT,
224
- renderContext: rightRenderContext,
225
- maxLastColumn: rightRenderContext.lastColumnIndex
185
+ position: _constants.PinnedColumnPosition.RIGHT,
186
+ renderContext: rightRenderContext
226
187
  }, {
227
188
  disableReorder: true,
228
189
  separatorSide: _GridColumnHeaderSeparator.GridColumnHeaderSeparatorSides.Left
@@ -281,14 +242,11 @@ const useGridColumnHeaders = props => {
281
242
  tabIndex
282
243
  };
283
244
  const pinnedPosition = params.position;
284
- const style = getCellOffsetStyle({
285
- pinnedPosition,
286
- columnIndex,
287
- computedWidth: headerInfo.width
288
- });
245
+ const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
246
+ const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, headerInfo.width, columnIndex, columnPositions, dimensions.columnsTotalWidth, scrollbarWidth);
289
247
  columnIndex += columnFields.length;
290
248
  let indexInSection = index;
291
- if (pinnedPosition === 'left') {
249
+ if (pinnedPosition === _constants.PinnedColumnPosition.LEFT) {
292
250
  // Group headers can expand to multiple columns, we need to adjust the index
293
251
  indexInSection = columnIndex - 1;
294
252
  }
@@ -304,10 +262,9 @@ const useGridColumnHeaders = props => {
304
262
  hasFocus: hasFocus,
305
263
  tabIndex: tabIndex,
306
264
  pinnedPosition: pinnedPosition,
307
- style: style,
308
- indexInSection: indexInSection,
309
- sectionLength: visibleColumnGroupHeader.length,
310
- gridHasFiller: gridHasFiller
265
+ pinnedOffset: pinnedOffset,
266
+ showLeftBorder: (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection),
267
+ showRightBorder: (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, visibleColumnGroupHeader.length, rootProps.showCellVerticalBorder, gridHasFiller)
311
268
  }, index);
312
269
  });
313
270
  return getFillers(params, children, leftOverflow);
@@ -325,7 +282,7 @@ const useGridColumnHeaders = props => {
325
282
  children: [leftRenderContext && getColumnGroupHeaders({
326
283
  depth,
327
284
  params: {
328
- position: _columns.GridPinnedColumnPosition.LEFT,
285
+ position: _constants.PinnedColumnPosition.LEFT,
329
286
  renderContext: leftRenderContext,
330
287
  maxLastColumn: leftRenderContext.lastColumnIndex
331
288
  }
@@ -337,7 +294,7 @@ const useGridColumnHeaders = props => {
337
294
  }), rightRenderContext && getColumnGroupHeaders({
338
295
  depth,
339
296
  params: {
340
- position: _columns.GridPinnedColumnPosition.RIGHT,
297
+ position: _constants.PinnedColumnPosition.RIGHT,
341
298
  renderContext: rightRenderContext,
342
299
  maxLastColumn: rightRenderContext.lastColumnIndex
343
300
  }
@@ -352,11 +309,12 @@ const useGridColumnHeaders = props => {
352
309
  rightRenderContext,
353
310
  pinnedColumns,
354
311
  visibleColumns,
355
- getCellOffsetStyle,
312
+ columnPositions,
356
313
  getFillers,
357
314
  getColumnHeadersRow,
358
315
  getColumnsToRender,
359
316
  getColumnGroupHeadersRows,
317
+ getPinnedCellOffset: _getPinnedCellOffset.getPinnedCellOffset,
360
318
  isDragging: !!dragCol,
361
319
  getInnerProps: () => ({
362
320
  role: 'rowgroup'
@@ -49,7 +49,6 @@ const useGridColumnMenu = apiRef => {
49
49
  });
50
50
  });
51
51
  apiRef.current.hidePreferences();
52
- apiRef.current.forceUpdate();
53
52
  }
54
53
  }, [apiRef, logger]);
55
54
  const hideColumnMenu = React.useCallback(() => {
@@ -91,7 +90,6 @@ const useGridColumnMenu = apiRef => {
91
90
  columnMenu: newState
92
91
  });
93
92
  });
94
- apiRef.current.forceUpdate();
95
93
  }
96
94
  }, [apiRef, logger]);
97
95
  const toggleColumnMenu = React.useCallback(field => {
@@ -24,6 +24,7 @@ var _gridRowsMetaSelector = require("../rows/gridRowsMetaSelector");
24
24
  var _gridRowsUtils = require("../rows/gridRowsUtils");
25
25
  var _gridColumnsUtils = require("../columns/gridColumnsUtils");
26
26
  var _dataGridPropsDefaultValues = require("../../../constants/dataGridPropsDefaultValues");
27
+ var _isJSDOM = require("../../../utils/isJSDOM");
27
28
  const EMPTY_SIZE = {
28
29
  width: 0,
29
30
  height: 0
@@ -230,14 +231,11 @@ function useGridDimensions(apiRef, props) {
230
231
  const isFirstSizing = React.useRef(true);
231
232
  const handleResize = React.useCallback(size => {
232
233
  rootDimensionsRef.current = size;
233
-
234
- // jsdom has no layout capabilities
235
- const isJSDOM = /jsdom|HappyDOM/.test(window.navigator.userAgent);
236
- if (size.height === 0 && !errorShown.current && !props.autoHeight && !isJSDOM) {
234
+ if (size.height === 0 && !errorShown.current && !props.autoHeight && !_isJSDOM.isJSDOM) {
237
235
  logger.error(['The parent DOM element of the Data Grid has an empty height.', 'Please make sure that this element has an intrinsic height.', 'The grid displays with a height of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\n'));
238
236
  errorShown.current = true;
239
237
  }
240
- if (size.width === 0 && !errorShown.current && !isJSDOM) {
238
+ if (size.width === 0 && !errorShown.current && !_isJSDOM.isJSDOM) {
241
239
  logger.error(['The parent DOM element of the Data Grid has an empty width.', 'Please make sure that this element has an intrinsic width.', 'The grid displays with a width of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\n'));
242
240
  errorShown.current = true;
243
241
  }
@@ -346,7 +346,7 @@ const useGridCellEditing = (apiRef, props) => {
346
346
  if (onProcessRowUpdateError) {
347
347
  onProcessRowUpdateError(errorThrown);
348
348
  } else if (process.env.NODE_ENV !== 'production') {
349
- (0, _warning.warnOnce)(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
349
+ (0, _warning.warnOnce)(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/persistence/.'], 'error');
350
350
  }
351
351
  };
352
352
  try {
@@ -422,7 +422,7 @@ const useGridRowEditing = (apiRef, props) => {
422
422
  if (onProcessRowUpdateError) {
423
423
  onProcessRowUpdateError(errorThrown);
424
424
  } else if (process.env.NODE_ENV !== 'production') {
425
- (0, _warning.warnOnce)(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
425
+ (0, _warning.warnOnce)(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/persistence/.'], 'error');
426
426
  }
427
427
  };
428
428
  try {
@@ -55,7 +55,12 @@ const gridFilteredDescendantCountLookupSelector = exports.gridFilteredDescendant
55
55
  * Does not contain the collapsed children.
56
56
  * @category Filtering
57
57
  */
58
- const gridExpandedSortedRowEntriesSelector = exports.gridExpandedSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, (visibleRowsLookup, sortedRows) => sortedRows.filter(row => visibleRowsLookup[row.id] !== false));
58
+ const gridExpandedSortedRowEntriesSelector = exports.gridExpandedSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, gridFilterModelSelector, gridQuickFilterValuesSelector, (visibleRowsLookup, sortedRows, maxDepth, filterModel, quickFilterValues) => {
59
+ if (maxDepth < 2 && !filterModel.items.length && !quickFilterValues?.length) {
60
+ return sortedRows;
61
+ }
62
+ return sortedRows.filter(row => visibleRowsLookup[row.id] !== false);
63
+ });
59
64
 
60
65
  /**
61
66
  * Get the id of the rows accessible after the filtering process.
@@ -26,7 +26,7 @@ function getHasEval() {
26
26
  /**
27
27
  * Adds default values to the optional fields of a filter items.
28
28
  * @param {GridFilterItem} item The raw filter item.
29
- * @param {React.MutableRefObject<GridPrivateApiCommunity>} apiRef The API of the grid.
29
+ * @param {RefObject<GridPrivateApiCommunity>} apiRef The API of the grid.
30
30
  * @return {GridFilterItem} The clean filter item with an uniq ID and an always-defined operator.
31
31
  * TODO: Make the typing reflect the different between GridFilterInputItem and GridFilterItem.
32
32
  */
@@ -144,7 +144,7 @@ let filterItemsApplierId = 1;
144
144
  /**
145
145
  * Generates a method to easily check if a row is matching the current filter model.
146
146
  * @param {GridFilterModel} filterModel The model with which we want to filter the rows.
147
- * @param {React.MutableRefObject<GridPrivateApiCommunity>} apiRef The API of the grid.
147
+ * @param {RefObject<GridPrivateApiCommunity>} apiRef The API of the grid.
148
148
  * @returns {GridAggregatedFilterItemApplier | null} A method that checks if a row is matching the current filter model. If `null`, we consider that all the rows are matching the filters.
149
149
  */
150
150
  const buildAggregatedFilterItemsApplier = (filterModel, apiRef, disableEval) => {
@@ -192,7 +192,7 @@ const shouldQuickFilterExcludeHiddenColumns = filterModel => {
192
192
  /**
193
193
  * Generates a method to easily check if a row is matching the current quick filter.
194
194
  * @param {any[]} filterModel The model with which we want to filter the rows.
195
- * @param {React.MutableRefObject<GridPrivateApiCommunity>} apiRef The API of the grid.
195
+ * @param {RefObject<GridPrivateApiCommunity>} apiRef The API of the grid.
196
196
  * @returns {GridAggregatedFilterItemApplier | null} A method that checks if a row is matching the current filter model. If `null`, we consider that all the rows are matching the filters.
197
197
  */
198
198
  exports.shouldQuickFilterExcludeHiddenColumns = shouldQuickFilterExcludeHiddenColumns;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.gridPaginationSelector = exports.gridPaginationRowRangeSelector = exports.gridPaginationRowCountSelector = exports.gridPaginationModelSelector = exports.gridPaginationMetaSelector = exports.gridPaginatedVisibleSortedGridRowIdsSelector = exports.gridPaginatedVisibleSortedGridRowEntriesSelector = exports.gridPageSizeSelector = exports.gridPageSelector = exports.gridPageCountSelector = void 0;
6
+ exports.gridVisibleRowsSelector = exports.gridPaginationSelector = exports.gridPaginationRowRangeSelector = exports.gridPaginationRowCountSelector = exports.gridPaginationModelSelector = exports.gridPaginationMetaSelector = exports.gridPaginationEnabledClientSideSelector = exports.gridPaginatedVisibleSortedGridRowIdsSelector = exports.gridPaginatedVisibleSortedGridRowEntriesSelector = exports.gridPageSizeSelector = exports.gridPageSelector = exports.gridPageCountSelector = void 0;
7
7
  var _createSelector = require("../../../utils/createSelector");
8
8
  var _gridFilterSelector = require("../filter/gridFilterSelector");
9
9
  var _gridRowsSelector = require("../rows/gridRowsSelector");
@@ -17,10 +17,16 @@ const ALL_RESULTS_PAGE_VALUE = -1;
17
17
  const gridPaginationSelector = state => state.pagination;
18
18
 
19
19
  /**
20
- * Get the pagination model
21
20
  * @category Pagination
21
+ * @ignore - do not document.
22
22
  */
23
23
  exports.gridPaginationSelector = gridPaginationSelector;
24
+ const gridPaginationEnabledClientSideSelector = exports.gridPaginationEnabledClientSideSelector = (0, _createSelector.createSelector)(gridPaginationSelector, pagination => pagination.enabled && pagination.paginationMode === 'client');
25
+
26
+ /**
27
+ * Get the pagination model
28
+ * @category Pagination
29
+ */
24
30
  const gridPaginationModelSelector = exports.gridPaginationModelSelector = (0, _createSelector.createSelector)(gridPaginationSelector, pagination => pagination.paginationModel);
25
31
 
26
32
  /**
@@ -57,7 +63,10 @@ const gridPageCountSelector = exports.gridPageCountSelector = (0, _createSelecto
57
63
  * Get the index of the first and the last row to include in the current page if the pagination is enabled.
58
64
  * @category Pagination
59
65
  */
60
- const gridPaginationRowRangeSelector = exports.gridPaginationRowRangeSelector = (0, _createSelector.createSelectorMemoized)(gridPaginationModelSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, _gridFilterSelector.gridExpandedSortedRowEntriesSelector, _gridFilterSelector.gridFilteredSortedTopLevelRowEntriesSelector, (paginationModel, rowTree, rowTreeDepth, visibleSortedRowEntries, visibleSortedTopLevelRowEntries) => {
66
+ const gridPaginationRowRangeSelector = exports.gridPaginationRowRangeSelector = (0, _createSelector.createSelectorMemoized)(gridPaginationEnabledClientSideSelector, gridPaginationModelSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, _gridFilterSelector.gridExpandedSortedRowEntriesSelector, _gridFilterSelector.gridFilteredSortedTopLevelRowEntriesSelector, (clientSidePaginationEnabled, paginationModel, rowTree, rowTreeDepth, visibleSortedRowEntries, visibleSortedTopLevelRowEntries) => {
67
+ if (!clientSidePaginationEnabled) {
68
+ return null;
69
+ }
61
70
  const visibleTopLevelRowCount = visibleSortedTopLevelRowEntries.length;
62
71
  const topLevelFirstRowIndex = Math.min(paginationModel.pageSize * paginationModel.page, visibleTopLevelRowCount - 1);
63
72
  const topLevelLastRowIndex = paginationModel.pageSize === ALL_RESULTS_PAGE_VALUE ? visibleTopLevelRowCount - 1 : Math.min(topLevelFirstRowIndex + paginationModel.pageSize - 1, visibleTopLevelRowCount - 1);
@@ -119,4 +128,33 @@ const gridPaginatedVisibleSortedGridRowIdsSelector = exports.gridPaginatedVisibl
119
128
  return [];
120
129
  }
121
130
  return visibleSortedRowIds.slice(paginationRange.firstRowIndex, paginationRange.lastRowIndex + 1);
131
+ });
132
+
133
+ /**
134
+ * Get the rows, range and rowIndex lookup map after filtering and sorting.
135
+ * Does not contain the collapsed children.
136
+ * @category Pagination
137
+ */
138
+ const gridVisibleRowsSelector = exports.gridVisibleRowsSelector = (0, _createSelector.createSelectorMemoized)(gridPaginationEnabledClientSideSelector, gridPaginationRowRangeSelector, gridPaginatedVisibleSortedGridRowEntriesSelector, _gridFilterSelector.gridExpandedSortedRowEntriesSelector, (clientPaginationEnabled, paginationRowRange, paginationRows, expandedSortedRowEntries) => {
139
+ if (clientPaginationEnabled) {
140
+ return {
141
+ rows: paginationRows,
142
+ range: paginationRowRange,
143
+ rowToIndexMap: paginationRows.reduce((lookup, row, index) => {
144
+ lookup.set(row.model, index);
145
+ return lookup;
146
+ }, new Map())
147
+ };
148
+ }
149
+ return {
150
+ rows: expandedSortedRowEntries,
151
+ range: expandedSortedRowEntries.length === 0 ? null : {
152
+ firstRowIndex: 0,
153
+ lastRowIndex: expandedSortedRowEntries.length - 1
154
+ },
155
+ rowToIndexMap: expandedSortedRowEntries.reduce((lookup, row, index) => {
156
+ lookup.set(row.model, index);
157
+ return lookup;
158
+ }, new Map())
159
+ };
122
160
  });
@@ -16,11 +16,13 @@ const paginationStateInitializer = (state, props) => {
16
16
  const rowCount = props.rowCount ?? props.initialState?.pagination?.rowCount;
17
17
  const meta = props.paginationMeta ?? props.initialState?.pagination?.meta ?? {};
18
18
  return (0, _extends2.default)({}, state, {
19
- pagination: {
19
+ pagination: (0, _extends2.default)({}, state.pagination, {
20
20
  paginationModel,
21
21
  rowCount,
22
- meta
23
- }
22
+ meta,
23
+ enabled: props.pagination === true,
24
+ paginationMode: props.paginationMode
25
+ })
24
26
  });
25
27
  };
26
28
 
@@ -164,13 +164,35 @@ const useGridPaginationModel = (apiRef, props) => {
164
164
  /**
165
165
  * EFFECTS
166
166
  */
167
+ const isFirstRender = React.useRef(true);
167
168
  React.useEffect(() => {
169
+ if (isFirstRender.current) {
170
+ isFirstRender.current = false;
171
+ return;
172
+ }
173
+ if (!props.pagination) {
174
+ return;
175
+ }
168
176
  apiRef.current.setState(state => (0, _extends2.default)({}, state, {
169
177
  pagination: (0, _extends2.default)({}, state.pagination, {
170
178
  paginationModel: getDerivedPaginationModel(state.pagination, props.signature, props.paginationModel)
171
179
  })
172
180
  }));
173
- }, [apiRef, props.paginationModel, props.paginationMode, props.signature]);
181
+ }, [apiRef, props.paginationModel, props.signature, props.pagination]);
182
+ React.useEffect(() => {
183
+ apiRef.current.setState(state => {
184
+ const isEnabled = props.pagination === true;
185
+ if (state.pagination.paginationMode === props.paginationMode || state.pagination.enabled === isEnabled) {
186
+ return state;
187
+ }
188
+ return (0, _extends2.default)({}, state, {
189
+ pagination: (0, _extends2.default)({}, state.pagination, {
190
+ paginationMode: props.paginationMode,
191
+ enabled: props.pagination === true
192
+ })
193
+ });
194
+ });
195
+ }, [apiRef, props.paginationMode, props.pagination]);
174
196
  React.useEffect(handleUpdateAutoPageSize, [handleUpdateAutoPageSize]);
175
197
  };
176
198
  exports.useGridPaginationModel = useGridPaginationModel;
@@ -3,6 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.gridPreferencePanelStateSelector = void 0;
6
+ exports.gridPreferencePanelStateSelector = exports.gridPreferencePanelSelectorWithLabel = void 0;
7
+ var _createSelector = require("../../../utils/createSelector");
7
8
  const gridPreferencePanelStateSelector = state => state.preferencePanel;
8
- exports.gridPreferencePanelStateSelector = gridPreferencePanelStateSelector;
9
+ exports.gridPreferencePanelStateSelector = gridPreferencePanelStateSelector;
10
+ const gridPreferencePanelSelectorWithLabel = exports.gridPreferencePanelSelectorWithLabel = (0, _createSelector.createSelector)(gridPreferencePanelStateSelector, (panel, labelId) => {
11
+ if (panel.open && panel.labelId === labelId) {
12
+ return true;
13
+ }
14
+ return false;
15
+ });
@@ -3,20 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _gridPreferencePanelSelector = require("./gridPreferencePanelSelector");
7
- Object.keys(_gridPreferencePanelSelector).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _gridPreferencePanelSelector[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _gridPreferencePanelSelector[key];
14
- }
15
- });
6
+ var _exportNames = {
7
+ gridPreferencePanelStateSelector: true
8
+ };
9
+ Object.defineProperty(exports, "gridPreferencePanelStateSelector", {
10
+ enumerable: true,
11
+ get: function () {
12
+ return _gridPreferencePanelSelector.gridPreferencePanelStateSelector;
13
+ }
16
14
  });
15
+ var _gridPreferencePanelSelector = require("./gridPreferencePanelSelector");
17
16
  var _gridPreferencePanelState = require("./gridPreferencePanelState");
18
17
  Object.keys(_gridPreferencePanelState).forEach(function (key) {
19
18
  if (key === "default" || key === "__esModule") return;
19
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
20
  if (key in exports && exports[key] === _gridPreferencePanelState[key]) return;
21
21
  Object.defineProperty(exports, key, {
22
22
  enumerable: true,
@@ -28,6 +28,7 @@ Object.keys(_gridPreferencePanelState).forEach(function (key) {
28
28
  var _gridPreferencePanelsValue = require("./gridPreferencePanelsValue");
29
29
  Object.keys(_gridPreferencePanelsValue).forEach(function (key) {
30
30
  if (key === "default" || key === "__esModule") return;
31
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
31
32
  if (key in exports && exports[key] === _gridPreferencePanelsValue[key]) return;
32
33
  Object.defineProperty(exports, key, {
33
34
  enumerable: true,
@@ -24,42 +24,29 @@ const preferencePanelStateInitializer = (state, props) => (0, _extends2.default)
24
24
  exports.preferencePanelStateInitializer = preferencePanelStateInitializer;
25
25
  const useGridPreferencesPanel = (apiRef, props) => {
26
26
  const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useGridPreferencesPanel');
27
- const hideTimeout = React.useRef(undefined);
28
- const immediateTimeout = React.useRef(undefined);
29
27
 
30
28
  /**
31
29
  * API METHODS
32
30
  */
33
31
  const hidePreferences = React.useCallback(() => {
34
- logger.debug('Hiding Preferences Panel');
35
- const preferencePanelState = (0, _gridPreferencePanelSelector.gridPreferencePanelStateSelector)(apiRef.current.state);
36
- if (preferencePanelState.openedPanelValue) {
32
+ apiRef.current.setState(state => {
33
+ if (!state.preferencePanel.open) {
34
+ return state;
35
+ }
36
+ logger.debug('Hiding Preferences Panel');
37
+ const preferencePanelState = (0, _gridPreferencePanelSelector.gridPreferencePanelStateSelector)(state);
37
38
  apiRef.current.publishEvent('preferencePanelClose', {
38
39
  openedPanelValue: preferencePanelState.openedPanelValue
39
40
  });
40
- }
41
- apiRef.current.setState(state => (0, _extends2.default)({}, state, {
42
- preferencePanel: {
43
- open: false
44
- }
45
- }));
46
- apiRef.current.forceUpdate();
41
+ return (0, _extends2.default)({}, state, {
42
+ preferencePanel: {
43
+ open: false
44
+ }
45
+ });
46
+ });
47
47
  }, [apiRef, logger]);
48
-
49
- // This is to prevent the preferences from closing when you open a select box or another panel,
50
- // The issue is in MUI core V4 => Fixed in V5
51
- const doNotHidePanel = React.useCallback(() => {
52
- immediateTimeout.current = setTimeout(() => clearTimeout(hideTimeout.current), 0);
53
- }, []);
54
-
55
- // This is a hack for the issue with Core V4, by delaying hiding the panel on the clickAwayListener,
56
- // we can cancel the action if the trigger element still need the panel...
57
- const hidePreferencesDelayed = React.useCallback(() => {
58
- hideTimeout.current = setTimeout(hidePreferences, 100);
59
- }, [hidePreferences]);
60
48
  const showPreferences = React.useCallback((newValue, panelId, labelId) => {
61
49
  logger.debug('Opening Preferences Panel');
62
- doNotHidePanel();
63
50
  apiRef.current.setState(state => (0, _extends2.default)({}, state, {
64
51
  preferencePanel: (0, _extends2.default)({}, state.preferencePanel, {
65
52
  open: true,
@@ -71,11 +58,10 @@ const useGridPreferencesPanel = (apiRef, props) => {
71
58
  apiRef.current.publishEvent('preferencePanelOpen', {
72
59
  openedPanelValue: newValue
73
60
  });
74
- apiRef.current.forceUpdate();
75
- }, [logger, doNotHidePanel, apiRef]);
61
+ }, [logger, apiRef]);
76
62
  (0, _useGridApiMethod.useGridApiMethod)(apiRef, {
77
63
  showPreferences,
78
- hidePreferences: hidePreferencesDelayed
64
+ hidePreferences
79
65
  }, 'public');
80
66
 
81
67
  /**
@@ -108,15 +94,5 @@ const useGridPreferencesPanel = (apiRef, props) => {
108
94
  }, [apiRef]);
109
95
  (0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'exportState', stateExportPreProcessing);
110
96
  (0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'restoreState', stateRestorePreProcessing);
111
-
112
- /**
113
- * EFFECTS
114
- */
115
- React.useEffect(() => {
116
- return () => {
117
- clearTimeout(hideTimeout.current);
118
- clearTimeout(immediateTimeout.current);
119
- };
120
- }, []);
121
97
  };
122
98
  exports.useGridPreferencesPanel = useGridPreferencesPanel;