@mui/x-data-grid 6.4.0 → 6.6.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 (403) hide show
  1. package/CHANGELOG.md +134 -2
  2. package/DataGrid/DataGrid.js +10 -3
  3. package/DataGrid/useDataGridProps.js +5 -12
  4. package/README.md +2 -2
  5. package/colDef/gridNumericOperators.js +0 -6
  6. package/components/GridColumnHeaders.js +4 -9
  7. package/components/GridHeader.d.ts +2 -2
  8. package/components/base/GridBody.d.ts +1 -1
  9. package/components/base/GridFooterPlaceholder.d.ts +2 -2
  10. package/components/base/GridOverlays.d.ts +2 -2
  11. package/components/cell/GridActionsCell.d.ts +3 -3
  12. package/components/cell/GridActionsCell.js +3 -3
  13. package/components/cell/GridBooleanCell.d.ts +1 -1
  14. package/components/cell/GridEditBooleanCell.d.ts +2 -2
  15. package/components/cell/GridEditDateCell.d.ts +2 -2
  16. package/components/cell/GridEditInputCell.d.ts +1 -1
  17. package/components/cell/GridEditInputCell.js +4 -1
  18. package/components/cell/GridEditSingleSelectCell.d.ts +3 -3
  19. package/components/cell/GridEditSingleSelectCell.js +5 -5
  20. package/components/cell/GridSkeletonCell.d.ts +1 -1
  21. package/components/columnHeaders/ColumnHeaderMenuIcon.d.ts +1 -1
  22. package/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  23. package/components/columnHeaders/GridColumnGroupHeader.d.ts +2 -2
  24. package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +1 -1
  25. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +13 -4
  26. package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -2
  27. package/components/columnHeaders/GridColumnHeaderSeparator.d.ts +1 -1
  28. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -1
  29. package/components/columnHeaders/GridColumnHeaderTitle.d.ts +1 -1
  30. package/components/containers/GridRoot.js +1 -3
  31. package/components/index.d.ts +0 -1
  32. package/components/index.js +1 -2
  33. package/components/menu/GridMenu.d.ts +1 -1
  34. package/components/menu/columnMenu/GridColumnHeaderMenu.d.ts +1 -1
  35. package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.d.ts +2 -2
  36. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.d.ts +2 -2
  37. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.d.ts +2 -2
  38. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.d.ts +2 -2
  39. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.d.ts +2 -2
  40. package/components/panel/GridColumnsPanel.d.ts +2 -2
  41. package/components/panel/GridPanelContent.d.ts +1 -1
  42. package/components/panel/GridPanelFooter.d.ts +1 -1
  43. package/components/panel/GridPanelHeader.d.ts +1 -1
  44. package/components/panel/GridPreferencesPanel.js +3 -1
  45. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +15 -2
  46. package/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  47. package/components/panel/filterPanel/GridFilterInputDate.d.ts +9 -2
  48. package/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  49. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  50. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  51. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +9 -2
  52. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +56 -32
  53. package/components/panel/filterPanel/GridFilterInputValue.d.ts +11 -4
  54. package/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  55. package/components/panel/filterPanel/GridFilterPanel.d.ts +2 -1
  56. package/components/panel/filterPanel/GridFilterPanel.js +1 -1
  57. package/components/panel/filterPanel/index.d.ts +3 -1
  58. package/components/panel/filterPanel/index.js +2 -1
  59. package/components/toolbar/GridToolbarColumnsButton.js +11 -6
  60. package/components/toolbar/GridToolbarDensitySelector.js +2 -2
  61. package/components/toolbar/GridToolbarExport.d.ts +2 -2
  62. package/components/toolbar/GridToolbarExportContainer.js +7 -7
  63. package/components/toolbar/GridToolbarFilterButton.js +11 -4
  64. package/components/toolbar/GridToolbarQuickFilter.d.ts +2 -2
  65. package/constants/localeTextConstants.js +26 -0
  66. package/context/GridContextProvider.d.ts +1 -1
  67. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +10 -2
  68. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
  69. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +10 -3
  70. package/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  71. package/hooks/features/dimensions/useGridDimensions.js +2 -2
  72. package/hooks/features/editing/useGridEditing.js +0 -3
  73. package/hooks/features/filter/gridFilterSelector.d.ts +2 -2
  74. package/hooks/features/filter/gridFilterSelector.js +2 -2
  75. package/hooks/features/filter/gridFilterState.d.ts +6 -6
  76. package/hooks/features/filter/gridFilterState.js +6 -0
  77. package/hooks/features/filter/useGridFilter.js +29 -9
  78. package/hooks/features/focus/gridFocusState.d.ts +2 -0
  79. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -0
  80. package/hooks/features/focus/gridFocusStateSelector.js +6 -0
  81. package/hooks/features/focus/useGridFocus.js +55 -9
  82. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +4 -0
  83. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  84. package/hooks/features/headerFiltering/index.d.ts +1 -0
  85. package/hooks/features/headerFiltering/index.js +1 -0
  86. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +6 -0
  87. package/hooks/features/headerFiltering/useGridHeaderFiltering.js +91 -0
  88. package/hooks/features/index.d.ts +1 -0
  89. package/hooks/features/index.js +2 -1
  90. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  91. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  92. package/hooks/features/preferencesPanel/gridPreferencePanelState.d.ts +2 -0
  93. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
  94. package/hooks/features/rows/useGridRows.js +16 -1
  95. package/hooks/features/rows/useGridRowsMeta.js +11 -12
  96. package/index.js +1 -1
  97. package/internals/index.d.ts +6 -1
  98. package/internals/index.js +4 -0
  99. package/internals/utils/index.d.ts +1 -0
  100. package/internals/utils/index.js +2 -1
  101. package/internals/utils/useProps.d.ts +8 -0
  102. package/internals/utils/useProps.js +33 -0
  103. package/legacy/DataGrid/DataGrid.js +10 -3
  104. package/legacy/DataGrid/useDataGridProps.js +8 -8
  105. package/legacy/colDef/gridNumericOperators.js +0 -6
  106. package/legacy/components/GridColumnHeaders.js +4 -9
  107. package/legacy/components/cell/GridActionsCell.js +3 -3
  108. package/legacy/components/cell/GridEditInputCell.js +4 -1
  109. package/legacy/components/cell/GridEditSingleSelectCell.js +5 -5
  110. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  111. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +13 -4
  112. package/legacy/components/containers/GridRoot.js +1 -3
  113. package/legacy/components/index.js +1 -2
  114. package/legacy/components/panel/GridPreferencesPanel.js +3 -1
  115. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +79 -35
  116. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +26 -5
  117. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -31
  118. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +28 -5
  119. package/legacy/components/panel/filterPanel/GridFilterPanel.js +1 -1
  120. package/legacy/components/panel/filterPanel/index.js +2 -1
  121. package/legacy/components/toolbar/GridToolbarColumnsButton.js +11 -5
  122. package/legacy/components/toolbar/GridToolbarDensitySelector.js +2 -2
  123. package/legacy/components/toolbar/GridToolbarExportContainer.js +7 -7
  124. package/legacy/components/toolbar/GridToolbarFilterButton.js +11 -4
  125. package/legacy/constants/localeTextConstants.js +26 -0
  126. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
  127. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -5
  128. package/legacy/hooks/features/dimensions/useGridDimensions.js +2 -2
  129. package/legacy/hooks/features/editing/useGridEditing.js +0 -3
  130. package/legacy/hooks/features/filter/gridFilterSelector.js +4 -4
  131. package/legacy/hooks/features/filter/gridFilterState.js +6 -0
  132. package/legacy/hooks/features/filter/useGridFilter.js +29 -9
  133. package/legacy/hooks/features/focus/gridFocusStateSelector.js +10 -0
  134. package/legacy/hooks/features/focus/useGridFocus.js +58 -9
  135. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +11 -0
  136. package/legacy/hooks/features/headerFiltering/index.js +1 -0
  137. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +93 -0
  138. package/legacy/hooks/features/index.js +2 -1
  139. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  140. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
  141. package/legacy/hooks/features/rows/useGridRows.js +16 -1
  142. package/legacy/hooks/features/rows/useGridRowsMeta.js +12 -20
  143. package/legacy/index.js +1 -1
  144. package/legacy/internals/index.js +4 -0
  145. package/legacy/internals/utils/index.js +2 -1
  146. package/legacy/internals/utils/useProps.js +33 -0
  147. package/legacy/locales/arSD.js +28 -0
  148. package/legacy/locales/beBY.js +28 -0
  149. package/legacy/locales/bgBG.js +28 -0
  150. package/legacy/locales/csCZ.js +36 -8
  151. package/legacy/locales/daDK.js +28 -0
  152. package/legacy/locales/deDE.js +28 -0
  153. package/legacy/locales/elGR.js +27 -0
  154. package/legacy/locales/esES.js +28 -0
  155. package/legacy/locales/faIR.js +28 -0
  156. package/legacy/locales/fiFI.js +28 -0
  157. package/legacy/locales/frFR.js +26 -0
  158. package/legacy/locales/heIL.js +30 -2
  159. package/legacy/locales/huHU.js +28 -0
  160. package/legacy/locales/itIT.js +28 -0
  161. package/legacy/locales/jaJP.js +28 -0
  162. package/legacy/locales/koKR.js +28 -0
  163. package/legacy/locales/nbNO.js +28 -0
  164. package/legacy/locales/nlNL.js +26 -0
  165. package/legacy/locales/plPL.js +28 -0
  166. package/legacy/locales/ptBR.js +28 -0
  167. package/legacy/locales/roRO.js +28 -0
  168. package/legacy/locales/ruRU.js +28 -0
  169. package/legacy/locales/skSK.js +28 -0
  170. package/legacy/locales/svSE.js +28 -0
  171. package/legacy/locales/trTR.js +28 -0
  172. package/legacy/locales/ukUA.js +28 -0
  173. package/legacy/locales/urPK.js +28 -0
  174. package/legacy/locales/viVN.js +27 -0
  175. package/legacy/locales/zhCN.js +28 -0
  176. package/legacy/locales/zhTW.js +28 -0
  177. package/legacy/material/index.js +2 -0
  178. package/legacy/models/api/gridHeaderFilteringApi.js +1 -0
  179. package/legacy/models/gridFilterItem.js +1 -1
  180. package/legacy/models/gridHeaderFilteringModel.js +1 -0
  181. package/legacy/models/index.js +0 -1
  182. package/locales/arSD.js +28 -0
  183. package/locales/beBY.js +28 -0
  184. package/locales/bgBG.js +28 -0
  185. package/locales/csCZ.js +36 -8
  186. package/locales/daDK.js +28 -0
  187. package/locales/deDE.js +28 -0
  188. package/locales/elGR.js +27 -0
  189. package/locales/esES.js +28 -0
  190. package/locales/faIR.js +28 -0
  191. package/locales/fiFI.js +28 -0
  192. package/locales/frFR.js +26 -0
  193. package/locales/heIL.js +30 -2
  194. package/locales/huHU.js +28 -0
  195. package/locales/itIT.js +28 -0
  196. package/locales/jaJP.js +28 -0
  197. package/locales/koKR.js +28 -0
  198. package/locales/nbNO.js +28 -0
  199. package/locales/nlNL.js +26 -0
  200. package/locales/plPL.js +28 -0
  201. package/locales/ptBR.js +28 -0
  202. package/locales/roRO.js +28 -0
  203. package/locales/ruRU.js +28 -0
  204. package/locales/skSK.js +28 -0
  205. package/locales/svSE.js +28 -0
  206. package/locales/trTR.js +28 -0
  207. package/locales/ukUA.js +28 -0
  208. package/locales/urPK.js +28 -0
  209. package/locales/viVN.js +27 -0
  210. package/locales/zhCN.js +28 -0
  211. package/locales/zhTW.js +28 -0
  212. package/material/components/MUISelectOption.d.ts +2 -2
  213. package/material/index.d.ts +3 -66
  214. package/material/index.js +2 -0
  215. package/models/api/gridApiCommon.d.ts +3 -2
  216. package/models/api/gridCoreApi.d.ts +4 -0
  217. package/models/api/gridFilterApi.d.ts +3 -1
  218. package/models/api/gridFocusApi.d.ts +6 -0
  219. package/models/api/gridHeaderFilteringApi.d.ts +30 -0
  220. package/models/api/gridHeaderFilteringApi.js +1 -0
  221. package/models/api/gridLocaleTextApi.d.ts +25 -0
  222. package/models/api/gridPreferencesPanelApi.d.ts +3 -1
  223. package/models/events/gridEventLookup.d.ts +27 -1
  224. package/models/gridFilterItem.d.ts +1 -1
  225. package/models/gridFilterItem.js +1 -1
  226. package/models/gridFilterOperator.d.ts +5 -1
  227. package/models/gridHeaderFilteringModel.d.ts +5 -0
  228. package/models/gridHeaderFilteringModel.js +1 -0
  229. package/models/gridSlotsComponent.d.ts +16 -4
  230. package/models/gridStateCommunity.d.ts +4 -0
  231. package/models/index.d.ts +1 -1
  232. package/models/index.js +0 -1
  233. package/models/props/DataGridProps.d.ts +5 -0
  234. package/modern/DataGrid/DataGrid.js +10 -3
  235. package/modern/DataGrid/useDataGridProps.js +5 -12
  236. package/modern/colDef/gridNumericOperators.js +0 -6
  237. package/modern/components/GridColumnHeaders.js +4 -9
  238. package/modern/components/cell/GridActionsCell.js +3 -3
  239. package/modern/components/cell/GridEditInputCell.js +4 -1
  240. package/modern/components/cell/GridEditSingleSelectCell.js +5 -5
  241. package/modern/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  242. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +13 -4
  243. package/modern/components/containers/GridRoot.js +1 -3
  244. package/modern/components/index.js +1 -2
  245. package/modern/components/panel/GridPreferencesPanel.js +3 -1
  246. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  247. package/modern/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  248. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +56 -32
  249. package/modern/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  250. package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -1
  251. package/modern/components/panel/filterPanel/index.js +2 -1
  252. package/modern/components/toolbar/GridToolbarColumnsButton.js +11 -6
  253. package/modern/components/toolbar/GridToolbarDensitySelector.js +2 -2
  254. package/modern/components/toolbar/GridToolbarExportContainer.js +7 -7
  255. package/modern/components/toolbar/GridToolbarFilterButton.js +11 -4
  256. package/modern/constants/localeTextConstants.js +26 -0
  257. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
  258. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  259. package/modern/hooks/features/dimensions/useGridDimensions.js +2 -2
  260. package/modern/hooks/features/editing/useGridEditing.js +0 -3
  261. package/modern/hooks/features/filter/gridFilterSelector.js +2 -2
  262. package/modern/hooks/features/filter/gridFilterState.js +6 -0
  263. package/modern/hooks/features/filter/useGridFilter.js +29 -9
  264. package/modern/hooks/features/focus/gridFocusStateSelector.js +6 -0
  265. package/modern/hooks/features/focus/useGridFocus.js +55 -9
  266. package/modern/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  267. package/modern/hooks/features/headerFiltering/index.js +1 -0
  268. package/modern/hooks/features/headerFiltering/useGridHeaderFiltering.js +90 -0
  269. package/modern/hooks/features/index.js +2 -1
  270. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  271. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
  272. package/modern/hooks/features/rows/useGridRows.js +16 -1
  273. package/modern/hooks/features/rows/useGridRowsMeta.js +11 -12
  274. package/modern/index.js +1 -1
  275. package/modern/internals/index.js +4 -0
  276. package/modern/internals/utils/index.js +2 -1
  277. package/modern/internals/utils/useProps.js +32 -0
  278. package/modern/locales/arSD.js +28 -0
  279. package/modern/locales/beBY.js +28 -0
  280. package/modern/locales/bgBG.js +28 -0
  281. package/modern/locales/csCZ.js +36 -8
  282. package/modern/locales/daDK.js +28 -0
  283. package/modern/locales/deDE.js +28 -0
  284. package/modern/locales/elGR.js +27 -0
  285. package/modern/locales/esES.js +28 -0
  286. package/modern/locales/faIR.js +28 -0
  287. package/modern/locales/fiFI.js +28 -0
  288. package/modern/locales/frFR.js +26 -0
  289. package/modern/locales/heIL.js +30 -2
  290. package/modern/locales/huHU.js +28 -0
  291. package/modern/locales/itIT.js +28 -0
  292. package/modern/locales/jaJP.js +28 -0
  293. package/modern/locales/koKR.js +28 -0
  294. package/modern/locales/nbNO.js +28 -0
  295. package/modern/locales/nlNL.js +26 -0
  296. package/modern/locales/plPL.js +28 -0
  297. package/modern/locales/ptBR.js +28 -0
  298. package/modern/locales/roRO.js +28 -0
  299. package/modern/locales/ruRU.js +28 -0
  300. package/modern/locales/skSK.js +28 -0
  301. package/modern/locales/svSE.js +28 -0
  302. package/modern/locales/trTR.js +28 -0
  303. package/modern/locales/ukUA.js +28 -0
  304. package/modern/locales/urPK.js +28 -0
  305. package/modern/locales/viVN.js +27 -0
  306. package/modern/locales/zhCN.js +28 -0
  307. package/modern/locales/zhTW.js +28 -0
  308. package/modern/material/index.js +2 -0
  309. package/modern/models/api/gridHeaderFilteringApi.js +1 -0
  310. package/modern/models/gridFilterItem.js +1 -1
  311. package/modern/models/gridHeaderFilteringModel.js +1 -0
  312. package/modern/models/index.js +0 -1
  313. package/node/DataGrid/DataGrid.js +10 -3
  314. package/node/DataGrid/useDataGridProps.js +4 -11
  315. package/node/colDef/gridNumericOperators.js +0 -6
  316. package/node/components/GridColumnHeaders.js +3 -8
  317. package/node/components/cell/GridActionsCell.js +3 -3
  318. package/node/components/cell/GridEditInputCell.js +4 -1
  319. package/node/components/cell/GridEditSingleSelectCell.js +5 -5
  320. package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
  321. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +12 -3
  322. package/node/components/containers/GridRoot.js +1 -3
  323. package/node/components/index.js +0 -11
  324. package/node/components/panel/GridPreferencesPanel.js +3 -1
  325. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +78 -35
  326. package/node/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  327. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +56 -32
  328. package/node/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  329. package/node/components/panel/filterPanel/GridFilterPanel.js +2 -1
  330. package/node/components/panel/filterPanel/index.js +26 -8
  331. package/node/components/toolbar/GridToolbarColumnsButton.js +11 -6
  332. package/node/components/toolbar/GridToolbarDensitySelector.js +2 -2
  333. package/node/components/toolbar/GridToolbarExportContainer.js +7 -7
  334. package/node/components/toolbar/GridToolbarFilterButton.js +10 -3
  335. package/node/constants/localeTextConstants.js +26 -0
  336. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
  337. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  338. package/node/hooks/features/dimensions/useGridDimensions.js +2 -2
  339. package/node/hooks/features/editing/useGridEditing.js +0 -3
  340. package/node/hooks/features/filter/gridFilterSelector.js +2 -2
  341. package/node/hooks/features/filter/gridFilterState.js +6 -0
  342. package/node/hooks/features/filter/useGridFilter.js +30 -10
  343. package/node/hooks/features/focus/gridFocusStateSelector.js +9 -1
  344. package/node/hooks/features/focus/useGridFocus.js +55 -9
  345. package/node/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +15 -0
  346. package/node/hooks/features/headerFiltering/index.js +16 -0
  347. package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +101 -0
  348. package/node/hooks/features/index.js +11 -0
  349. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  350. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
  351. package/node/hooks/features/rows/useGridRows.js +16 -1
  352. package/node/hooks/features/rows/useGridRowsMeta.js +11 -12
  353. package/node/index.js +1 -1
  354. package/node/internals/index.js +46 -0
  355. package/node/internals/utils/index.js +11 -0
  356. package/node/internals/utils/useProps.js +41 -0
  357. package/node/locales/arSD.js +28 -0
  358. package/node/locales/beBY.js +28 -0
  359. package/node/locales/bgBG.js +28 -0
  360. package/node/locales/csCZ.js +36 -8
  361. package/node/locales/daDK.js +28 -0
  362. package/node/locales/deDE.js +28 -0
  363. package/node/locales/elGR.js +27 -0
  364. package/node/locales/esES.js +28 -0
  365. package/node/locales/faIR.js +28 -0
  366. package/node/locales/fiFI.js +28 -0
  367. package/node/locales/frFR.js +26 -0
  368. package/node/locales/heIL.js +30 -2
  369. package/node/locales/huHU.js +28 -0
  370. package/node/locales/itIT.js +28 -0
  371. package/node/locales/jaJP.js +28 -0
  372. package/node/locales/koKR.js +28 -0
  373. package/node/locales/nbNO.js +28 -0
  374. package/node/locales/nlNL.js +26 -0
  375. package/node/locales/plPL.js +28 -0
  376. package/node/locales/ptBR.js +28 -0
  377. package/node/locales/roRO.js +28 -0
  378. package/node/locales/ruRU.js +28 -0
  379. package/node/locales/skSK.js +28 -0
  380. package/node/locales/svSE.js +28 -0
  381. package/node/locales/trTR.js +28 -0
  382. package/node/locales/ukUA.js +28 -0
  383. package/node/locales/urPK.js +28 -0
  384. package/node/locales/viVN.js +27 -0
  385. package/node/locales/zhCN.js +28 -0
  386. package/node/locales/zhTW.js +28 -0
  387. package/node/material/index.js +2 -0
  388. package/node/models/api/gridHeaderFilteringApi.js +5 -0
  389. package/node/models/gridFilterItem.js +1 -1
  390. package/node/models/gridHeaderFilteringModel.js +5 -0
  391. package/node/models/index.js +0 -11
  392. package/package.json +4 -4
  393. package/components/GridScrollArea.d.ts +0 -10
  394. package/components/GridScrollArea.js +0 -117
  395. package/legacy/components/GridScrollArea.js +0 -119
  396. package/legacy/lib/createDetectElementResize/index.js +0 -145
  397. package/lib/createDetectElementResize/index.d.ts +0 -18
  398. package/lib/createDetectElementResize/index.js +0 -145
  399. package/lib/createDetectElementResize/types.d.ts +0 -9
  400. package/modern/components/GridScrollArea.js +0 -117
  401. package/modern/lib/createDetectElementResize/index.js +0 -145
  402. package/node/components/GridScrollArea.js +0 -126
  403. package/node/lib/createDetectElementResize/index.js +0 -151
@@ -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]].
@@ -6,14 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.useDataGridProps = exports.DATA_GRID_PROPS_DEFAULT_VALUES = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
9
  var React = _interopRequireWildcard(require("react"));
11
10
  var _styles = require("@mui/material/styles");
12
11
  var _constants = require("../constants");
13
12
  var _defaultGridSlotsComponents = require("../constants/defaultGridSlotsComponents");
14
13
  var _models = require("../models");
15
14
  var _utils = require("../internals/utils");
16
- const _excluded = ["components", "componentsProps"];
17
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
17
  const DATA_GRID_FORCED_PROPS = {
@@ -82,15 +80,10 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = {
82
80
  exports.DATA_GRID_PROPS_DEFAULT_VALUES = DATA_GRID_PROPS_DEFAULT_VALUES;
83
81
  const defaultSlots = (0, _utils.uncapitalizeObjectKeys)(_defaultGridSlotsComponents.DATA_GRID_DEFAULT_SLOTS_COMPONENTS);
84
82
  const useDataGridProps = inProps => {
85
- const _useThemeProps = (0, _styles.useThemeProps)({
86
- props: inProps,
87
- name: 'MuiDataGrid'
88
- }),
89
- {
90
- components,
91
- componentsProps
92
- } = _useThemeProps,
93
- themedProps = (0, _objectWithoutPropertiesLoose2.default)(_useThemeProps, _excluded);
83
+ const [components, componentsProps, themedProps] = (0, _utils.useProps)((0, _styles.useThemeProps)({
84
+ props: inProps,
85
+ name: 'MuiDataGrid'
86
+ }));
94
87
  const localeText = React.useMemo(() => (0, _extends2.default)({}, _constants.GRID_DEFAULT_LOCALE_TEXT, themedProps.localeText), [themedProps.localeText]);
95
88
  const slots = React.useMemo(() => (0, _utils.computeSlots)({
96
89
  defaultSlots,
@@ -24,7 +24,6 @@ const getGridNumericQuickFilterFn = value => {
24
24
  };
25
25
  exports.getGridNumericQuickFilterFn = getGridNumericQuickFilterFn;
26
26
  const getGridNumericOperators = () => [{
27
- label: '=',
28
27
  value: '=',
29
28
  getApplyFilterFn: filterItem => {
30
29
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
@@ -41,7 +40,6 @@ const getGridNumericOperators = () => [{
41
40
  type: 'number'
42
41
  }
43
42
  }, {
44
- label: '!=',
45
43
  value: '!=',
46
44
  getApplyFilterFn: filterItem => {
47
45
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
@@ -58,7 +56,6 @@ const getGridNumericOperators = () => [{
58
56
  type: 'number'
59
57
  }
60
58
  }, {
61
- label: '>',
62
59
  value: '>',
63
60
  getApplyFilterFn: filterItem => {
64
61
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
@@ -78,7 +75,6 @@ const getGridNumericOperators = () => [{
78
75
  type: 'number'
79
76
  }
80
77
  }, {
81
- label: '>=',
82
78
  value: '>=',
83
79
  getApplyFilterFn: filterItem => {
84
80
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
@@ -98,7 +94,6 @@ const getGridNumericOperators = () => [{
98
94
  type: 'number'
99
95
  }
100
96
  }, {
101
- label: '<',
102
97
  value: '<',
103
98
  getApplyFilterFn: filterItem => {
104
99
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
@@ -118,7 +113,6 @@ const getGridNumericOperators = () => [{
118
113
  type: 'number'
119
114
  }
120
115
  }, {
121
- label: '<=',
122
116
  value: '<=',
123
117
  getApplyFilterFn: filterItem => {
124
118
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
@@ -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,
@@ -97,7 +97,10 @@ const GridEditInputCell = /*#__PURE__*/React.forwardRef((props, ref) => {
97
97
  type: colDef.type === 'number' ? colDef.type : 'text',
98
98
  value: valueState ?? '',
99
99
  onChange: handleChange,
100
- endAdornment: isProcessingProps ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {}) : undefined
100
+ endAdornment: isProcessingProps ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {
101
+ fontSize: "small",
102
+ color: "action"
103
+ }) : undefined
101
104
  }, other));
102
105
  });
103
106
  exports.GridEditInputCell = GridEditInputCell;
@@ -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
  }));
@@ -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
  });
@@ -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
  }));
@@ -8,18 +8,30 @@ exports.GridFilterInputBoolean = GridFilterInputBoolean;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
12
  var _utils = require("@mui/utils");
13
+ var _styles = require("@mui/material/styles");
12
14
  var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
13
15
  var _jsxRuntime = require("react/jsx-runtime");
14
- const _excluded = ["item", "applyValue", "apiRef", "focusElementRef"];
16
+ const _excluded = ["item", "applyValue", "apiRef", "focusElementRef", "headerFilterMenu", "isFilterActive", "clearButton", "tabIndex", "label"];
15
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+ const BooleanOperatorContainer = (0, _styles.styled)('div')({
20
+ display: 'flex',
21
+ alignItems: 'flex-end',
22
+ width: '100%'
23
+ });
17
24
  function GridFilterInputBoolean(props) {
18
25
  const {
19
26
  item,
20
27
  applyValue,
21
28
  apiRef,
22
- focusElementRef
29
+ focusElementRef,
30
+ headerFilterMenu,
31
+ isFilterActive,
32
+ clearButton,
33
+ tabIndex,
34
+ label: labelProp
23
35
  } = props,
24
36
  others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
25
37
  const [filterValueState, setFilterValueState] = React.useState(item.value || '');
@@ -39,39 +51,70 @@ function GridFilterInputBoolean(props) {
39
51
  React.useEffect(() => {
40
52
  setFilterValueState(item.value || '');
41
53
  }, [item.value]);
42
- const label = apiRef.current.getLocaleText('filterPanelInputLabel');
43
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
44
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputLabel, (0, _extends2.default)({}, rootProps.slotProps?.baseInputLabel, {
45
- id: labelId,
46
- shrink: true,
47
- variant: "standard",
48
- children: label
49
- })), /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseSelect, (0, _extends2.default)({
50
- labelId: labelId,
51
- id: selectId,
52
- label: label,
53
- value: filterValueState,
54
- onChange: onFilterChange,
55
- variant: "standard",
56
- native: isSelectNative,
57
- displayEmpty: true,
58
- inputProps: {
59
- ref: focusElementRef
60
- }
61
- }, others, baseSelectProps, {
62
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, baseSelectOptionProps, {
63
- native: isSelectNative,
64
- value: "",
65
- children: apiRef.current.getLocaleText('filterValueAny')
66
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, baseSelectOptionProps, {
67
- native: isSelectNative,
68
- value: "true",
69
- children: apiRef.current.getLocaleText('filterValueTrue')
70
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, baseSelectOptionProps, {
54
+ const label = labelProp ?? apiRef.current.getLocaleText('filterPanelInputLabel');
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(BooleanOperatorContainer, {
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseFormControl, {
57
+ fullWidth: true,
58
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputLabel, (0, _extends2.default)({}, rootProps.slotProps?.baseInputLabel, {
59
+ id: labelId,
60
+ shrink: true,
61
+ variant: "standard",
62
+ children: label
63
+ })), /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseSelect, (0, _extends2.default)({
64
+ labelId: labelId,
65
+ id: selectId,
66
+ label: label,
67
+ value: filterValueState,
68
+ onChange: onFilterChange,
69
+ variant: "standard",
71
70
  native: isSelectNative,
72
- value: "false",
73
- children: apiRef.current.getLocaleText('filterValueFalse')
71
+ displayEmpty: true,
72
+ startAdornment: isFilterActive ? headerFilterMenu : null,
73
+ inputProps: {
74
+ ref: focusElementRef,
75
+ tabIndex
76
+ }
77
+ }, others, baseSelectProps, {
78
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, baseSelectOptionProps, {
79
+ native: isSelectNative,
80
+ value: "",
81
+ children: apiRef.current.getLocaleText('filterValueAny')
82
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, baseSelectOptionProps, {
83
+ native: isSelectNative,
84
+ value: "true",
85
+ children: apiRef.current.getLocaleText('filterValueTrue')
86
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, baseSelectOptionProps, {
87
+ native: isSelectNative,
88
+ value: "false",
89
+ children: apiRef.current.getLocaleText('filterValueFalse')
90
+ }))]
74
91
  }))]
75
- }))]
92
+ }), clearButton]
76
93
  });
77
- }
94
+ }
95
+ process.env.NODE_ENV !== "production" ? GridFilterInputBoolean.propTypes = {
96
+ // ----------------------------- Warning --------------------------------
97
+ // | These PropTypes are generated from the TypeScript type definitions |
98
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
99
+ // ----------------------------------------------------------------------
100
+ apiRef: _propTypes.default.shape({
101
+ current: _propTypes.default.object.isRequired
102
+ }).isRequired,
103
+ applyValue: _propTypes.default.func.isRequired,
104
+ clearButton: _propTypes.default.node,
105
+ focusElementRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
106
+ current: _propTypes.default.any.isRequired
107
+ })]),
108
+ headerFilterMenu: _propTypes.default.node,
109
+ /**
110
+ * It is `true` if the filter either has a value or an operator with no value
111
+ * required is selected (e.g. `isEmpty`)
112
+ */
113
+ isFilterActive: _propTypes.default.bool,
114
+ item: _propTypes.default.shape({
115
+ field: _propTypes.default.string.isRequired,
116
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
117
+ operator: _propTypes.default.string.isRequired,
118
+ value: _propTypes.default.any
119
+ }).isRequired
120
+ } : void 0;
@@ -13,7 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _utils = require("@mui/utils");
14
14
  var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
- const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "InputProps"];
16
+ const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "InputProps", "headerFilterMenu", "isFilterActive", "clearButton", "tabIndex", "disabled"];
17
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
19
  const SUBMIT_FILTER_DATE_STROKE_TIME = 500;
@@ -25,7 +25,12 @@ function GridFilterInputDate(props) {
25
25
  type,
26
26
  apiRef,
27
27
  focusElementRef,
28
- InputProps
28
+ InputProps,
29
+ headerFilterMenu,
30
+ isFilterActive,
31
+ clearButton,
32
+ tabIndex,
33
+ disabled
29
34
  } = props,
30
35
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
31
36
  const filterTimeout = React.useRef();
@@ -55,6 +60,7 @@ function GridFilterInputDate(props) {
55
60
  setFilterValueState(String(itemValue));
56
61
  }, [item.value]);
57
62
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTextField, (0, _extends2.default)({
63
+ fullWidth: true,
58
64
  id: id,
59
65
  label: apiRef.current.getLocaleText('filterPanelInputLabel'),
60
66
  placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
@@ -66,11 +72,19 @@ function GridFilterInputDate(props) {
66
72
  shrink: true
67
73
  },
68
74
  inputRef: focusElementRef,
69
- InputProps: (0, _extends2.default)({}, applying ? {
70
- endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {})
71
- } : {}, InputProps, {
75
+ InputProps: (0, _extends2.default)({}, applying || clearButton ? {
76
+ endAdornment: applying ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {
77
+ fontSize: "small",
78
+ color: "action"
79
+ }) : clearButton
80
+ } : {}, headerFilterMenu && isFilterActive ? {
81
+ startAdornment: headerFilterMenu
82
+ } : {}, {
83
+ disabled
84
+ }, InputProps, {
72
85
  inputProps: (0, _extends2.default)({
73
- max: type === 'datetime-local' ? '9999-12-31T23:59' : '9999-12-31'
86
+ max: type === 'datetime-local' ? '9999-12-31T23:59' : '9999-12-31',
87
+ tabIndex
74
88
  }, InputProps?.inputProps)
75
89
  })
76
90
  }, other, rootProps.slotProps?.baseTextField));
@@ -84,7 +98,14 @@ process.env.NODE_ENV !== "production" ? GridFilterInputDate.propTypes = {
84
98
  current: _propTypes.default.object.isRequired
85
99
  }).isRequired,
86
100
  applyValue: _propTypes.default.func.isRequired,
101
+ clearButton: _propTypes.default.node,
87
102
  focusElementRef: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.func, _propTypes.default.object]),
103
+ headerFilterMenu: _propTypes.default.node,
104
+ /**
105
+ * It is `true` if the filter either has a value or an operator with no value
106
+ * required is selected (e.g. `isEmpty`)
107
+ */
108
+ isFilterActive: _propTypes.default.bool,
88
109
  item: _propTypes.default.shape({
89
110
  field: _propTypes.default.string.isRequired,
90
111
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),