@mui/x-data-grid 6.5.0 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/CHANGELOG.md +150 -2
  2. package/DataGrid/DataGrid.js +10 -3
  3. package/README.md +2 -2
  4. package/components/GridColumnHeaders.js +4 -9
  5. package/components/GridHeader.d.ts +2 -2
  6. package/components/base/GridBody.d.ts +1 -1
  7. package/components/base/GridFooterPlaceholder.d.ts +2 -2
  8. package/components/base/GridOverlays.d.ts +2 -2
  9. package/components/cell/GridActionsCell.d.ts +3 -3
  10. package/components/cell/GridActionsCell.js +3 -3
  11. package/components/cell/GridBooleanCell.d.ts +1 -1
  12. package/components/cell/GridEditBooleanCell.d.ts +2 -2
  13. package/components/cell/GridEditDateCell.d.ts +2 -2
  14. package/components/cell/GridEditInputCell.d.ts +1 -1
  15. package/components/cell/GridEditSingleSelectCell.d.ts +3 -3
  16. package/components/cell/GridEditSingleSelectCell.js +5 -5
  17. package/components/cell/GridSkeletonCell.d.ts +1 -1
  18. package/components/columnHeaders/ColumnHeaderMenuIcon.d.ts +1 -1
  19. package/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  20. package/components/columnHeaders/GridColumnGroupHeader.d.ts +2 -2
  21. package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +1 -1
  22. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +13 -4
  23. package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -2
  24. package/components/columnHeaders/GridColumnHeaderSeparator.d.ts +1 -1
  25. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -1
  26. package/components/columnHeaders/GridColumnHeaderTitle.d.ts +1 -1
  27. package/components/containers/GridRoot.js +1 -3
  28. package/components/containers/GridRootStyles.js +8 -1
  29. package/components/index.d.ts +0 -1
  30. package/components/index.js +1 -2
  31. package/components/menu/GridMenu.d.ts +1 -1
  32. package/components/menu/columnMenu/GridColumnHeaderMenu.d.ts +1 -1
  33. package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.d.ts +2 -2
  34. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.d.ts +2 -2
  35. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.d.ts +2 -2
  36. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.d.ts +2 -2
  37. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.d.ts +2 -2
  38. package/components/panel/GridColumnsPanel.d.ts +16 -2
  39. package/components/panel/GridColumnsPanel.js +14 -0
  40. package/components/panel/GridPanelContent.d.ts +1 -1
  41. package/components/panel/GridPanelFooter.d.ts +1 -1
  42. package/components/panel/GridPanelHeader.d.ts +1 -1
  43. package/components/panel/GridPreferencesPanel.js +3 -1
  44. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -2
  45. package/components/panel/filterPanel/GridFilterInputBoolean.js +6 -7
  46. package/components/panel/filterPanel/GridFilterInputDate.d.ts +1 -2
  47. package/components/panel/filterPanel/GridFilterInputDate.js +1 -6
  48. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  49. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  50. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +1 -2
  51. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -6
  52. package/components/panel/filterPanel/GridFilterInputValue.d.ts +1 -2
  53. package/components/panel/filterPanel/GridFilterInputValue.js +1 -6
  54. package/components/panel/filterPanel/GridFilterPanel.d.ts +8 -0
  55. package/components/panel/filterPanel/GridFilterPanel.js +8 -0
  56. package/components/toolbar/GridToolbarColumnsButton.js +11 -6
  57. package/components/toolbar/GridToolbarDensitySelector.js +2 -2
  58. package/components/toolbar/GridToolbarExport.d.ts +2 -2
  59. package/components/toolbar/GridToolbarExportContainer.js +7 -7
  60. package/components/toolbar/GridToolbarFilterButton.js +11 -4
  61. package/components/toolbar/GridToolbarQuickFilter.d.ts +2 -2
  62. package/constants/gridClasses.d.ts +4 -0
  63. package/constants/gridClasses.js +1 -1
  64. package/constants/localeTextConstants.js +4 -4
  65. package/context/GridContextProvider.d.ts +1 -1
  66. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +10 -2
  67. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
  68. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  69. package/hooks/features/filter/gridFilterSelector.d.ts +2 -2
  70. package/hooks/features/filter/gridFilterSelector.js +2 -2
  71. package/hooks/features/filter/gridFilterState.d.ts +6 -6
  72. package/hooks/features/filter/gridFilterState.js +6 -0
  73. package/hooks/features/filter/useGridFilter.js +31 -10
  74. package/hooks/features/focus/useGridFocus.js +1 -0
  75. package/hooks/features/preferencesPanel/gridPreferencePanelState.d.ts +2 -0
  76. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
  77. package/hooks/features/rows/useGridRowsMeta.js +12 -13
  78. package/hooks/features/sorting/useGridSorting.js +2 -1
  79. package/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
  80. package/index.js +1 -1
  81. package/internals/utils/useProps.js +21 -1
  82. package/legacy/DataGrid/DataGrid.js +10 -3
  83. package/legacy/components/GridColumnHeaders.js +4 -9
  84. package/legacy/components/cell/GridActionsCell.js +3 -3
  85. package/legacy/components/cell/GridEditSingleSelectCell.js +5 -5
  86. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  87. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +13 -4
  88. package/legacy/components/containers/GridRoot.js +1 -3
  89. package/legacy/components/containers/GridRootStyles.js +8 -4
  90. package/legacy/components/index.js +1 -2
  91. package/legacy/components/panel/GridColumnsPanel.js +14 -0
  92. package/legacy/components/panel/GridPreferencesPanel.js +3 -1
  93. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +7 -7
  94. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +1 -5
  95. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +7 -6
  96. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +1 -5
  97. package/legacy/components/panel/filterPanel/GridFilterPanel.js +8 -0
  98. package/legacy/components/toolbar/GridToolbarColumnsButton.js +11 -5
  99. package/legacy/components/toolbar/GridToolbarDensitySelector.js +2 -2
  100. package/legacy/components/toolbar/GridToolbarExportContainer.js +7 -7
  101. package/legacy/components/toolbar/GridToolbarFilterButton.js +11 -4
  102. package/legacy/constants/gridClasses.js +1 -1
  103. package/legacy/constants/localeTextConstants.js +4 -4
  104. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
  105. package/legacy/hooks/features/filter/gridFilterSelector.js +4 -4
  106. package/legacy/hooks/features/filter/gridFilterState.js +6 -0
  107. package/legacy/hooks/features/filter/useGridFilter.js +31 -10
  108. package/legacy/hooks/features/focus/useGridFocus.js +1 -0
  109. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
  110. package/legacy/hooks/features/rows/useGridRowsMeta.js +13 -21
  111. package/legacy/hooks/features/sorting/useGridSorting.js +2 -1
  112. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
  113. package/legacy/index.js +1 -1
  114. package/legacy/internals/utils/useProps.js +23 -1
  115. package/legacy/locales/arSD.js +12 -12
  116. package/legacy/locales/beBY.js +12 -12
  117. package/legacy/locales/bgBG.js +12 -12
  118. package/legacy/locales/csCZ.js +25 -27
  119. package/legacy/locales/daDK.js +12 -12
  120. package/legacy/locales/deDE.js +25 -27
  121. package/legacy/locales/elGR.js +12 -12
  122. package/legacy/locales/esES.js +12 -12
  123. package/legacy/locales/faIR.js +12 -12
  124. package/legacy/locales/fiFI.js +12 -12
  125. package/legacy/locales/frFR.js +25 -27
  126. package/legacy/locales/heIL.js +12 -12
  127. package/legacy/locales/huHU.js +12 -12
  128. package/legacy/locales/itIT.js +12 -12
  129. package/legacy/locales/jaJP.js +12 -12
  130. package/legacy/locales/koKR.js +12 -12
  131. package/legacy/locales/nbNO.js +12 -12
  132. package/legacy/locales/nlNL.js +25 -27
  133. package/legacy/locales/plPL.js +12 -12
  134. package/legacy/locales/ptBR.js +12 -12
  135. package/legacy/locales/roRO.js +12 -12
  136. package/legacy/locales/ruRU.js +12 -12
  137. package/legacy/locales/skSK.js +12 -12
  138. package/legacy/locales/svSE.js +12 -12
  139. package/legacy/locales/trTR.js +18 -19
  140. package/legacy/locales/ukUA.js +12 -12
  141. package/legacy/locales/urPK.js +12 -12
  142. package/legacy/locales/viVN.js +12 -12
  143. package/legacy/locales/zhCN.js +12 -12
  144. package/legacy/locales/zhTW.js +12 -12
  145. package/legacy/models/gridFilterItem.js +1 -1
  146. package/legacy/utils/EventManager.js +2 -2
  147. package/locales/arSD.js +12 -12
  148. package/locales/beBY.js +12 -12
  149. package/locales/bgBG.js +12 -12
  150. package/locales/csCZ.js +25 -27
  151. package/locales/daDK.js +12 -12
  152. package/locales/deDE.js +25 -27
  153. package/locales/elGR.js +12 -12
  154. package/locales/esES.js +12 -12
  155. package/locales/faIR.js +12 -12
  156. package/locales/fiFI.js +12 -12
  157. package/locales/frFR.js +25 -27
  158. package/locales/heIL.js +12 -12
  159. package/locales/huHU.js +12 -12
  160. package/locales/itIT.js +12 -12
  161. package/locales/jaJP.js +12 -12
  162. package/locales/koKR.js +12 -12
  163. package/locales/nbNO.js +12 -12
  164. package/locales/nlNL.js +25 -27
  165. package/locales/plPL.js +12 -12
  166. package/locales/ptBR.js +12 -12
  167. package/locales/roRO.js +12 -12
  168. package/locales/ruRU.js +12 -12
  169. package/locales/skSK.js +12 -12
  170. package/locales/svSE.js +12 -12
  171. package/locales/trTR.js +18 -19
  172. package/locales/ukUA.js +12 -12
  173. package/locales/urPK.js +12 -12
  174. package/locales/viVN.js +12 -12
  175. package/locales/zhCN.js +12 -12
  176. package/locales/zhTW.js +12 -12
  177. package/material/components/MUISelectOption.d.ts +2 -2
  178. package/models/api/gridFilterApi.d.ts +3 -1
  179. package/models/api/gridPreferencesPanelApi.d.ts +3 -1
  180. package/models/events/gridEventLookup.d.ts +8 -0
  181. package/models/gridFilterItem.d.ts +1 -1
  182. package/models/gridFilterItem.js +1 -1
  183. package/models/gridFilterOperator.d.ts +1 -1
  184. package/models/gridStateCommunity.d.ts +2 -0
  185. package/models/props/DataGridProps.d.ts +5 -0
  186. package/modern/DataGrid/DataGrid.js +10 -3
  187. package/modern/components/GridColumnHeaders.js +4 -9
  188. package/modern/components/cell/GridActionsCell.js +3 -3
  189. package/modern/components/cell/GridEditSingleSelectCell.js +5 -5
  190. package/modern/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  191. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +13 -4
  192. package/modern/components/containers/GridRoot.js +1 -3
  193. package/modern/components/containers/GridRootStyles.js +8 -1
  194. package/modern/components/index.js +1 -2
  195. package/modern/components/panel/GridColumnsPanel.js +14 -0
  196. package/modern/components/panel/GridPreferencesPanel.js +3 -1
  197. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +6 -7
  198. package/modern/components/panel/filterPanel/GridFilterInputDate.js +1 -6
  199. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -6
  200. package/modern/components/panel/filterPanel/GridFilterInputValue.js +1 -6
  201. package/modern/components/panel/filterPanel/GridFilterPanel.js +8 -0
  202. package/modern/components/toolbar/GridToolbarColumnsButton.js +11 -6
  203. package/modern/components/toolbar/GridToolbarDensitySelector.js +2 -2
  204. package/modern/components/toolbar/GridToolbarExportContainer.js +7 -7
  205. package/modern/components/toolbar/GridToolbarFilterButton.js +11 -4
  206. package/modern/constants/gridClasses.js +1 -1
  207. package/modern/constants/localeTextConstants.js +4 -4
  208. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
  209. package/modern/hooks/features/filter/gridFilterSelector.js +2 -2
  210. package/modern/hooks/features/filter/gridFilterState.js +6 -0
  211. package/modern/hooks/features/filter/useGridFilter.js +31 -10
  212. package/modern/hooks/features/focus/useGridFocus.js +1 -0
  213. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
  214. package/modern/hooks/features/rows/useGridRowsMeta.js +12 -13
  215. package/modern/hooks/features/sorting/useGridSorting.js +2 -1
  216. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
  217. package/modern/index.js +1 -1
  218. package/modern/internals/utils/useProps.js +20 -1
  219. package/modern/locales/arSD.js +12 -12
  220. package/modern/locales/beBY.js +12 -12
  221. package/modern/locales/bgBG.js +12 -12
  222. package/modern/locales/csCZ.js +25 -27
  223. package/modern/locales/daDK.js +12 -12
  224. package/modern/locales/deDE.js +25 -27
  225. package/modern/locales/elGR.js +12 -12
  226. package/modern/locales/esES.js +12 -12
  227. package/modern/locales/faIR.js +12 -12
  228. package/modern/locales/fiFI.js +12 -12
  229. package/modern/locales/frFR.js +25 -27
  230. package/modern/locales/heIL.js +12 -12
  231. package/modern/locales/huHU.js +12 -12
  232. package/modern/locales/itIT.js +12 -12
  233. package/modern/locales/jaJP.js +12 -12
  234. package/modern/locales/koKR.js +12 -12
  235. package/modern/locales/nbNO.js +12 -12
  236. package/modern/locales/nlNL.js +25 -27
  237. package/modern/locales/plPL.js +12 -12
  238. package/modern/locales/ptBR.js +12 -12
  239. package/modern/locales/roRO.js +12 -12
  240. package/modern/locales/ruRU.js +12 -12
  241. package/modern/locales/skSK.js +12 -12
  242. package/modern/locales/svSE.js +12 -12
  243. package/modern/locales/trTR.js +18 -19
  244. package/modern/locales/ukUA.js +12 -12
  245. package/modern/locales/urPK.js +12 -12
  246. package/modern/locales/viVN.js +12 -12
  247. package/modern/locales/zhCN.js +12 -12
  248. package/modern/locales/zhTW.js +12 -12
  249. package/modern/models/gridFilterItem.js +1 -1
  250. package/modern/utils/EventManager.js +2 -2
  251. package/node/DataGrid/DataGrid.js +10 -3
  252. package/node/components/GridColumnHeaders.js +3 -8
  253. package/node/components/cell/GridActionsCell.js +3 -3
  254. package/node/components/cell/GridEditSingleSelectCell.js +5 -5
  255. package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  256. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +12 -3
  257. package/node/components/containers/GridRoot.js +1 -3
  258. package/node/components/containers/GridRootStyles.js +8 -1
  259. package/node/components/index.js +0 -11
  260. package/node/components/panel/GridColumnsPanel.js +14 -0
  261. package/node/components/panel/GridPreferencesPanel.js +3 -1
  262. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +6 -7
  263. package/node/components/panel/filterPanel/GridFilterInputDate.js +1 -6
  264. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -6
  265. package/node/components/panel/filterPanel/GridFilterInputValue.js +1 -6
  266. package/node/components/panel/filterPanel/GridFilterPanel.js +8 -0
  267. package/node/components/toolbar/GridToolbarColumnsButton.js +11 -6
  268. package/node/components/toolbar/GridToolbarDensitySelector.js +2 -2
  269. package/node/components/toolbar/GridToolbarExportContainer.js +7 -7
  270. package/node/components/toolbar/GridToolbarFilterButton.js +10 -3
  271. package/node/constants/gridClasses.js +1 -1
  272. package/node/constants/localeTextConstants.js +4 -4
  273. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
  274. package/node/hooks/features/filter/gridFilterSelector.js +2 -2
  275. package/node/hooks/features/filter/gridFilterState.js +6 -0
  276. package/node/hooks/features/filter/useGridFilter.js +35 -14
  277. package/node/hooks/features/focus/useGridFocus.js +1 -0
  278. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
  279. package/node/hooks/features/rows/useGridRowsMeta.js +12 -13
  280. package/node/hooks/features/sorting/useGridSorting.js +2 -1
  281. package/node/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
  282. package/node/index.js +1 -1
  283. package/node/internals/utils/useProps.js +20 -1
  284. package/node/locales/arSD.js +12 -12
  285. package/node/locales/beBY.js +12 -12
  286. package/node/locales/bgBG.js +12 -12
  287. package/node/locales/csCZ.js +25 -27
  288. package/node/locales/daDK.js +12 -12
  289. package/node/locales/deDE.js +25 -27
  290. package/node/locales/elGR.js +12 -12
  291. package/node/locales/esES.js +12 -12
  292. package/node/locales/faIR.js +12 -12
  293. package/node/locales/fiFI.js +12 -12
  294. package/node/locales/frFR.js +25 -27
  295. package/node/locales/heIL.js +12 -12
  296. package/node/locales/huHU.js +12 -12
  297. package/node/locales/itIT.js +12 -12
  298. package/node/locales/jaJP.js +12 -12
  299. package/node/locales/koKR.js +12 -12
  300. package/node/locales/nbNO.js +12 -12
  301. package/node/locales/nlNL.js +25 -27
  302. package/node/locales/plPL.js +12 -12
  303. package/node/locales/ptBR.js +12 -12
  304. package/node/locales/roRO.js +12 -12
  305. package/node/locales/ruRU.js +12 -12
  306. package/node/locales/skSK.js +12 -12
  307. package/node/locales/svSE.js +12 -12
  308. package/node/locales/trTR.js +18 -19
  309. package/node/locales/ukUA.js +12 -12
  310. package/node/locales/urPK.js +12 -12
  311. package/node/locales/viVN.js +12 -12
  312. package/node/locales/zhCN.js +12 -12
  313. package/node/locales/zhTW.js +12 -12
  314. package/node/models/gridFilterItem.js +1 -1
  315. package/node/utils/EventManager.js +2 -2
  316. package/package.json +4 -4
  317. package/themeAugmentation/overrides.d.ts +1 -1
  318. package/utils/EventManager.js +2 -2
  319. package/components/GridScrollArea.d.ts +0 -10
  320. package/components/GridScrollArea.js +0 -117
  321. package/legacy/components/GridScrollArea.js +0 -119
  322. package/legacy/lib/createDetectElementResize/index.js +0 -145
  323. package/lib/createDetectElementResize/index.d.ts +0 -18
  324. package/lib/createDetectElementResize/index.js +0 -145
  325. package/lib/createDetectElementResize/types.d.ts +0 -9
  326. package/modern/components/GridScrollArea.js +0 -117
  327. package/modern/lib/createDetectElementResize/index.js +0 -145
  328. package/node/components/GridScrollArea.js +0 -126
  329. package/node/lib/createDetectElementResize/index.js +0 -151
@@ -68,12 +68,12 @@ const skSKGrid = {
68
68
  filterOperatorIsEmpty: 'je prázdny',
69
69
  filterOperatorIsNotEmpty: 'nie je prázdny',
70
70
  filterOperatorIsAnyOf: 'je jeden z',
71
- // filterOperator=: '=',
72
- // filterOperator!=: '!=',
73
- // filterOperator>: '>',
74
- // filterOperator>=: '>=',
75
- // filterOperator<: '<',
76
- // filterOperator<=: '<=',
71
+ // 'filterOperator=': '=',
72
+ // 'filterOperator!=': '!=',
73
+ // 'filterOperator>': '>',
74
+ // 'filterOperator>=': '>=',
75
+ // 'filterOperator<': '<',
76
+ // 'filterOperator<=': '<=',
77
77
 
78
78
  // Header filter operators text
79
79
  // headerFilterOperatorContains: 'Contains',
@@ -89,12 +89,12 @@ const skSKGrid = {
89
89
  // headerFilterOperatorIsEmpty: 'Is empty',
90
90
  // headerFilterOperatorIsNotEmpty: 'Is not empty',
91
91
  // headerFilterOperatorIsAnyOf: 'Is any of',
92
- // headerFilterOperator=: 'Equals',
93
- // headerFilterOperator!=: 'Not equals',
94
- // headerFilterOperator>: 'Is greater than',
95
- // headerFilterOperator>=: 'Is greater than or equal to',
96
- // headerFilterOperator<: 'Is less than',
97
- // headerFilterOperator<=: 'Is less than or equal to',
92
+ // 'headerFilterOperator=': 'Equals',
93
+ // 'headerFilterOperator!=': 'Not equals',
94
+ // 'headerFilterOperator>': 'Greater than',
95
+ // 'headerFilterOperator>=': 'Greater than or equal to',
96
+ // 'headerFilterOperator<': 'Less than',
97
+ // 'headerFilterOperator<=': 'Less than or equal to',
98
98
 
99
99
  // Filter values text
100
100
  filterValueAny: 'akýkoľvek',
@@ -60,12 +60,12 @@ const svSEGrid = {
60
60
  filterOperatorIsEmpty: 'är tom',
61
61
  filterOperatorIsNotEmpty: 'är inte tom',
62
62
  filterOperatorIsAnyOf: 'är någon av',
63
- // filterOperator=: '=',
64
- // filterOperator!=: '!=',
65
- // filterOperator>: '>',
66
- // filterOperator>=: '>=',
67
- // filterOperator<: '<',
68
- // filterOperator<=: '<=',
63
+ // 'filterOperator=': '=',
64
+ // 'filterOperator!=': '!=',
65
+ // 'filterOperator>': '>',
66
+ // 'filterOperator>=': '>=',
67
+ // 'filterOperator<': '<',
68
+ // 'filterOperator<=': '<=',
69
69
 
70
70
  // Header filter operators text
71
71
  // headerFilterOperatorContains: 'Contains',
@@ -81,12 +81,12 @@ const svSEGrid = {
81
81
  // headerFilterOperatorIsEmpty: 'Is empty',
82
82
  // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
83
  // headerFilterOperatorIsAnyOf: 'Is any of',
84
- // headerFilterOperator=: 'Equals',
85
- // headerFilterOperator!=: 'Not equals',
86
- // headerFilterOperator>: 'Is greater than',
87
- // headerFilterOperator>=: 'Is greater than or equal to',
88
- // headerFilterOperator<: 'Is less than',
89
- // headerFilterOperator<=: 'Is less than or equal to',
84
+ // 'headerFilterOperator=': 'Equals',
85
+ // 'headerFilterOperator!=': 'Not equals',
86
+ // 'headerFilterOperator>': 'Greater than',
87
+ // 'headerFilterOperator>=': 'Greater than or equal to',
88
+ // 'headerFilterOperator<': 'Less than',
89
+ // 'headerFilterOperator<=': 'Less than or equal to',
90
90
 
91
91
  // Filter values text
92
92
  filterValueAny: 'något',
@@ -60,18 +60,17 @@ const trTRGrid = {
60
60
  filterOperatorIsEmpty: 'boş',
61
61
  filterOperatorIsNotEmpty: 'dolu',
62
62
  filterOperatorIsAnyOf: 'herhangi biri',
63
- // filterOperator=: '=',
64
- // filterOperator!=: '!=',
65
- // filterOperator>: '>',
66
- // filterOperator>=: '>=',
67
- // filterOperator<: '<',
68
- // filterOperator<=: '<=',
69
-
63
+ 'filterOperator=': '=',
64
+ 'filterOperator!=': '!=',
65
+ 'filterOperator>': '>',
66
+ 'filterOperator>=': '>=',
67
+ 'filterOperator<': '<',
68
+ 'filterOperator<=': '<=',
70
69
  // Header filter operators text
71
- // headerFilterOperatorContains: 'Contains',
72
- // headerFilterOperatorEquals: 'Equals',
73
- // headerFilterOperatorStartsWith: 'Starts with',
74
- // headerFilterOperatorEndsWith: 'Ends with',
70
+ headerFilterOperatorContains: 'Şunu içerir',
71
+ headerFilterOperatorEquals: 'Şuna eşittir',
72
+ headerFilterOperatorStartsWith: 'Şununla başlar',
73
+ headerFilterOperatorEndsWith: 'Şununla biter',
75
74
  // headerFilterOperatorIs: 'Is',
76
75
  // headerFilterOperatorNot: 'Is not',
77
76
  // headerFilterOperatorAfter: 'Is after',
@@ -81,12 +80,12 @@ const trTRGrid = {
81
80
  // headerFilterOperatorIsEmpty: 'Is empty',
82
81
  // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
82
  // headerFilterOperatorIsAnyOf: 'Is any of',
84
- // headerFilterOperator=: 'Equals',
85
- // headerFilterOperator!=: 'Not equals',
86
- // headerFilterOperator>: 'Is greater than',
87
- // headerFilterOperator>=: 'Is greater than or equal to',
88
- // headerFilterOperator<: 'Is less than',
89
- // headerFilterOperator<=: 'Is less than or equal to',
83
+ // 'headerFilterOperator=': 'Equals',
84
+ // 'headerFilterOperator!=': 'Not equals',
85
+ // 'headerFilterOperator>': 'Greater than',
86
+ // 'headerFilterOperator>=': 'Greater than or equal to',
87
+ // 'headerFilterOperator<': 'Less than',
88
+ // 'headerFilterOperator<=': 'Less than or equal to',
90
89
 
91
90
  // Filter values text
92
91
  filterValueAny: 'herhangi',
@@ -96,9 +95,9 @@ const trTRGrid = {
96
95
  columnMenuLabel: 'Menü',
97
96
  columnMenuShowColumns: 'Sütunları göster',
98
97
  columnMenuManageColumns: 'Sütunları yönet',
99
- columnMenuFilter: 'Filtre uygula',
98
+ columnMenuFilter: 'Filtre Ekle',
100
99
  columnMenuHideColumn: 'Gizle',
101
- columnMenuUnsort: 'Sıralama',
100
+ columnMenuUnsort: 'Varsayılan Sıralama',
102
101
  columnMenuSortAsc: 'Sırala - Artan',
103
102
  columnMenuSortDesc: 'Sırala - Azalan',
104
103
  // Column header text
@@ -74,12 +74,12 @@ const ukUAGrid = {
74
74
  filterOperatorIsEmpty: 'порожній',
75
75
  filterOperatorIsNotEmpty: 'не порожній',
76
76
  filterOperatorIsAnyOf: 'будь-що із',
77
- // filterOperator=: '=',
78
- // filterOperator!=: '!=',
79
- // filterOperator>: '>',
80
- // filterOperator>=: '>=',
81
- // filterOperator<: '<',
82
- // filterOperator<=: '<=',
77
+ // 'filterOperator=': '=',
78
+ // 'filterOperator!=': '!=',
79
+ // 'filterOperator>': '>',
80
+ // 'filterOperator>=': '>=',
81
+ // 'filterOperator<': '<',
82
+ // 'filterOperator<=': '<=',
83
83
 
84
84
  // Header filter operators text
85
85
  // headerFilterOperatorContains: 'Contains',
@@ -95,12 +95,12 @@ const ukUAGrid = {
95
95
  // headerFilterOperatorIsEmpty: 'Is empty',
96
96
  // headerFilterOperatorIsNotEmpty: 'Is not empty',
97
97
  // headerFilterOperatorIsAnyOf: 'Is any of',
98
- // headerFilterOperator=: 'Equals',
99
- // headerFilterOperator!=: 'Not equals',
100
- // headerFilterOperator>: 'Is greater than',
101
- // headerFilterOperator>=: 'Is greater than or equal to',
102
- // headerFilterOperator<: 'Is less than',
103
- // headerFilterOperator<=: 'Is less than or equal to',
98
+ // 'headerFilterOperator=': 'Equals',
99
+ // 'headerFilterOperator!=': 'Not equals',
100
+ // 'headerFilterOperator>': 'Greater than',
101
+ // 'headerFilterOperator>=': 'Greater than or equal to',
102
+ // 'headerFilterOperator<': 'Less than',
103
+ // 'headerFilterOperator<=': 'Less than or equal to',
104
104
 
105
105
  // Filter values text
106
106
  filterValueAny: 'будь-який',
@@ -60,12 +60,12 @@ const urPKGrid = {
60
60
  filterOperatorIsEmpty: 'خالی ہے',
61
61
  filterOperatorIsNotEmpty: 'خالی نہیں ہے',
62
62
  filterOperatorIsAnyOf: 'ان میں سے کوئی ہے',
63
- // filterOperator=: '=',
64
- // filterOperator!=: '!=',
65
- // filterOperator>: '>',
66
- // filterOperator>=: '>=',
67
- // filterOperator<: '<',
68
- // filterOperator<=: '<=',
63
+ // 'filterOperator=': '=',
64
+ // 'filterOperator!=': '!=',
65
+ // 'filterOperator>': '>',
66
+ // 'filterOperator>=': '>=',
67
+ // 'filterOperator<': '<',
68
+ // 'filterOperator<=': '<=',
69
69
 
70
70
  // Header filter operators text
71
71
  // headerFilterOperatorContains: 'Contains',
@@ -81,12 +81,12 @@ const urPKGrid = {
81
81
  // headerFilterOperatorIsEmpty: 'Is empty',
82
82
  // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
83
  // headerFilterOperatorIsAnyOf: 'Is any of',
84
- // headerFilterOperator=: 'Equals',
85
- // headerFilterOperator!=: 'Not equals',
86
- // headerFilterOperator>: 'Is greater than',
87
- // headerFilterOperator>=: 'Is greater than or equal to',
88
- // headerFilterOperator<: 'Is less than',
89
- // headerFilterOperator<=: 'Is less than or equal to',
84
+ // 'headerFilterOperator=': 'Equals',
85
+ // 'headerFilterOperator!=': 'Not equals',
86
+ // 'headerFilterOperator>': 'Greater than',
87
+ // 'headerFilterOperator>=': 'Greater than or equal to',
88
+ // 'headerFilterOperator<': 'Less than',
89
+ // 'headerFilterOperator<=': 'Less than or equal to',
90
90
 
91
91
  // Filter values text
92
92
  filterValueAny: 'کوئی بھی',
@@ -60,12 +60,12 @@ const viVNGrid = {
60
60
  filterOperatorIsEmpty: 'Rỗng',
61
61
  filterOperatorIsNotEmpty: 'Khác rỗng',
62
62
  // filterOperatorIsAnyOf: 'is any of',
63
- // filterOperator=: '=',
64
- // filterOperator!=: '!=',
65
- // filterOperator>: '>',
66
- // filterOperator>=: '>=',
67
- // filterOperator<: '<',
68
- // filterOperator<=: '<=',
63
+ // 'filterOperator=': '=',
64
+ // 'filterOperator!=': '!=',
65
+ // 'filterOperator>': '>',
66
+ // 'filterOperator>=': '>=',
67
+ // 'filterOperator<': '<',
68
+ // 'filterOperator<=': '<=',
69
69
 
70
70
  // Header filter operators text
71
71
  // headerFilterOperatorContains: 'Contains',
@@ -81,12 +81,12 @@ const viVNGrid = {
81
81
  // headerFilterOperatorIsEmpty: 'Is empty',
82
82
  // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
83
  // headerFilterOperatorIsAnyOf: 'Is any of',
84
- // headerFilterOperator=: 'Equals',
85
- // headerFilterOperator!=: 'Not equals',
86
- // headerFilterOperator>: 'Is greater than',
87
- // headerFilterOperator>=: 'Is greater than or equal to',
88
- // headerFilterOperator<: 'Is less than',
89
- // headerFilterOperator<=: 'Is less than or equal to',
84
+ // 'headerFilterOperator=': 'Equals',
85
+ // 'headerFilterOperator!=': 'Not equals',
86
+ // 'headerFilterOperator>': 'Greater than',
87
+ // 'headerFilterOperator>=': 'Greater than or equal to',
88
+ // 'headerFilterOperator<': 'Less than',
89
+ // 'headerFilterOperator<=': 'Less than or equal to',
90
90
 
91
91
  // Filter values text
92
92
  filterValueAny: 'bất kỳ giá trị nào',
@@ -60,12 +60,12 @@ const zhCNGrid = {
60
60
  filterOperatorIsEmpty: '为空',
61
61
  filterOperatorIsNotEmpty: '不为空',
62
62
  filterOperatorIsAnyOf: '属于',
63
- // filterOperator=: '=',
64
- // filterOperator!=: '!=',
65
- // filterOperator>: '>',
66
- // filterOperator>=: '>=',
67
- // filterOperator<: '<',
68
- // filterOperator<=: '<=',
63
+ // 'filterOperator=': '=',
64
+ // 'filterOperator!=': '!=',
65
+ // 'filterOperator>': '>',
66
+ // 'filterOperator>=': '>=',
67
+ // 'filterOperator<': '<',
68
+ // 'filterOperator<=': '<=',
69
69
 
70
70
  // Header filter operators text
71
71
  // headerFilterOperatorContains: 'Contains',
@@ -81,12 +81,12 @@ const zhCNGrid = {
81
81
  // headerFilterOperatorIsEmpty: 'Is empty',
82
82
  // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
83
  // headerFilterOperatorIsAnyOf: 'Is any of',
84
- // headerFilterOperator=: 'Equals',
85
- // headerFilterOperator!=: 'Not equals',
86
- // headerFilterOperator>: 'Is greater than',
87
- // headerFilterOperator>=: 'Is greater than or equal to',
88
- // headerFilterOperator<: 'Is less than',
89
- // headerFilterOperator<=: 'Is less than or equal to',
84
+ // 'headerFilterOperator=': 'Equals',
85
+ // 'headerFilterOperator!=': 'Not equals',
86
+ // 'headerFilterOperator>': 'Greater than',
87
+ // 'headerFilterOperator>=': 'Greater than or equal to',
88
+ // 'headerFilterOperator<': 'Less than',
89
+ // 'headerFilterOperator<=': 'Less than or equal to',
90
90
 
91
91
  // Filter values text
92
92
  filterValueAny: '任何',
@@ -60,12 +60,12 @@ const zhTWGrid = {
60
60
  filterOperatorIsEmpty: '為空',
61
61
  filterOperatorIsNotEmpty: '不為空',
62
62
  filterOperatorIsAnyOf: '是其中之一',
63
- // filterOperator=: '=',
64
- // filterOperator!=: '!=',
65
- // filterOperator>: '>',
66
- // filterOperator>=: '>=',
67
- // filterOperator<: '<',
68
- // filterOperator<=: '<=',
63
+ // 'filterOperator=': '=',
64
+ // 'filterOperator!=': '!=',
65
+ // 'filterOperator>': '>',
66
+ // 'filterOperator>=': '>=',
67
+ // 'filterOperator<': '<',
68
+ // 'filterOperator<=': '<=',
69
69
 
70
70
  // Header filter operators text
71
71
  // headerFilterOperatorContains: 'Contains',
@@ -81,12 +81,12 @@ const zhTWGrid = {
81
81
  // headerFilterOperatorIsEmpty: 'Is empty',
82
82
  // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
83
  // headerFilterOperatorIsAnyOf: 'Is any of',
84
- // headerFilterOperator=: 'Equals',
85
- // headerFilterOperator!=: 'Not equals',
86
- // headerFilterOperator>: 'Is greater than',
87
- // headerFilterOperator>=: 'Is greater than or equal to',
88
- // headerFilterOperator<: 'Is less than',
89
- // headerFilterOperator<=: 'Is less than or equal to',
84
+ // 'headerFilterOperator=': 'Equals',
85
+ // 'headerFilterOperator!=': 'Not equals',
86
+ // 'headerFilterOperator>': 'Greater than',
87
+ // 'headerFilterOperator>=': 'Greater than or equal to',
88
+ // 'headerFilterOperator<': 'Less than',
89
+ // 'headerFilterOperator<=': 'Less than or equal to',
90
90
 
91
91
  // Filter values text
92
92
  filterValueAny: '任何值',
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Filter item definition interface.
3
3
  * @demos
4
- * - [Custom filter operator](/x/react-data-grid/filtering/#create-a-custom-operator)
4
+ * - [Custom filter operator](/x/react-data-grid/filtering/customization/#create-a-custom-operator)
5
5
  */
6
6
  var GridLogicOperator = /*#__PURE__*/function (GridLogicOperator) {
7
7
  GridLogicOperator["And"] = "and";
@@ -3,7 +3,7 @@
3
3
  // the Node.js (https://nodejs.org/api/events.html) polyfill used by webpack.
4
4
  export class EventManager {
5
5
  constructor() {
6
- this.maxListeners = 10;
6
+ this.maxListeners = 20;
7
7
  this.warnOnce = false;
8
8
  this.events = {};
9
9
  }
@@ -25,7 +25,7 @@ export class EventManager {
25
25
  const collectionSize = collection.highPriority.size + collection.regular.size;
26
26
  if (collectionSize > this.maxListeners && !this.warnOnce) {
27
27
  this.warnOnce = true;
28
- console.warn([`Possible EventEmitter memory leak detected. ${collectionSize} ${eventName} listeners added.`, `Use emitter.setMaxListeners() to increase limit.`].join('\n'));
28
+ console.warn([`Possible EventEmitter memory leak detected. ${collectionSize} ${eventName} listeners added.`].join('\n'));
29
29
  }
30
30
  }
31
31
  }
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.DataGrid = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var React = _interopRequireWildcard(require("react"));
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
11
  var _utils = require("@mui/utils");
@@ -22,15 +23,16 @@ const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref
22
23
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridContextProvider.GridContextProvider, {
23
24
  privateApiRef: privateApiRef,
24
25
  props: props,
25
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.GridRoot, {
26
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.GridRoot, (0, _extends2.default)({
26
27
  className: props.className,
27
28
  style: props.style,
28
29
  sx: props.sx,
29
- ref: ref,
30
+ ref: ref
31
+ }, props.forwardedProps, {
30
32
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridHeader, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridBody, {
31
33
  VirtualScrollerComponent: _DataGridVirtualScroller.DataGridVirtualScroller
32
34
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridFooterPlaceholder, {})]
33
- })
35
+ }))
34
36
  });
35
37
  });
36
38
  const DataGrid = /*#__PURE__*/React.memo(DataGridRaw);
@@ -191,6 +193,11 @@ DataGridRaw.propTypes = {
191
193
  quickFilterLogicOperator: _propTypes.default.oneOf(['and', 'or']),
192
194
  quickFilterValues: _propTypes.default.array
193
195
  }),
196
+ /**
197
+ * Forwarded props for the grid root element.
198
+ * @ignore - do not document.
199
+ */
200
+ forwardedProps: _propTypes.default.object,
194
201
  /**
195
202
  * Function that applies CSS classes dynamically on cells.
196
203
  * @param {GridCellParams} params With all properties from [[GridCellParams]].
@@ -10,7 +10,6 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _useGridColumnHeaders = require("../hooks/features/columnHeaders/useGridColumnHeaders");
13
- var _GridScrollArea = require("./GridScrollArea");
14
13
  var _GridBaseColumnHeaders = require("./columnHeaders/GridBaseColumnHeaders");
15
14
  var _GridColumnHeadersInner = require("./columnHeaders/GridColumnHeadersInner");
16
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -59,18 +58,14 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
59
58
  columnGroupsHeaderStructure,
60
59
  hasOtherElementInTabSequence
61
60
  });
62
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridBaseColumnHeaders.GridBaseColumnHeaders, (0, _extends2.default)({
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBaseColumnHeaders.GridBaseColumnHeaders, (0, _extends2.default)({
63
62
  ref: ref
64
63
  }, getRootProps(other), {
65
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, {
66
- scrollDirection: "left"
67
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridColumnHeadersInner.GridColumnHeadersInner, (0, _extends2.default)({
64
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridColumnHeadersInner.GridColumnHeadersInner, (0, _extends2.default)({
68
65
  isDragging: isDragging
69
66
  }, getInnerProps(), {
70
67
  children: [getColumnGroupHeaders(), getColumnHeaders()]
71
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, {
72
- scrollDirection: "right"
73
- })]
68
+ }))
74
69
  }));
75
70
  });
76
71
  exports.GridColumnHeaders = GridColumnHeaders;
@@ -160,9 +160,9 @@ function GridActionsCell(props) {
160
160
  ref: buttonRef,
161
161
  id: buttonId,
162
162
  "aria-label": apiRef.current.getLocaleText('actionsCellMore'),
163
- "aria-controls": menuId,
164
- "aria-expanded": open ? 'true' : undefined,
165
- "aria-haspopup": "true",
163
+ "aria-haspopup": "menu",
164
+ "aria-expanded": open,
165
+ "aria-controls": open ? menuId : undefined,
166
166
  role: "menuitem",
167
167
  size: "small",
168
168
  onClick: showMenu,
@@ -11,6 +11,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _utils = require("@mui/utils");
14
+ var _gridEditCellParams = require("../../models/params/gridEditCellParams");
14
15
  var _keyboardUtils = require("../../utils/keyboardUtils");
15
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
17
  var _gridEditRowModel = require("../../models/gridEditRowModel");
@@ -97,11 +98,10 @@ function GridEditSingleSelectCell(props) {
97
98
  return;
98
99
  }
99
100
  if (reason === 'backdropClick' || (0, _keyboardUtils.isEscapeKey)(event.key)) {
100
- apiRef.current.stopCellEditMode({
101
- id,
102
- field,
103
- ignoreModifications: true
104
- });
101
+ const params = apiRef.current.getCellParams(id, field);
102
+ apiRef.current.publishEvent('cellEditStop', (0, _extends2.default)({}, params, {
103
+ reason: (0, _keyboardUtils.isEscapeKey)(event.key) ? _gridEditCellParams.GridCellEditStopReasons.escapeKeyDown : _gridEditCellParams.GridCellEditStopReasons.cellFocusOut
104
+ }));
105
105
  }
106
106
  };
107
107
  const handleOpen = event => {
@@ -57,9 +57,9 @@ const ColumnHeaderMenuIcon = /*#__PURE__*/React.memo(props => {
57
57
  "aria-label": apiRef.current.getLocaleText('columnMenuLabel'),
58
58
  size: "small",
59
59
  onClick: handleMenuIconClick,
60
- "aria-expanded": open ? 'true' : undefined,
61
- "aria-haspopup": "true",
62
- "aria-controls": columnMenuId,
60
+ "aria-haspopup": "menu",
61
+ "aria-expanded": open,
62
+ "aria-controls": open ? columnMenuId : undefined,
63
63
  id: columnMenuButtonId
64
64
  }, rootProps.slotProps?.baseIconButton, {
65
65
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnMenuIcon, {
@@ -10,6 +10,7 @@ var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _utils = require("@mui/utils");
12
12
  var _Badge = _interopRequireDefault(require("@mui/material/Badge"));
13
+ var _hooks = require("../../hooks");
13
14
  var _gridPreferencePanelSelector = require("../../hooks/features/preferencesPanel/gridPreferencePanelSelector");
14
15
  var _gridPreferencePanelsValue = require("../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
15
16
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
@@ -40,6 +41,9 @@ function GridColumnHeaderFilterIconButton(props) {
40
41
  classes: rootProps.classes
41
42
  });
42
43
  const classes = useUtilityClasses(ownerState);
44
+ const preferencePanel = (0, _hooks.useGridSelector)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelStateSelector);
45
+ const labelId = (0, _utils.unstable_useId)();
46
+ const panelId = (0, _utils.unstable_useId)();
43
47
  const toggleFilter = React.useCallback(event => {
44
48
  event.preventDefault();
45
49
  event.stopPropagation();
@@ -50,21 +54,26 @@ function GridColumnHeaderFilterIconButton(props) {
50
54
  if (open && openedPanelValue === _gridPreferencePanelsValue.GridPreferencePanelsValue.filters) {
51
55
  apiRef.current.hideFilterPanel();
52
56
  } else {
53
- apiRef.current.showFilterPanel();
57
+ apiRef.current.showFilterPanel(undefined, panelId, labelId);
54
58
  }
55
59
  if (onClick) {
56
60
  onClick(apiRef.current.getColumnHeaderParams(field), event);
57
61
  }
58
- }, [apiRef, field, onClick]);
62
+ }, [apiRef, field, onClick, panelId, labelId]);
59
63
  if (!counter) {
60
64
  return null;
61
65
  }
66
+ const open = preferencePanel.open && preferencePanel.labelId === labelId;
62
67
  const iconButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
68
+ id: labelId,
63
69
  onClick: toggleFilter,
64
70
  color: "default",
65
71
  "aria-label": apiRef.current.getLocaleText('columnHeaderFiltersLabel'),
66
72
  size: "small",
67
- tabIndex: -1
73
+ tabIndex: -1,
74
+ "aria-haspopup": "menu",
75
+ "aria-expanded": open,
76
+ "aria-controls": open ? panelId : undefined
68
77
  }, rootProps.slotProps?.baseIconButton, {
69
78
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnFilteredIcon, {
70
79
  className: classes.icon,
@@ -73,9 +73,7 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
73
73
  role: "grid",
74
74
  "aria-colcount": visibleColumns.length,
75
75
  "aria-rowcount": headerGroupingMaxDepth + 1 + pinnedRowsCount + totalRowCount,
76
- "aria-multiselectable": !rootProps.disableMultipleRowSelection,
77
- "aria-label": rootProps['aria-label'],
78
- "aria-labelledby": rootProps['aria-labelledby']
76
+ "aria-multiselectable": !rootProps.disableMultipleRowSelection
79
77
  }, other, {
80
78
  children: children
81
79
  }));
@@ -84,6 +84,8 @@ const GridRootStyles = (0, _styles.styled)('div', {
84
84
  [`& .${_gridClasses.gridClasses['columnHeader--sorted']}`]: styles['columnHeader--sorted']
85
85
  }, {
86
86
  [`& .${_gridClasses.gridClasses.columnHeader}`]: styles.columnHeader
87
+ }, {
88
+ [`& .${_gridClasses.gridClasses.headerFilterRow}`]: styles.headerFilterRow
87
89
  }, {
88
90
  [`& .${_gridClasses.gridClasses.columnHeaderCheckbox}`]: styles.columnHeaderCheckbox
89
91
  }, {
@@ -156,7 +158,9 @@ const GridRootStyles = (0, _styles.styled)('div', {
156
158
  outline: 'none',
157
159
  height: '100%',
158
160
  display: 'flex',
159
- overflow: 'hidden',
161
+ minWidth: 0,
162
+ // See https://github.com/mui/mui-x/issues/8547
163
+ minHeight: 0,
160
164
  flexDirection: 'column',
161
165
  overflowAnchor: 'none',
162
166
  // Keep the same scrolling position
@@ -234,6 +238,9 @@ const GridRootStyles = (0, _styles.styled)('div', {
234
238
  borderBottomStyle: 'solid',
235
239
  boxSizing: 'border-box'
236
240
  },
241
+ [`& .${_gridClasses.gridClasses.headerFilterRow}`]: {
242
+ borderTop: `1px solid ${borderColor}`
243
+ },
237
244
  [`& .${_gridClasses.gridClasses.sortIcon}, & .${_gridClasses.gridClasses.filterIcon}`]: {
238
245
  fontSize: 'inherit'
239
246
  },
@@ -200,15 +200,4 @@ Object.keys(_GridSelectedRowCount).forEach(function (key) {
200
200
  return _GridSelectedRowCount[key];
201
201
  }
202
202
  });
203
- });
204
- var _GridScrollArea = require("./GridScrollArea");
205
- Object.keys(_GridScrollArea).forEach(function (key) {
206
- if (key === "default" || key === "__esModule") return;
207
- if (key in exports && exports[key] === _GridScrollArea[key]) return;
208
- Object.defineProperty(exports, key, {
209
- enumerable: true,
210
- get: function () {
211
- return _GridScrollArea[key];
212
- }
213
- });
214
203
  });
@@ -202,8 +202,22 @@ process.env.NODE_ENV !== "production" ? GridColumnsPanel.propTypes = {
202
202
  // | These PropTypes are generated from the TypeScript type definitions |
203
203
  // | To update them edit the TypeScript types and run "yarn proptypes" |
204
204
  // ----------------------------------------------------------------------
205
+ /**
206
+ * If `true`, the column search field will be focused automatically.
207
+ * If `false`, the first column switch input will be focused automatically.
208
+ * This helps to avoid input keyboard panel to popup automatically on touch devices.
209
+ * @default true
210
+ */
205
211
  autoFocusSearchField: _propTypes.default.bool,
212
+ /**
213
+ * If `true`, the `Hide all` button will not be displayed.
214
+ * @default false
215
+ */
206
216
  disableHideAllButton: _propTypes.default.bool,
217
+ /**
218
+ * If `true`, the `Show all` button will be disabled
219
+ * @default false
220
+ */
207
221
  disableShowAllButton: _propTypes.default.bool,
208
222
  /**
209
223
  * Returns the list of togglable columns.
@@ -25,7 +25,9 @@ const GridPreferencesPanel = /*#__PURE__*/React.forwardRef(function GridPreferen
25
25
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.panel, (0, _extends2.default)({
26
26
  ref: ref,
27
27
  as: rootProps.slots.basePopper,
28
- open: columns.length > 0 && preferencePanelState.open
28
+ open: columns.length > 0 && preferencePanelState.open,
29
+ id: preferencePanelState.panelId,
30
+ "aria-labelledby": preferencePanelState.labelId
29
31
  }, rootProps.slotProps?.panel, props, rootProps.slotProps?.basePopper, {
30
32
  children: panelContent
31
33
  }));