@mui/x-data-grid 7.0.0-alpha.7 → 7.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 (501) hide show
  1. package/CHANGELOG.md +554 -51
  2. package/DataGrid/DataGrid.js +15 -27
  3. package/DataGrid/useDataGridComponent.js +2 -1
  4. package/DataGrid/useDataGridProps.js +1 -0
  5. package/README.md +1 -1
  6. package/colDef/gridDateColDef.js +1 -1
  7. package/components/GridColumnHeaders.d.ts +3 -2
  8. package/components/GridColumnHeaders.js +3 -11
  9. package/components/GridDetailPanels.d.ts +5 -0
  10. package/components/GridDetailPanels.js +4 -0
  11. package/components/GridHeaders.d.ts +4 -0
  12. package/components/GridHeaders.js +53 -0
  13. package/components/GridPagination.d.ts +4 -4
  14. package/components/GridPagination.js +1 -1
  15. package/components/GridPinnedRows.d.ts +7 -0
  16. package/components/GridPinnedRows.js +4 -0
  17. package/components/GridRow.d.ts +7 -4
  18. package/components/GridRow.js +260 -97
  19. package/components/GridScrollbarFillerCell.d.ts +7 -0
  20. package/components/GridScrollbarFillerCell.js +39 -0
  21. package/components/base/GridBody.d.ts +2 -13
  22. package/components/base/GridBody.js +2 -116
  23. package/components/base/GridOverlays.js +10 -21
  24. package/components/cell/GridActionsCell.js +1 -1
  25. package/components/cell/GridActionsCellItem.d.ts +6 -6
  26. package/components/cell/GridCell.d.ts +15 -21
  27. package/components/cell/GridCell.js +68 -373
  28. package/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  29. package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -1
  30. package/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  31. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -0
  32. package/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  33. package/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  34. package/components/containers/GridRoot.js +18 -15
  35. package/components/containers/GridRootStyles.js +307 -204
  36. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  37. package/components/panel/GridPanel.d.ts +3 -3
  38. package/components/panel/GridPanel.js +3 -4
  39. package/components/panel/filterPanel/GridFilterForm.d.ts +6 -4
  40. package/components/panel/filterPanel/GridFilterForm.js +32 -15
  41. package/components/panel/filterPanel/GridFilterPanel.js +46 -20
  42. package/components/toolbar/GridToolbarColumnsButton.d.ts +13 -1
  43. package/components/toolbar/GridToolbarColumnsButton.js +40 -22
  44. package/components/toolbar/GridToolbarDensitySelector.d.ts +13 -1
  45. package/components/toolbar/GridToolbarDensitySelector.js +40 -22
  46. package/components/toolbar/GridToolbarExport.d.ts +10 -1
  47. package/components/toolbar/GridToolbarExport.js +6 -1
  48. package/components/toolbar/GridToolbarExportContainer.d.ts +15 -1
  49. package/components/toolbar/GridToolbarExportContainer.js +41 -23
  50. package/components/toolbar/GridToolbarFilterButton.d.ts +5 -4
  51. package/components/toolbar/GridToolbarFilterButton.js +6 -10
  52. package/components/toolbar/GridToolbarQuickFilter.d.ts +4 -0
  53. package/components/toolbar/GridToolbarQuickFilter.js +4 -0
  54. package/components/virtualization/GridBottomContainer.d.ts +2 -0
  55. package/components/virtualization/GridBottomContainer.js +25 -0
  56. package/components/{containers → virtualization}/GridMainContainer.d.ts +2 -0
  57. package/components/virtualization/GridMainContainer.js +20 -0
  58. package/components/virtualization/GridTopContainer.d.ts +2 -0
  59. package/components/virtualization/GridTopContainer.js +35 -0
  60. package/components/virtualization/GridVirtualScrollbar.d.ts +7 -0
  61. package/components/virtualization/GridVirtualScrollbar.js +131 -0
  62. package/components/virtualization/GridVirtualScroller.d.ts +4 -4
  63. package/components/virtualization/GridVirtualScroller.js +69 -16
  64. package/components/virtualization/GridVirtualScrollerFiller.d.ts +4 -0
  65. package/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  66. package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  67. package/constants/defaultGridSlotsComponents.js +6 -2
  68. package/constants/gridClasses.d.ts +60 -8
  69. package/constants/gridClasses.js +1 -1
  70. package/hooks/core/gridCoreSelector.d.ts +6 -0
  71. package/hooks/core/gridCoreSelector.js +5 -0
  72. package/hooks/core/useGridInitialization.js +4 -0
  73. package/hooks/core/useGridLoggerFactory.js +2 -2
  74. package/hooks/core/useGridRefs.d.ts +3 -0
  75. package/hooks/core/useGridRefs.js +13 -0
  76. package/hooks/core/useGridTheme.d.ts +3 -0
  77. package/hooks/core/useGridTheme.js +19 -0
  78. package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  79. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
  80. package/hooks/features/columnGrouping/useGridColumnGrouping.js +13 -18
  81. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +13 -18
  82. package/hooks/features/columnHeaders/useGridColumnHeaders.js +68 -162
  83. package/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  84. package/hooks/features/columns/gridColumnsInterfaces.d.ts +17 -0
  85. package/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  86. package/hooks/features/columns/gridColumnsSelector.d.ts +14 -1
  87. package/hooks/features/columns/gridColumnsSelector.js +52 -0
  88. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -5
  89. package/hooks/features/columns/gridColumnsUtils.js +10 -12
  90. package/hooks/features/columns/index.d.ts +2 -2
  91. package/hooks/features/columns/index.js +2 -1
  92. package/hooks/features/columns/useGridColumnSpanning.js +62 -61
  93. package/hooks/features/columns/useGridColumns.js +20 -23
  94. package/hooks/features/dimensions/gridDimensionsApi.d.ts +60 -11
  95. package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +2 -0
  96. package/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  97. package/hooks/features/dimensions/index.d.ts +2 -0
  98. package/hooks/features/dimensions/index.js +1 -0
  99. package/hooks/features/dimensions/useGridDimensions.d.ts +7 -1
  100. package/hooks/features/dimensions/useGridDimensions.js +216 -148
  101. package/hooks/features/editing/useGridCellEditing.js +4 -4
  102. package/hooks/features/editing/useGridRowEditing.js +4 -4
  103. package/hooks/features/export/serializers/csvSerializer.js +3 -3
  104. package/hooks/features/export/useGridPrintExport.js +1 -1
  105. package/hooks/features/filter/gridFilterUtils.js +5 -5
  106. package/hooks/features/filter/useGridFilter.js +3 -3
  107. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -2
  108. package/hooks/features/focus/gridFocusStateSelector.js +2 -6
  109. package/hooks/features/focus/useGridFocus.js +3 -3
  110. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  111. package/hooks/features/pagination/gridPaginationUtils.js +2 -2
  112. package/hooks/features/pagination/useGridPagination.js +3 -5
  113. package/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  114. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -0
  115. package/hooks/features/rows/gridRowsSelector.d.ts +2 -2
  116. package/hooks/features/rows/gridRowsSelector.js +5 -5
  117. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  118. package/hooks/features/rows/gridRowsUtils.js +6 -6
  119. package/hooks/features/rows/useGridRows.js +7 -7
  120. package/hooks/features/rows/useGridRowsMeta.js +9 -6
  121. package/hooks/features/scroll/useGridScroll.js +8 -10
  122. package/hooks/features/sorting/gridSortingUtils.js +5 -3
  123. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  124. package/hooks/features/sorting/useGridSorting.js +15 -10
  125. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +14 -0
  126. package/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  127. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +27 -42
  128. package/hooks/features/virtualization/useGridVirtualScroller.js +441 -438
  129. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  130. package/hooks/features/virtualization/useGridVirtualization.js +8 -1
  131. package/hooks/utils/index.d.ts +3 -0
  132. package/hooks/utils/index.js +4 -1
  133. package/hooks/utils/useGridApiContext.js +1 -1
  134. package/hooks/utils/useGridAriaAttributes.js +1 -2
  135. package/hooks/utils/useGridNativeEventListener.js +4 -9
  136. package/hooks/utils/useGridPrivateApiContext.js +1 -1
  137. package/hooks/utils/useGridRootProps.js +1 -1
  138. package/hooks/utils/useGridSelector.js +1 -1
  139. package/hooks/utils/useResizeObserver.d.ts +2 -0
  140. package/hooks/utils/useResizeObserver.js +36 -0
  141. package/hooks/utils/useRunOnce.d.ts +5 -0
  142. package/hooks/utils/useRunOnce.js +18 -0
  143. package/index.d.ts +0 -1
  144. package/index.js +1 -2
  145. package/internals/index.d.ts +13 -9
  146. package/internals/index.js +9 -7
  147. package/internals/utils/index.d.ts +1 -0
  148. package/internals/utils/index.js +2 -1
  149. package/internals/utils/propValidation.d.ts +4 -0
  150. package/internals/utils/propValidation.js +19 -0
  151. package/legacy/DataGrid/DataGrid.js +20 -29
  152. package/legacy/DataGrid/useDataGridComponent.js +2 -1
  153. package/legacy/DataGrid/useDataGridProps.js +1 -0
  154. package/legacy/colDef/gridDateColDef.js +1 -1
  155. package/legacy/components/GridColumnHeaders.js +3 -11
  156. package/legacy/components/GridDetailPanels.js +4 -0
  157. package/legacy/components/GridHeaders.js +53 -0
  158. package/legacy/components/GridPagination.js +1 -1
  159. package/legacy/components/GridPinnedRows.js +4 -0
  160. package/legacy/components/GridRow.js +258 -98
  161. package/legacy/components/GridScrollbarFillerCell.js +36 -0
  162. package/legacy/components/base/GridBody.js +2 -114
  163. package/legacy/components/base/GridOverlays.js +10 -25
  164. package/legacy/components/cell/GridActionsCell.js +1 -1
  165. package/legacy/components/cell/GridCell.js +70 -378
  166. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  167. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  168. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  169. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  170. package/legacy/components/containers/GridRoot.js +18 -15
  171. package/legacy/components/containers/GridRootStyles.js +215 -137
  172. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  173. package/legacy/components/panel/GridPanel.js +3 -4
  174. package/legacy/components/panel/filterPanel/GridFilterForm.js +31 -14
  175. package/legacy/components/panel/filterPanel/GridFilterPanel.js +49 -20
  176. package/legacy/components/toolbar/GridToolbarColumnsButton.js +40 -21
  177. package/legacy/components/toolbar/GridToolbarDensitySelector.js +40 -21
  178. package/legacy/components/toolbar/GridToolbarExport.js +6 -1
  179. package/legacy/components/toolbar/GridToolbarExportContainer.js +40 -21
  180. package/legacy/components/toolbar/GridToolbarFilterButton.js +6 -10
  181. package/legacy/components/toolbar/GridToolbarQuickFilter.js +4 -0
  182. package/legacy/components/virtualization/GridBottomContainer.js +25 -0
  183. package/legacy/components/virtualization/GridMainContainer.js +20 -0
  184. package/legacy/components/virtualization/GridTopContainer.js +35 -0
  185. package/legacy/components/virtualization/GridVirtualScrollbar.js +129 -0
  186. package/legacy/components/virtualization/GridVirtualScroller.js +67 -16
  187. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +70 -0
  188. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  189. package/legacy/constants/defaultGridSlotsComponents.js +6 -2
  190. package/legacy/constants/gridClasses.js +1 -1
  191. package/legacy/hooks/core/gridCoreSelector.js +7 -0
  192. package/legacy/hooks/core/useGridInitialization.js +4 -0
  193. package/legacy/hooks/core/useGridLoggerFactory.js +2 -2
  194. package/legacy/hooks/core/useGridRefs.js +13 -0
  195. package/legacy/hooks/core/useGridTheme.js +21 -0
  196. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  197. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +13 -18
  198. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +69 -181
  199. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  200. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  201. package/legacy/hooks/features/columns/gridColumnsSelector.js +62 -0
  202. package/legacy/hooks/features/columns/gridColumnsUtils.js +10 -16
  203. package/legacy/hooks/features/columns/index.js +2 -1
  204. package/legacy/hooks/features/columns/useGridColumnSpanning.js +60 -59
  205. package/legacy/hooks/features/columns/useGridColumns.js +22 -23
  206. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +3 -0
  207. package/legacy/hooks/features/dimensions/index.js +1 -0
  208. package/legacy/hooks/features/dimensions/useGridDimensions.js +226 -151
  209. package/legacy/hooks/features/editing/useGridCellEditing.js +4 -4
  210. package/legacy/hooks/features/editing/useGridRowEditing.js +4 -4
  211. package/legacy/hooks/features/export/serializers/csvSerializer.js +3 -3
  212. package/legacy/hooks/features/export/useGridPrintExport.js +1 -1
  213. package/legacy/hooks/features/filter/gridFilterUtils.js +5 -5
  214. package/legacy/hooks/features/filter/useGridFilter.js +3 -3
  215. package/legacy/hooks/features/focus/gridFocusStateSelector.js +2 -6
  216. package/legacy/hooks/features/focus/useGridFocus.js +3 -3
  217. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  218. package/legacy/hooks/features/pagination/gridPaginationUtils.js +2 -2
  219. package/legacy/hooks/features/pagination/useGridPagination.js +3 -5
  220. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  221. package/legacy/hooks/features/rows/gridRowsSelector.js +5 -5
  222. package/legacy/hooks/features/rows/gridRowsUtils.js +6 -6
  223. package/legacy/hooks/features/rows/useGridParamsApi.js +4 -5
  224. package/legacy/hooks/features/rows/useGridRows.js +7 -7
  225. package/legacy/hooks/features/rows/useGridRowsMeta.js +9 -6
  226. package/legacy/hooks/features/scroll/useGridScroll.js +8 -10
  227. package/legacy/hooks/features/sorting/gridSortingUtils.js +5 -3
  228. package/legacy/hooks/features/sorting/useGridSorting.js +15 -10
  229. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +29 -1
  230. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +490 -483
  231. package/legacy/hooks/features/virtualization/useGridVirtualization.js +8 -1
  232. package/legacy/hooks/utils/index.js +4 -1
  233. package/legacy/hooks/utils/useGridApiContext.js +1 -1
  234. package/legacy/hooks/utils/useGridAriaAttributes.js +1 -2
  235. package/legacy/hooks/utils/useGridNativeEventListener.js +4 -9
  236. package/legacy/hooks/utils/useGridPrivateApiContext.js +1 -1
  237. package/legacy/hooks/utils/useGridRootProps.js +1 -1
  238. package/legacy/hooks/utils/useGridSelector.js +1 -1
  239. package/legacy/hooks/utils/useResizeObserver.js +36 -0
  240. package/legacy/hooks/utils/useRunOnce.js +18 -0
  241. package/legacy/index.js +1 -2
  242. package/legacy/internals/index.js +9 -7
  243. package/legacy/internals/utils/index.js +2 -1
  244. package/legacy/internals/utils/propValidation.js +21 -0
  245. package/legacy/locales/hrHR.js +161 -0
  246. package/legacy/locales/index.js +4 -1
  247. package/legacy/locales/ptPT.js +161 -0
  248. package/legacy/locales/zhHK.js +161 -0
  249. package/legacy/models/index.js +0 -1
  250. package/legacy/models/params/index.js +1 -2
  251. package/legacy/utils/createSelector.js +1 -1
  252. package/legacy/utils/exportAs.js +1 -1
  253. package/legacy/utils/utils.js +10 -1
  254. package/locales/hrHR.d.ts +1 -0
  255. package/locales/hrHR.js +149 -0
  256. package/locales/index.d.ts +3 -0
  257. package/locales/index.js +4 -1
  258. package/locales/ptPT.d.ts +1 -0
  259. package/locales/ptPT.js +149 -0
  260. package/locales/zhHK.d.ts +1 -0
  261. package/locales/zhHK.js +149 -0
  262. package/models/api/gridColumnGroupingApi.d.ts +2 -2
  263. package/models/api/gridCoreApi.d.ts +16 -16
  264. package/models/api/gridRowsMetaApi.d.ts +1 -1
  265. package/models/api/gridVirtualizationApi.d.ts +2 -3
  266. package/models/events/gridEventLookup.d.ts +3 -3
  267. package/models/gridFilterModel.d.ts +1 -1
  268. package/models/gridSlotsComponent.d.ts +16 -2
  269. package/models/gridStateCommunity.d.ts +5 -1
  270. package/models/index.d.ts +0 -1
  271. package/models/index.js +0 -1
  272. package/models/params/index.d.ts +0 -1
  273. package/models/params/index.js +1 -2
  274. package/models/props/DataGridProps.d.ts +7 -12
  275. package/modern/DataGrid/DataGrid.js +15 -27
  276. package/modern/DataGrid/useDataGridComponent.js +2 -1
  277. package/modern/DataGrid/useDataGridProps.js +1 -0
  278. package/modern/colDef/gridDateColDef.js +1 -1
  279. package/modern/components/GridColumnHeaders.js +3 -11
  280. package/modern/components/GridDetailPanels.js +4 -0
  281. package/modern/components/GridHeaders.js +53 -0
  282. package/modern/components/GridPagination.js +1 -1
  283. package/modern/components/GridPinnedRows.js +4 -0
  284. package/modern/components/GridRow.js +258 -96
  285. package/modern/components/GridScrollbarFillerCell.js +39 -0
  286. package/modern/components/base/GridBody.js +2 -116
  287. package/modern/components/base/GridOverlays.js +10 -16
  288. package/modern/components/cell/GridActionsCell.js +1 -1
  289. package/modern/components/cell/GridCell.js +66 -370
  290. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  291. package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  292. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  293. package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  294. package/modern/components/containers/GridRoot.js +18 -14
  295. package/modern/components/containers/GridRootStyles.js +307 -204
  296. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  297. package/modern/components/panel/GridPanel.js +3 -4
  298. package/modern/components/panel/filterPanel/GridFilterForm.js +31 -14
  299. package/modern/components/panel/filterPanel/GridFilterPanel.js +46 -20
  300. package/modern/components/toolbar/GridToolbarColumnsButton.js +38 -21
  301. package/modern/components/toolbar/GridToolbarDensitySelector.js +38 -21
  302. package/modern/components/toolbar/GridToolbarExport.js +6 -1
  303. package/modern/components/toolbar/GridToolbarExportContainer.js +39 -22
  304. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -10
  305. package/modern/components/toolbar/GridToolbarQuickFilter.js +4 -0
  306. package/modern/components/virtualization/GridBottomContainer.js +25 -0
  307. package/modern/components/virtualization/GridMainContainer.js +20 -0
  308. package/modern/components/virtualization/GridTopContainer.js +35 -0
  309. package/modern/components/virtualization/GridVirtualScrollbar.js +131 -0
  310. package/modern/components/virtualization/GridVirtualScroller.js +69 -16
  311. package/modern/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  312. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  313. package/modern/constants/defaultGridSlotsComponents.js +6 -2
  314. package/modern/constants/gridClasses.js +1 -1
  315. package/modern/hooks/core/gridCoreSelector.js +5 -0
  316. package/modern/hooks/core/useGridInitialization.js +4 -0
  317. package/modern/hooks/core/useGridLoggerFactory.js +2 -2
  318. package/modern/hooks/core/useGridRefs.js +13 -0
  319. package/modern/hooks/core/useGridTheme.js +19 -0
  320. package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  321. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +11 -16
  322. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +67 -160
  323. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  324. package/modern/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  325. package/modern/hooks/features/columns/gridColumnsSelector.js +51 -0
  326. package/modern/hooks/features/columns/gridColumnsUtils.js +10 -12
  327. package/modern/hooks/features/columns/index.js +2 -1
  328. package/modern/hooks/features/columns/useGridColumnSpanning.js +62 -61
  329. package/modern/hooks/features/columns/useGridColumns.js +19 -21
  330. package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  331. package/modern/hooks/features/dimensions/index.js +1 -0
  332. package/modern/hooks/features/dimensions/useGridDimensions.js +214 -146
  333. package/modern/hooks/features/editing/useGridCellEditing.js +4 -4
  334. package/modern/hooks/features/editing/useGridRowEditing.js +4 -4
  335. package/modern/hooks/features/export/serializers/csvSerializer.js +3 -3
  336. package/modern/hooks/features/export/useGridPrintExport.js +1 -1
  337. package/modern/hooks/features/filter/gridFilterUtils.js +5 -5
  338. package/modern/hooks/features/filter/useGridFilter.js +3 -3
  339. package/modern/hooks/features/focus/gridFocusStateSelector.js +2 -6
  340. package/modern/hooks/features/focus/useGridFocus.js +3 -3
  341. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  342. package/modern/hooks/features/pagination/gridPaginationUtils.js +2 -2
  343. package/modern/hooks/features/pagination/useGridPagination.js +3 -5
  344. package/modern/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  345. package/modern/hooks/features/rows/gridRowsSelector.js +2 -2
  346. package/modern/hooks/features/rows/gridRowsUtils.js +6 -6
  347. package/modern/hooks/features/rows/useGridRows.js +7 -7
  348. package/modern/hooks/features/rows/useGridRowsMeta.js +9 -6
  349. package/modern/hooks/features/scroll/useGridScroll.js +8 -9
  350. package/modern/hooks/features/sorting/gridSortingUtils.js +5 -3
  351. package/modern/hooks/features/sorting/useGridSorting.js +15 -10
  352. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  353. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +435 -432
  354. package/modern/hooks/features/virtualization/useGridVirtualization.js +8 -1
  355. package/modern/hooks/utils/index.js +4 -1
  356. package/modern/hooks/utils/useGridApiContext.js +1 -1
  357. package/modern/hooks/utils/useGridAriaAttributes.js +1 -1
  358. package/modern/hooks/utils/useGridNativeEventListener.js +3 -9
  359. package/modern/hooks/utils/useGridPrivateApiContext.js +1 -1
  360. package/modern/hooks/utils/useGridRootProps.js +1 -1
  361. package/modern/hooks/utils/useGridSelector.js +1 -1
  362. package/modern/hooks/utils/useResizeObserver.js +36 -0
  363. package/modern/hooks/utils/useRunOnce.js +18 -0
  364. package/modern/index.js +1 -2
  365. package/modern/internals/index.js +9 -7
  366. package/modern/internals/utils/index.js +2 -1
  367. package/modern/internals/utils/propValidation.js +19 -0
  368. package/modern/locales/hrHR.js +149 -0
  369. package/modern/locales/index.js +4 -1
  370. package/modern/locales/ptPT.js +149 -0
  371. package/modern/locales/zhHK.js +149 -0
  372. package/modern/models/index.js +0 -1
  373. package/modern/models/params/index.js +1 -2
  374. package/modern/utils/createSelector.js +1 -1
  375. package/modern/utils/exportAs.js +1 -1
  376. package/modern/utils/utils.js +10 -1
  377. package/node/DataGrid/DataGrid.js +15 -27
  378. package/node/DataGrid/useDataGridComponent.js +1 -0
  379. package/node/DataGrid/useDataGridProps.js +1 -0
  380. package/node/colDef/gridDateColDef.js +1 -1
  381. package/node/components/GridColumnHeaders.js +3 -11
  382. package/node/components/GridDetailPanels.js +10 -0
  383. package/node/components/GridHeaders.js +60 -0
  384. package/node/components/GridPagination.js +1 -1
  385. package/node/components/GridPinnedRows.js +10 -0
  386. package/node/components/GridRow.js +256 -94
  387. package/node/components/GridScrollbarFillerCell.js +47 -0
  388. package/node/components/base/GridBody.js +7 -118
  389. package/node/components/base/GridOverlays.js +9 -15
  390. package/node/components/cell/GridActionsCell.js +1 -1
  391. package/node/components/cell/GridCell.js +67 -370
  392. package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  393. package/node/components/columnHeaders/GridColumnHeaderItem.js +8 -4
  394. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  395. package/node/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  396. package/node/components/containers/GridRoot.js +17 -14
  397. package/node/components/containers/GridRootStyles.js +175 -72
  398. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  399. package/node/components/panel/GridPanel.js +3 -4
  400. package/node/components/panel/filterPanel/GridFilterForm.js +30 -13
  401. package/node/components/panel/filterPanel/GridFilterPanel.js +45 -19
  402. package/node/components/toolbar/GridToolbarColumnsButton.js +36 -20
  403. package/node/components/toolbar/GridToolbarDensitySelector.js +36 -20
  404. package/node/components/toolbar/GridToolbarExport.js +6 -1
  405. package/node/components/toolbar/GridToolbarExportContainer.js +37 -21
  406. package/node/components/toolbar/GridToolbarFilterButton.js +6 -10
  407. package/node/components/toolbar/GridToolbarQuickFilter.js +4 -0
  408. package/node/components/virtualization/GridBottomContainer.js +34 -0
  409. package/node/components/{containers → virtualization}/GridMainContainer.js +7 -29
  410. package/node/components/virtualization/GridTopContainer.js +44 -0
  411. package/node/components/virtualization/GridVirtualScrollbar.js +138 -0
  412. package/node/components/virtualization/GridVirtualScroller.js +69 -17
  413. package/node/components/virtualization/GridVirtualScrollerFiller.js +77 -0
  414. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  415. package/node/constants/defaultGridSlotsComponents.js +5 -1
  416. package/node/constants/gridClasses.js +1 -1
  417. package/node/hooks/core/gridCoreSelector.js +12 -0
  418. package/node/hooks/core/useGridInitialization.js +4 -0
  419. package/node/hooks/core/useGridLoggerFactory.js +2 -2
  420. package/node/hooks/core/useGridRefs.js +22 -0
  421. package/node/hooks/core/useGridTheme.js +29 -0
  422. package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  423. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +11 -16
  424. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +65 -159
  425. package/node/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  426. package/node/hooks/features/columns/gridColumnsInterfaces.js +11 -1
  427. package/node/hooks/features/columns/gridColumnsSelector.js +52 -1
  428. package/node/hooks/features/columns/gridColumnsUtils.js +10 -13
  429. package/node/hooks/features/columns/index.js +22 -61
  430. package/node/hooks/features/columns/useGridColumnSpanning.js +62 -61
  431. package/node/hooks/features/columns/useGridColumns.js +20 -22
  432. package/node/hooks/features/dimensions/gridDimensionsSelectors.js +8 -0
  433. package/node/hooks/features/dimensions/index.js +11 -0
  434. package/node/hooks/features/dimensions/useGridDimensions.js +215 -144
  435. package/node/hooks/features/editing/useGridCellEditing.js +4 -4
  436. package/node/hooks/features/editing/useGridRowEditing.js +4 -4
  437. package/node/hooks/features/export/serializers/csvSerializer.js +3 -3
  438. package/node/hooks/features/export/useGridPrintExport.js +1 -1
  439. package/node/hooks/features/filter/gridFilterUtils.js +5 -5
  440. package/node/hooks/features/filter/useGridFilter.js +2 -2
  441. package/node/hooks/features/focus/gridFocusStateSelector.js +3 -7
  442. package/node/hooks/features/focus/useGridFocus.js +2 -2
  443. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -15
  444. package/node/hooks/features/pagination/gridPaginationUtils.js +2 -2
  445. package/node/hooks/features/pagination/useGridPagination.js +3 -5
  446. package/node/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  447. package/node/hooks/features/rows/gridRowsSelector.js +2 -2
  448. package/node/hooks/features/rows/gridRowsUtils.js +6 -6
  449. package/node/hooks/features/rows/useGridRows.js +7 -7
  450. package/node/hooks/features/rows/useGridRowsMeta.js +7 -5
  451. package/node/hooks/features/scroll/useGridScroll.js +8 -9
  452. package/node/hooks/features/sorting/gridSortingUtils.js +5 -3
  453. package/node/hooks/features/sorting/useGridSorting.js +15 -10
  454. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  455. package/node/hooks/features/virtualization/useGridVirtualScroller.js +434 -431
  456. package/node/hooks/features/virtualization/useGridVirtualization.js +9 -1
  457. package/node/hooks/utils/index.js +36 -0
  458. package/node/hooks/utils/useGridApiContext.js +1 -1
  459. package/node/hooks/utils/useGridAriaAttributes.js +1 -1
  460. package/node/hooks/utils/useGridNativeEventListener.js +3 -9
  461. package/node/hooks/utils/useGridPrivateApiContext.js +1 -1
  462. package/node/hooks/utils/useGridRootProps.js +1 -1
  463. package/node/hooks/utils/useGridSelector.js +1 -1
  464. package/node/hooks/utils/useResizeObserver.js +44 -0
  465. package/node/hooks/utils/useRunOnce.js +27 -0
  466. package/node/index.js +1 -13
  467. package/node/internals/index.js +86 -71
  468. package/node/internals/utils/index.js +11 -0
  469. package/node/internals/utils/propValidation.js +26 -0
  470. package/node/locales/hrHR.js +155 -0
  471. package/node/locales/index.js +33 -0
  472. package/node/locales/ptPT.js +155 -0
  473. package/node/locales/zhHK.js +155 -0
  474. package/node/models/index.js +0 -11
  475. package/node/models/params/index.js +0 -11
  476. package/node/utils/createSelector.js +1 -1
  477. package/node/utils/exportAs.js +1 -1
  478. package/node/utils/utils.js +11 -1
  479. package/package.json +6 -6
  480. package/utils/createSelector.js +1 -1
  481. package/utils/exportAs.js +1 -1
  482. package/utils/utils.d.ts +6 -0
  483. package/utils/utils.js +10 -1
  484. package/components/DataGridVirtualScroller.d.ts +0 -3
  485. package/components/DataGridVirtualScroller.js +0 -35
  486. package/components/containers/GridMainContainer.js +0 -43
  487. package/legacy/components/DataGridVirtualScroller.js +0 -32
  488. package/legacy/components/containers/GridMainContainer.js +0 -45
  489. package/legacy/models/gridRootContainerRef.js +0 -1
  490. package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  491. package/models/gridRootContainerRef.d.ts +0 -5
  492. package/models/gridRootContainerRef.js +0 -1
  493. package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +0 -10
  494. package/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  495. package/modern/components/DataGridVirtualScroller.js +0 -35
  496. package/modern/components/containers/GridMainContainer.js +0 -42
  497. package/modern/models/gridRootContainerRef.js +0 -1
  498. package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  499. package/node/components/DataGridVirtualScroller.js +0 -42
  500. package/node/models/gridRootContainerRef.js +0 -5
  501. package/node/models/params/gridRenderedRowsIntervalChangeParams.js +0 -5
@@ -1,13 +1,13 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["item", "hasMultipleFilters", "deleteFilter", "applyFilterChanges", "multiFilterOperator", "showMultiFilterOperators", "disableMultiFilterOperator", "applyMultiFilterOperatorChanges", "focusElementRef", "logicOperators", "columnsSort", "filterColumns", "deleteIconProps", "logicOperatorInputProps", "operatorInputProps", "columnInputProps", "valueInputProps", "children"],
3
+ var _excluded = ["item", "hasMultipleFilters", "deleteFilter", "applyFilterChanges", "showMultiFilterOperators", "disableMultiFilterOperator", "applyMultiFilterOperatorChanges", "focusElementRef", "logicOperators", "columnsSort", "filterColumns", "deleteIconProps", "logicOperatorInputProps", "operatorInputProps", "columnInputProps", "valueInputProps", "readOnly", "children"],
4
4
  _excluded2 = ["InputComponentProps"];
5
5
  import * as React from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import { unstable_composeClasses as composeClasses, unstable_useId as useId, unstable_capitalize as capitalize } from '@mui/utils';
8
8
  import { styled } from '@mui/material/styles';
9
9
  import clsx from 'clsx';
10
- import { gridFilterableColumnDefinitionsSelector } from '../../../hooks/features/columns/gridColumnsSelector';
10
+ import { gridFilterableColumnDefinitionsSelector, gridColumnLookupSelector } from '../../../hooks/features/columns/gridColumnsSelector';
11
11
  import { gridFilterModelSelector } from '../../../hooks/features/filter/gridFilterSelector';
12
12
  import { useGridSelector } from '../../../hooks/utils/useGridSelector';
13
13
  import { GridLogicOperator } from '../../../models/gridFilterItem';
@@ -103,7 +103,7 @@ var getLogicOperatorLocaleKey = function getLogicOperatorLocaleKey(logicOperator
103
103
  case GridLogicOperator.Or:
104
104
  return 'filterPanelOperatorOr';
105
105
  default:
106
- throw new Error('MUI: Invalid `logicOperator` property in the `GridFilterPanel`.');
106
+ throw new Error('MUI X: Invalid `logicOperator` property in the `GridFilterPanel`.');
107
107
  }
108
108
  };
109
109
  var getColumnLabel = function getColumnLabel(col) {
@@ -111,12 +111,11 @@ var getColumnLabel = function getColumnLabel(col) {
111
111
  };
112
112
  var collator = new Intl.Collator();
113
113
  var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props, ref) {
114
- var _rootProps$slotProps, _rootProps$slotProps2, _baseSelectProps$nati, _rootProps$slotProps3, _rootProps$slotProps4, _rootProps$slotProps5, _rootProps$slotProps6, _rootProps$slotProps7, _rootProps$slotProps8, _currentColumn$filter2;
114
+ var _filterModel$logicOpe, _rootProps$slotProps, _rootProps$slotProps2, _baseSelectProps$nati, _rootProps$slotProps3, _rootProps$slotProps4, _rootProps$slotProps5, _rootProps$slotProps6, _rootProps$slotProps7, _rootProps$slotProps8, _currentColumn$filter2;
115
115
  var item = props.item,
116
116
  hasMultipleFilters = props.hasMultipleFilters,
117
117
  deleteFilter = props.deleteFilter,
118
118
  applyFilterChanges = props.applyFilterChanges,
119
- multiFilterOperator = props.multiFilterOperator,
120
119
  showMultiFilterOperators = props.showMultiFilterOperators,
121
120
  disableMultiFilterOperator = props.disableMultiFilterOperator,
122
121
  applyMultiFilterOperatorChanges = props.applyMultiFilterOperatorChanges,
@@ -135,9 +134,11 @@ var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props
135
134
  columnInputProps = _props$columnInputPro === void 0 ? {} : _props$columnInputPro,
136
135
  _props$valueInputProp = props.valueInputProps,
137
136
  valueInputProps = _props$valueInputProp === void 0 ? {} : _props$valueInputProp,
137
+ readOnly = props.readOnly,
138
138
  children = props.children,
139
139
  other = _objectWithoutProperties(props, _excluded);
140
140
  var apiRef = useGridApiContext();
141
+ var columnLookup = useGridSelector(apiRef, gridColumnLookupSelector);
141
142
  var filterableColumns = useGridSelector(apiRef, gridFilterableColumnDefinitionsSelector);
142
143
  var filterModel = useGridSelector(apiRef, gridFilterModelSelector);
143
144
  var columnSelectId = useId();
@@ -148,6 +149,7 @@ var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props
148
149
  var classes = useUtilityClasses(rootProps);
149
150
  var valueRef = React.useRef(null);
150
151
  var filterSelectorRef = React.useRef(null);
152
+ var multiFilterOperator = (_filterModel$logicOpe = filterModel.logicOperator) != null ? _filterModel$logicOpe : GridLogicOperator.And;
151
153
  var hasLogicOperatorColumn = hasMultipleFilters && logicOperators.length > 0;
152
154
  var baseFormControlProps = ((_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseFormControl) || {};
153
155
  var baseSelectProps = ((_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseSelect) || {};
@@ -158,6 +160,15 @@ var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props
158
160
  valueInputPropsOther = _objectWithoutProperties(valueInputProps, _excluded2);
159
161
  var _React$useMemo = React.useMemo(function () {
160
162
  var itemField = item.field;
163
+
164
+ // Yields a valid value if the current filter belongs to a column that is not filterable
165
+ var selectedNonFilterableColumn = columnLookup[item.field].filterable === false ? columnLookup[item.field] : null;
166
+ if (selectedNonFilterableColumn) {
167
+ return {
168
+ filteredColumns: [selectedNonFilterableColumn],
169
+ selectedField: itemField
170
+ };
171
+ }
161
172
  if (filterColumns === undefined || typeof filterColumns !== 'function') {
162
173
  return {
163
174
  filteredColumns: filterableColumns,
@@ -179,7 +190,7 @@ var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props
179
190
  }),
180
191
  selectedField: itemField
181
192
  };
182
- }, [filterColumns, filterModel == null ? void 0 : filterModel.items, filterableColumns, item.field]),
193
+ }, [filterColumns, filterModel == null ? void 0 : filterModel.items, filterableColumns, item.field, columnLookup]),
183
194
  filteredColumns = _React$useMemo.filteredColumns,
184
195
  selectedField = _React$useMemo.selectedField;
185
196
  var sortedFilteredColumns = React.useMemo(function () {
@@ -302,7 +313,8 @@ var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props
302
313
  "aria-label": apiRef.current.getLocaleText('filterPanelDeleteIconLabel'),
303
314
  title: apiRef.current.getLocaleText('filterPanelDeleteIconLabel'),
304
315
  onClick: handleDeleteFilter,
305
- size: "small"
316
+ size: "small",
317
+ disabled: readOnly
306
318
  }, (_rootProps$slotProps5 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps5.baseIconButton, {
307
319
  children: /*#__PURE__*/_jsx(rootProps.slots.filterPanelDeleteIcon, {
308
320
  fontSize: "small"
@@ -351,7 +363,8 @@ var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props
351
363
  label: apiRef.current.getLocaleText('filterPanelColumns'),
352
364
  value: selectedField != null ? selectedField : '',
353
365
  onChange: changeColumn,
354
- native: isBaseSelectNative
366
+ native: isBaseSelectNative,
367
+ disabled: readOnly
355
368
  }, (_rootProps$slotProps7 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps7.baseSelect, {
356
369
  children: sortedFilteredColumns.map(function (col) {
357
370
  return /*#__PURE__*/_createElement(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
@@ -378,7 +391,8 @@ var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props
378
391
  value: item.operator,
379
392
  onChange: changeOperator,
380
393
  native: isBaseSelectNative,
381
- inputRef: filterSelectorRef
394
+ inputRef: filterSelectorRef,
395
+ disabled: readOnly
382
396
  }, (_rootProps$slotProps8 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps8.baseSelect, {
383
397
  children: currentColumn == null || (_currentColumn$filter2 = currentColumn.filterOperators) == null ? void 0 : _currentColumn$filter2.map(function (operator) {
384
398
  return /*#__PURE__*/_createElement(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
@@ -398,7 +412,8 @@ var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props
398
412
  apiRef: apiRef,
399
413
  item: item,
400
414
  applyValue: applyFilterChanges,
401
- focusElementRef: valueRef
415
+ focusElementRef: valueRef,
416
+ disabled: readOnly
402
417
  }, currentOperator.InputComponentProps, InputComponentProps), item.field) : null
403
418
  }))]
404
419
  }));
@@ -481,15 +496,17 @@ process.env.NODE_ENV !== "production" ? GridFilterForm.propTypes = {
481
496
  * @default [GridLogicOperator.And, GridLogicOperator.Or]
482
497
  */
483
498
  logicOperators: PropTypes.arrayOf(PropTypes.oneOf(['and', 'or']).isRequired),
484
- /**
485
- * The current logic operator applied.
486
- */
487
- multiFilterOperator: PropTypes.oneOf(['and', 'or']),
488
499
  /**
489
500
  * Props passed to the operator input component.
490
501
  * @default {}
491
502
  */
492
503
  operatorInputProps: PropTypes.any,
504
+ /**
505
+ * `true` if the filter is disabled/read only.
506
+ * i.e. `colDef.fiterable = false` but passed in `filterModel`
507
+ * @default false
508
+ */
509
+ readOnly: PropTypes.bool,
493
510
  /**
494
511
  * If `true`, the logic operator field is visible.
495
512
  */
@@ -13,7 +13,7 @@ import { GridFilterForm } from './GridFilterForm';
13
13
  import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
14
14
  import { useGridSelector } from '../../../hooks/utils/useGridSelector';
15
15
  import { gridFilterModelSelector } from '../../../hooks/features/filter/gridFilterSelector';
16
- import { gridFilterableColumnDefinitionsSelector } from '../../../hooks/features/columns/gridColumnsSelector';
16
+ import { gridFilterableColumnDefinitionsSelector, gridFilterableColumnLookupSelector } from '../../../hooks/features/columns/gridColumnsSelector';
17
17
  import { jsx as _jsx } from "react/jsx-runtime";
18
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
19
  var getGridFilter = function getGridFilter(col) {
@@ -29,6 +29,7 @@ var GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(pro
29
29
  var rootProps = useGridRootProps();
30
30
  var filterModel = useGridSelector(apiRef, gridFilterModelSelector);
31
31
  var filterableColumns = useGridSelector(apiRef, gridFilterableColumnDefinitionsSelector);
32
+ var filterableColumnsLookup = useGridSelector(apiRef, gridFilterableColumnLookupSelector);
32
33
  var lastFilterRef = React.useRef(null);
33
34
  var placeholderFilter = React.useRef(null);
34
35
  var _props$logicOperators = props.logicOperators,
@@ -105,65 +106,93 @@ var GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(pro
105
106
  return placeholderFilter.current ? [placeholderFilter.current] : [];
106
107
  }, [filterModel.items, getDefaultFilter]);
107
108
  var hasMultipleFilters = items.length > 1;
108
- var addNewFilter = function addNewFilter() {
109
+ var _React$useMemo = React.useMemo(function () {
110
+ return items.reduce(function (acc, item) {
111
+ if (filterableColumnsLookup[item.field]) {
112
+ acc.validFilters.push(item);
113
+ } else {
114
+ acc.readOnlyFilters.push(item);
115
+ }
116
+ return acc;
117
+ }, {
118
+ readOnlyFilters: [],
119
+ validFilters: []
120
+ });
121
+ }, [items, filterableColumnsLookup]),
122
+ readOnlyFilters = _React$useMemo.readOnlyFilters,
123
+ validFilters = _React$useMemo.validFilters;
124
+ var addNewFilter = React.useCallback(function () {
109
125
  var newFilter = getNewFilter();
110
126
  if (!newFilter) {
111
127
  return;
112
128
  }
113
129
  apiRef.current.upsertFilterItems([].concat(_toConsumableArray(items), [newFilter]));
114
- };
130
+ }, [apiRef, getNewFilter, items]);
115
131
  var deleteFilter = React.useCallback(function (item) {
116
- var shouldCloseFilterPanel = items.length === 1;
132
+ var shouldCloseFilterPanel = validFilters.length === 1;
117
133
  apiRef.current.deleteFilterItem(item);
118
134
  if (shouldCloseFilterPanel) {
119
135
  apiRef.current.hideFilterPanel();
120
136
  }
121
- }, [apiRef, items.length]);
122
- var handleRemoveAll = function handleRemoveAll() {
123
- if (items.length === 1 && items[0].value === undefined) {
124
- apiRef.current.deleteFilterItem(items[0]);
125
- apiRef.current.hideFilterPanel();
137
+ }, [apiRef, validFilters.length]);
138
+ var handleRemoveAll = React.useCallback(function () {
139
+ if (validFilters.length === 1 && validFilters[0].value === undefined) {
140
+ apiRef.current.deleteFilterItem(validFilters[0]);
141
+ return apiRef.current.hideFilterPanel();
126
142
  }
127
- apiRef.current.setFilterModel(_extends({}, filterModel, {
128
- items: []
143
+ return apiRef.current.setFilterModel(_extends({}, filterModel, {
144
+ items: readOnlyFilters
129
145
  }));
130
- };
146
+ }, [apiRef, readOnlyFilters, filterModel, validFilters]);
131
147
  React.useEffect(function () {
132
148
  if (logicOperators.length > 0 && filterModel.logicOperator && !logicOperators.includes(filterModel.logicOperator)) {
133
149
  applyFilterLogicOperator(logicOperators[0]);
134
150
  }
135
151
  }, [logicOperators, applyFilterLogicOperator, filterModel.logicOperator]);
136
152
  React.useEffect(function () {
137
- if (items.length > 0) {
153
+ if (validFilters.length > 0) {
138
154
  lastFilterRef.current.focus();
139
155
  }
140
- }, [items.length]);
156
+ }, [validFilters.length]);
141
157
  return /*#__PURE__*/_jsxs(GridPanelWrapper, _extends({
142
158
  ref: ref
143
159
  }, other, {
144
- children: [/*#__PURE__*/_jsx(GridPanelContent, {
145
- children: items.map(function (item, index) {
160
+ children: [/*#__PURE__*/_jsxs(GridPanelContent, {
161
+ children: [readOnlyFilters.map(function (item, index) {
146
162
  return /*#__PURE__*/_jsx(GridFilterForm, _extends({
147
163
  item: item,
148
164
  applyFilterChanges: applyFilter,
149
165
  deleteFilter: deleteFilter,
150
166
  hasMultipleFilters: hasMultipleFilters,
151
167
  showMultiFilterOperators: index > 0,
152
- multiFilterOperator: filterModel.logicOperator,
153
168
  disableMultiFilterOperator: index !== 1,
154
169
  applyMultiFilterOperatorChanges: applyFilterLogicOperator,
155
- focusElementRef: index === items.length - 1 ? lastFilterRef : null,
170
+ focusElementRef: null,
171
+ readOnly: true,
156
172
  logicOperators: logicOperators,
157
173
  columnsSort: columnsSort
158
174
  }, filterFormProps), item.id == null ? index : item.id);
159
- })
175
+ }), validFilters.map(function (item, index) {
176
+ return /*#__PURE__*/_jsx(GridFilterForm, _extends({
177
+ item: item,
178
+ applyFilterChanges: applyFilter,
179
+ deleteFilter: deleteFilter,
180
+ hasMultipleFilters: hasMultipleFilters,
181
+ showMultiFilterOperators: readOnlyFilters.length + index > 0,
182
+ disableMultiFilterOperator: readOnlyFilters.length + index !== 1,
183
+ applyMultiFilterOperatorChanges: applyFilterLogicOperator,
184
+ focusElementRef: index === validFilters.length - 1 ? lastFilterRef : null,
185
+ logicOperators: logicOperators,
186
+ columnsSort: columnsSort
187
+ }, filterFormProps), item.id == null ? index + readOnlyFilters.length : item.id);
188
+ })]
160
189
  }), !rootProps.disableMultipleColumnsFiltering && !(disableAddFilterButton && disableRemoveAllButton) ? /*#__PURE__*/_jsxs(GridPanelFooter, {
161
190
  children: [!disableAddFilterButton ? /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
162
191
  onClick: addNewFilter,
163
192
  startIcon: /*#__PURE__*/_jsx(rootProps.slots.filterPanelAddIcon, {})
164
193
  }, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseButton, {
165
194
  children: apiRef.current.getLocaleText('filterPanelAddFilter')
166
- })) : /*#__PURE__*/_jsx("span", {}), !disableRemoveAllButton ? /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
195
+ })) : /*#__PURE__*/_jsx("span", {}), !disableRemoveAllButton && validFilters.length > 0 ? /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
167
196
  onClick: handleRemoveAll,
168
197
  startIcon: /*#__PURE__*/_jsx(rootProps.slots.filterPanelRemoveAllIcon, {})
169
198
  }, (_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseButton, {
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["onClick"];
4
2
  import * as React from 'react';
3
+ import PropTypes from 'prop-types';
5
4
  import { unstable_useId as useId } from '@mui/material/utils';
6
5
  import { useGridSelector } from '../../hooks/utils/useGridSelector';
7
6
  import { gridPreferencePanelStateSelector } from '../../hooks/features/preferencesPanel/gridPreferencePanelSelector';
@@ -9,22 +8,25 @@ import { GridPreferencePanelsValue } from '../../hooks/features/preferencesPanel
9
8
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
10
9
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
11
10
  import { jsx as _jsx } from "react/jsx-runtime";
12
- export var GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridToolbarColumnsButton(props, ref) {
13
- var _rootProps$slotProps;
14
- var onClick = props.onClick,
15
- other = _objectWithoutProperties(props, _excluded);
11
+ var GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridToolbarColumnsButton(props, ref) {
12
+ var _rootProps$slotProps, _rootProps$slotProps2;
13
+ var _props$slotProps = props.slotProps,
14
+ slotProps = _props$slotProps === void 0 ? {} : _props$slotProps;
15
+ var buttonProps = slotProps.button || {};
16
+ var tooltipProps = slotProps.tooltip || {};
16
17
  var columnButtonId = useId();
17
18
  var columnPanelId = useId();
18
19
  var apiRef = useGridApiContext();
19
20
  var rootProps = useGridRootProps();
20
21
  var preferencePanel = useGridSelector(apiRef, gridPreferencePanelStateSelector);
21
22
  var showColumns = function showColumns(event) {
23
+ var _buttonProps$onClick;
22
24
  if (preferencePanel.open && preferencePanel.openedPanelValue === GridPreferencePanelsValue.columns) {
23
25
  apiRef.current.hidePreferences();
24
26
  } else {
25
27
  apiRef.current.showPreferences(GridPreferencePanelsValue.columns, columnPanelId, columnButtonId);
26
28
  }
27
- onClick == null || onClick(event);
29
+ (_buttonProps$onClick = buttonProps.onClick) == null || _buttonProps$onClick.call(buttonProps, event);
28
30
  };
29
31
 
30
32
  // Disable the button if the corresponding is disabled
@@ -32,18 +34,35 @@ export var GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function Gri
32
34
  return null;
33
35
  }
34
36
  var isOpen = preferencePanel.open && preferencePanel.panelId === columnPanelId;
35
- return /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
36
- ref: ref,
37
- id: columnButtonId,
38
- size: "small",
39
- "aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
40
- "aria-haspopup": "menu",
41
- "aria-expanded": isOpen,
42
- "aria-controls": isOpen ? columnPanelId : undefined,
43
- startIcon: /*#__PURE__*/_jsx(rootProps.slots.columnSelectorIcon, {})
44
- }, other, {
45
- onClick: showColumns
46
- }, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseButton, {
47
- children: apiRef.current.getLocaleText('toolbarColumns')
37
+ return /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
38
+ title: apiRef.current.getLocaleText('toolbarColumnsLabel'),
39
+ enterDelay: 1000
40
+ }, tooltipProps, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
41
+ children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
42
+ ref: ref,
43
+ id: columnButtonId,
44
+ size: "small",
45
+ "aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
46
+ "aria-haspopup": "menu",
47
+ "aria-expanded": isOpen,
48
+ "aria-controls": isOpen ? columnPanelId : undefined,
49
+ startIcon: /*#__PURE__*/_jsx(rootProps.slots.columnSelectorIcon, {})
50
+ }, buttonProps, {
51
+ onClick: showColumns
52
+ }, (_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseButton, {
53
+ children: apiRef.current.getLocaleText('toolbarColumns')
54
+ }))
48
55
  }));
49
- });
56
+ });
57
+ process.env.NODE_ENV !== "production" ? GridToolbarColumnsButton.propTypes = {
58
+ // ----------------------------- Warning --------------------------------
59
+ // | These PropTypes are generated from the TypeScript type definitions |
60
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
61
+ // ----------------------------------------------------------------------
62
+ /**
63
+ * The props used for each slot inside.
64
+ * @default {}
65
+ */
66
+ slotProps: PropTypes.object
67
+ } : void 0;
68
+ export { GridToolbarColumnsButton };
@@ -1,8 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["onClick"];
5
3
  import * as React from 'react';
4
+ import PropTypes from 'prop-types';
6
5
  import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
7
6
  import MenuList from '@mui/material/MenuList';
8
7
  import MenuItem from '@mui/material/MenuItem';
@@ -16,10 +15,12 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
16
15
  import { gridClasses } from '../../constants/gridClasses';
17
16
  import { jsx as _jsx } from "react/jsx-runtime";
18
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
- export var GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridToolbarDensitySelector(props, ref) {
20
- var _rootProps$slotProps;
21
- var onClick = props.onClick,
22
- other = _objectWithoutProperties(props, _excluded);
18
+ var GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridToolbarDensitySelector(props, ref) {
19
+ var _rootProps$slotProps, _rootProps$slotProps2;
20
+ var _props$slotProps = props.slotProps,
21
+ slotProps = _props$slotProps === void 0 ? {} : _props$slotProps;
22
+ var buttonProps = slotProps.button || {};
23
+ var tooltipProps = slotProps.tooltip || {};
23
24
  var apiRef = useGridApiContext();
24
25
  var rootProps = useGridRootProps();
25
26
  var densityValue = useGridSelector(apiRef, gridDensityValueSelector);
@@ -55,10 +56,11 @@ export var GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function G
55
56
  }
56
57
  }, [densityValue, rootProps]);
57
58
  var handleDensitySelectorOpen = function handleDensitySelectorOpen(event) {
59
+ var _buttonProps$onClick;
58
60
  setOpen(function (prevOpen) {
59
61
  return !prevOpen;
60
62
  });
61
- onClick == null || onClick(event);
63
+ (_buttonProps$onClick = buttonProps.onClick) == null || _buttonProps$onClick.call(buttonProps, event);
62
64
  };
63
65
  var handleDensitySelectorClose = function handleDensitySelectorClose() {
64
66
  setOpen(false);
@@ -92,19 +94,24 @@ export var GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function G
92
94
  }, index);
93
95
  });
94
96
  return /*#__PURE__*/_jsxs(React.Fragment, {
95
- children: [/*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
96
- ref: handleRef,
97
- size: "small",
98
- startIcon: startIcon,
99
- "aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
100
- "aria-haspopup": "menu",
101
- "aria-expanded": open,
102
- "aria-controls": open ? densityMenuId : undefined,
103
- id: densityButtonId
104
- }, other, {
105
- onClick: handleDensitySelectorOpen
106
- }, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseButton, {
107
- children: apiRef.current.getLocaleText('toolbarDensity')
97
+ children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
98
+ title: apiRef.current.getLocaleText('toolbarDensityLabel'),
99
+ enterDelay: 1000
100
+ }, tooltipProps, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
101
+ children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
102
+ ref: handleRef,
103
+ size: "small",
104
+ startIcon: startIcon,
105
+ "aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
106
+ "aria-haspopup": "menu",
107
+ "aria-expanded": open,
108
+ "aria-controls": open ? densityMenuId : undefined,
109
+ id: densityButtonId
110
+ }, buttonProps, {
111
+ onClick: handleDensitySelectorOpen
112
+ }, (_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseButton, {
113
+ children: apiRef.current.getLocaleText('toolbarDensity')
114
+ }))
108
115
  })), /*#__PURE__*/_jsx(GridMenu, {
109
116
  open: open,
110
117
  target: buttonRef.current,
@@ -120,4 +127,16 @@ export var GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function G
120
127
  })
121
128
  })]
122
129
  });
123
- });
130
+ });
131
+ process.env.NODE_ENV !== "production" ? GridToolbarDensitySelector.propTypes = {
132
+ // ----------------------------- Warning --------------------------------
133
+ // | These PropTypes are generated from the TypeScript type definitions |
134
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
135
+ // ----------------------------------------------------------------------
136
+ /**
137
+ * The props used for each slot inside.
138
+ * @default {}
139
+ */
140
+ slotProps: PropTypes.object
141
+ } : void 0;
142
+ export { GridToolbarDensitySelector };
@@ -70,6 +70,11 @@ process.env.NODE_ENV !== "production" ? GridToolbarExport.propTypes = {
70
70
  // | To update them edit the TypeScript types and run "yarn proptypes" |
71
71
  // ----------------------------------------------------------------------
72
72
  csvOptions: PropTypes.object,
73
- printOptions: PropTypes.object
73
+ printOptions: PropTypes.object,
74
+ /**
75
+ * The props used for each slot inside.
76
+ * @default {}
77
+ */
78
+ slotProps: PropTypes.object
74
79
  } : void 0;
75
80
  export { GridToolbarExport };
@@ -1,8 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["children", "onClick"];
5
3
  import * as React from 'react';
4
+ import PropTypes from 'prop-types';
6
5
  import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
7
6
  import MenuList from '@mui/material/MenuList';
8
7
  import { isHideMenuKey, isTabKey } from '../../utils/keyboardUtils';
@@ -12,11 +11,13 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
12
11
  import { gridClasses } from '../../constants/gridClasses';
13
12
  import { jsx as _jsx } from "react/jsx-runtime";
14
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
- export var GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridToolbarExportContainer(props, ref) {
16
- var _rootProps$slotProps;
14
+ var GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridToolbarExportContainer(props, ref) {
15
+ var _rootProps$slotProps, _rootProps$slotProps2;
17
16
  var children = props.children,
18
- onClick = props.onClick,
19
- other = _objectWithoutProperties(props, _excluded);
17
+ _props$slotProps = props.slotProps,
18
+ slotProps = _props$slotProps === void 0 ? {} : _props$slotProps;
19
+ var buttonProps = slotProps.button || {};
20
+ var tooltipProps = slotProps.tooltip || {};
20
21
  var apiRef = useGridApiContext();
21
22
  var rootProps = useGridRootProps();
22
23
  var exportButtonId = useId();
@@ -28,10 +29,11 @@ export var GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function G
28
29
  var buttonRef = React.useRef(null);
29
30
  var handleRef = useForkRef(ref, buttonRef);
30
31
  var handleMenuOpen = function handleMenuOpen(event) {
32
+ var _buttonProps$onClick;
31
33
  setOpen(function (prevOpen) {
32
34
  return !prevOpen;
33
35
  });
34
- onClick == null || onClick(event);
36
+ (_buttonProps$onClick = buttonProps.onClick) == null || _buttonProps$onClick.call(buttonProps, event);
35
37
  };
36
38
  var handleMenuClose = function handleMenuClose() {
37
39
  return setOpen(false);
@@ -48,19 +50,24 @@ export var GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function G
48
50
  return null;
49
51
  }
50
52
  return /*#__PURE__*/_jsxs(React.Fragment, {
51
- children: [/*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
52
- ref: handleRef,
53
- size: "small",
54
- startIcon: /*#__PURE__*/_jsx(rootProps.slots.exportIcon, {}),
55
- "aria-expanded": open,
56
- "aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
57
- "aria-haspopup": "menu",
58
- "aria-controls": open ? exportMenuId : undefined,
59
- id: exportButtonId
60
- }, other, {
61
- onClick: handleMenuOpen
62
- }, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseButton, {
63
- children: apiRef.current.getLocaleText('toolbarExport')
53
+ children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
54
+ title: apiRef.current.getLocaleText('toolbarExportLabel'),
55
+ enterDelay: 1000
56
+ }, tooltipProps, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
57
+ children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
58
+ ref: handleRef,
59
+ size: "small",
60
+ startIcon: /*#__PURE__*/_jsx(rootProps.slots.exportIcon, {}),
61
+ "aria-expanded": open,
62
+ "aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
63
+ "aria-haspopup": "menu",
64
+ "aria-controls": open ? exportMenuId : undefined,
65
+ id: exportButtonId
66
+ }, buttonProps, {
67
+ onClick: handleMenuOpen
68
+ }, (_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseButton, {
69
+ children: apiRef.current.getLocaleText('toolbarExport')
70
+ }))
64
71
  })), /*#__PURE__*/_jsx(GridMenu, {
65
72
  open: open,
66
73
  target: buttonRef.current,
@@ -83,4 +90,16 @@ export var GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function G
83
90
  })
84
91
  })]
85
92
  });
86
- });
93
+ });
94
+ process.env.NODE_ENV !== "production" ? GridToolbarExportContainer.propTypes = {
95
+ // ----------------------------- Warning --------------------------------
96
+ // | These PropTypes are generated from the TypeScript type definitions |
97
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
98
+ // ----------------------------------------------------------------------
99
+ /**
100
+ * The props used for each slot inside.
101
+ * @default {}
102
+ */
103
+ slotProps: PropTypes.object
104
+ } : void 0;
105
+ export { GridToolbarExportContainer };
@@ -1,6 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["componentsProps"];
4
2
  import * as React from 'react';
5
3
  import PropTypes from 'prop-types';
6
4
  import { styled } from '@mui/material/styles';
@@ -38,10 +36,10 @@ var GridToolbarFilterListRoot = styled('ul', {
38
36
  });
39
37
  var GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolbarFilterButton(props, ref) {
40
38
  var _rootProps$slotProps, _rootProps$slotProps2;
41
- var _props$componentsProp = props.componentsProps,
42
- componentsProps = _props$componentsProp === void 0 ? {} : _props$componentsProp,
43
- other = _objectWithoutProperties(props, _excluded);
44
- var buttonProps = componentsProps.button || {};
39
+ var _props$slotProps = props.slotProps,
40
+ slotProps = _props$slotProps === void 0 ? {} : _props$slotProps;
41
+ var buttonProps = slotProps.button || {};
42
+ var tooltipProps = slotProps.tooltip || {};
45
43
  var apiRef = useGridApiContext();
46
44
  var rootProps = useGridRootProps();
47
45
  var activeFilters = useGridSelector(apiRef, gridFilterActiveItemsSelector);
@@ -103,7 +101,7 @@ var GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolbar
103
101
  return /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
104
102
  title: tooltipContentNode,
105
103
  enterDelay: 1000
106
- }, other, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
104
+ }, tooltipProps, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTooltip, {
107
105
  children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
108
106
  ref: ref,
109
107
  id: filterButtonId,
@@ -133,8 +131,6 @@ process.env.NODE_ENV !== "production" ? GridToolbarFilterButton.propTypes = {
133
131
  * The props used for each slot inside.
134
132
  * @default {}
135
133
  */
136
- componentsProps: PropTypes.shape({
137
- button: PropTypes.object
138
- })
134
+ slotProps: PropTypes.object
139
135
  } : void 0;
140
136
  export { GridToolbarFilterButton };
@@ -139,12 +139,16 @@ process.env.NODE_ENV !== "production" ? GridToolbarQuickFilter.propTypes = {
139
139
  * Function responsible for formatting values of quick filter in a string when the model is modified
140
140
  * @param {any[]} values The new values passed to the quick filter model
141
141
  * @returns {string} The string to display in the text field
142
+ * @default (values: string[]) => values.join(' ')
142
143
  */
143
144
  quickFilterFormatter: PropTypes.func,
144
145
  /**
145
146
  * Function responsible for parsing text input in an array of independent values for quick filtering.
146
147
  * @param {string} input The value entered by the user
147
148
  * @returns {any[]} The array of value on which quick filter is applied
149
+ * @default (searchText: string) => searchText
150
+ * .split(' ')
151
+ * .filter((word) => word !== '')
148
152
  */
149
153
  quickFilterParser: PropTypes.func
150
154
  } : void 0;