@mui/x-data-grid 6.3.1 → 6.5.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 (349) hide show
  1. package/CHANGELOG.md +113 -0
  2. package/DataGrid/DataGrid.js +20 -1
  3. package/DataGrid/useDataGridComponent.js +2 -2
  4. package/DataGrid/useDataGridProps.js +8 -13
  5. package/colDef/gridBooleanColDef.js +19 -1
  6. package/colDef/gridDateColDef.js +6 -2
  7. package/colDef/gridNumericOperators.js +0 -6
  8. package/colDef/gridSingleSelectColDef.js +21 -1
  9. package/components/base/GridBody.js +2 -1
  10. package/components/cell/GridEditInputCell.js +4 -1
  11. package/components/containers/GridRootStyles.js +1 -0
  12. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +15 -2
  13. package/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  14. package/components/panel/filterPanel/GridFilterInputDate.d.ts +8 -1
  15. package/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  16. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  17. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  18. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +8 -1
  19. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  20. package/components/panel/filterPanel/GridFilterInputValue.d.ts +11 -4
  21. package/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  22. package/components/panel/filterPanel/GridFilterPanel.d.ts +2 -1
  23. package/components/panel/filterPanel/GridFilterPanel.js +1 -1
  24. package/components/panel/filterPanel/index.d.ts +3 -1
  25. package/components/panel/filterPanel/index.js +2 -1
  26. package/constants/localeTextConstants.js +26 -0
  27. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +12 -1
  28. package/hooks/features/clipboard/useGridClipboard.d.ts +2 -1
  29. package/hooks/features/clipboard/useGridClipboard.js +43 -26
  30. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +9 -2
  31. package/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  32. package/hooks/features/dimensions/useGridDimensions.js +4 -6
  33. package/hooks/features/editing/useGridCellEditing.js +7 -3
  34. package/hooks/features/editing/useGridEditing.js +0 -3
  35. package/hooks/features/editing/useGridRowEditing.js +7 -3
  36. package/hooks/features/export/serializers/csvSerializer.d.ts +5 -0
  37. package/hooks/features/export/serializers/csvSerializer.js +46 -6
  38. package/hooks/features/export/useGridCsvExport.d.ts +2 -1
  39. package/hooks/features/export/useGridCsvExport.js +7 -5
  40. package/hooks/features/focus/gridFocusState.d.ts +2 -0
  41. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -0
  42. package/hooks/features/focus/gridFocusStateSelector.js +6 -0
  43. package/hooks/features/focus/useGridFocus.js +55 -9
  44. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +4 -0
  45. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  46. package/hooks/features/headerFiltering/index.d.ts +1 -0
  47. package/hooks/features/headerFiltering/index.js +1 -0
  48. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +6 -0
  49. package/hooks/features/headerFiltering/useGridHeaderFiltering.js +91 -0
  50. package/hooks/features/index.d.ts +1 -0
  51. package/hooks/features/index.js +2 -1
  52. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  53. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +124 -4
  54. package/hooks/features/rows/useGridRows.js +16 -1
  55. package/index.js +1 -1
  56. package/internals/index.d.ts +9 -3
  57. package/internals/index.js +7 -2
  58. package/internals/utils/index.d.ts +1 -0
  59. package/internals/utils/index.js +2 -1
  60. package/internals/utils/useProps.d.ts +8 -0
  61. package/internals/utils/useProps.js +13 -0
  62. package/joy/icons.d.ts +33 -0
  63. package/joy/icons.js +433 -0
  64. package/joy/joySlots.js +114 -4
  65. package/legacy/DataGrid/DataGrid.js +20 -1
  66. package/legacy/DataGrid/useDataGridComponent.js +2 -2
  67. package/legacy/DataGrid/useDataGridProps.js +11 -9
  68. package/legacy/colDef/gridBooleanColDef.js +21 -1
  69. package/legacy/colDef/gridDateColDef.js +10 -2
  70. package/legacy/colDef/gridNumericOperators.js +0 -6
  71. package/legacy/colDef/gridSingleSelectColDef.js +21 -1
  72. package/legacy/components/base/GridBody.js +2 -1
  73. package/legacy/components/cell/GridEditInputCell.js +4 -1
  74. package/legacy/components/containers/GridRootStyles.js +1 -0
  75. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +79 -35
  76. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +26 -5
  77. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  78. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  79. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +54 -31
  80. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +28 -5
  81. package/legacy/components/panel/filterPanel/GridFilterPanel.js +1 -1
  82. package/legacy/components/panel/filterPanel/index.js +2 -1
  83. package/legacy/constants/localeTextConstants.js +26 -0
  84. package/legacy/hooks/features/clipboard/useGridClipboard.js +44 -26
  85. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -5
  86. package/legacy/hooks/features/dimensions/useGridDimensions.js +4 -6
  87. package/legacy/hooks/features/editing/useGridCellEditing.js +7 -3
  88. package/legacy/hooks/features/editing/useGridEditing.js +0 -3
  89. package/legacy/hooks/features/editing/useGridRowEditing.js +7 -3
  90. package/legacy/hooks/features/export/serializers/csvSerializer.js +43 -6
  91. package/legacy/hooks/features/export/useGridCsvExport.js +8 -5
  92. package/legacy/hooks/features/focus/gridFocusStateSelector.js +10 -0
  93. package/legacy/hooks/features/focus/useGridFocus.js +58 -9
  94. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +11 -0
  95. package/legacy/hooks/features/headerFiltering/index.js +1 -0
  96. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +93 -0
  97. package/legacy/hooks/features/index.js +2 -1
  98. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +123 -4
  99. package/legacy/hooks/features/rows/useGridRows.js +16 -1
  100. package/legacy/index.js +1 -1
  101. package/legacy/internals/index.js +7 -2
  102. package/legacy/internals/utils/index.js +2 -1
  103. package/legacy/internals/utils/useProps.js +11 -0
  104. package/legacy/joy/icons.js +432 -0
  105. package/legacy/joy/joySlots.js +118 -4
  106. package/legacy/locales/arSD.js +28 -0
  107. package/legacy/locales/beBY.js +28 -0
  108. package/legacy/locales/bgBG.js +28 -0
  109. package/legacy/locales/csCZ.js +36 -8
  110. package/legacy/locales/daDK.js +28 -0
  111. package/legacy/locales/deDE.js +30 -2
  112. package/legacy/locales/elGR.js +27 -0
  113. package/legacy/locales/esES.js +28 -0
  114. package/legacy/locales/faIR.js +28 -0
  115. package/legacy/locales/fiFI.js +28 -0
  116. package/legacy/locales/frFR.js +34 -6
  117. package/legacy/locales/heIL.js +30 -2
  118. package/legacy/locales/huHU.js +28 -0
  119. package/legacy/locales/itIT.js +28 -0
  120. package/legacy/locales/jaJP.js +28 -0
  121. package/legacy/locales/koKR.js +28 -0
  122. package/legacy/locales/nbNO.js +28 -0
  123. package/legacy/locales/nlNL.js +28 -0
  124. package/legacy/locales/plPL.js +28 -0
  125. package/legacy/locales/ptBR.js +29 -1
  126. package/legacy/locales/roRO.js +28 -0
  127. package/legacy/locales/ruRU.js +28 -0
  128. package/legacy/locales/skSK.js +28 -0
  129. package/legacy/locales/svSE.js +28 -0
  130. package/legacy/locales/trTR.js +28 -0
  131. package/legacy/locales/ukUA.js +36 -9
  132. package/legacy/locales/urPK.js +28 -0
  133. package/legacy/locales/viVN.js +27 -0
  134. package/legacy/locales/zhCN.js +28 -0
  135. package/legacy/locales/zhTW.js +28 -0
  136. package/legacy/material/index.js +5 -1
  137. package/legacy/models/api/index.js +0 -1
  138. package/legacy/models/index.js +0 -1
  139. package/legacy/utils/domUtils.js +14 -1
  140. package/locales/arSD.js +28 -0
  141. package/locales/beBY.js +28 -0
  142. package/locales/bgBG.js +28 -0
  143. package/locales/csCZ.js +36 -8
  144. package/locales/daDK.js +28 -0
  145. package/locales/deDE.js +30 -2
  146. package/locales/elGR.js +27 -0
  147. package/locales/esES.js +28 -0
  148. package/locales/faIR.js +28 -0
  149. package/locales/fiFI.js +28 -0
  150. package/locales/frFR.js +34 -6
  151. package/locales/heIL.js +30 -2
  152. package/locales/huHU.js +28 -0
  153. package/locales/itIT.js +28 -0
  154. package/locales/jaJP.js +28 -0
  155. package/locales/koKR.js +28 -0
  156. package/locales/nbNO.js +28 -0
  157. package/locales/nlNL.js +28 -0
  158. package/locales/plPL.js +28 -0
  159. package/locales/ptBR.js +29 -1
  160. package/locales/roRO.js +28 -0
  161. package/locales/ruRU.js +28 -0
  162. package/locales/skSK.js +28 -0
  163. package/locales/svSE.js +28 -0
  164. package/locales/trTR.js +28 -0
  165. package/locales/ukUA.js +36 -9
  166. package/locales/urPK.js +28 -0
  167. package/locales/viVN.js +27 -0
  168. package/locales/zhCN.js +28 -0
  169. package/locales/zhTW.js +28 -0
  170. package/material/index.d.ts +3 -65
  171. package/material/index.js +5 -1
  172. package/models/api/gridApiCommon.d.ts +3 -3
  173. package/models/api/gridCoreApi.d.ts +8 -0
  174. package/models/api/gridFocusApi.d.ts +6 -0
  175. package/models/api/gridHeaderFilteringApi.d.ts +30 -0
  176. package/models/api/gridLocaleTextApi.d.ts +25 -0
  177. package/models/api/index.d.ts +0 -1
  178. package/models/api/index.js +0 -1
  179. package/models/events/gridEventLookup.d.ts +33 -1
  180. package/models/gridFilterOperator.d.ts +4 -0
  181. package/models/gridHeaderFilteringModel.d.ts +5 -0
  182. package/models/gridHeaderFilteringModel.js +1 -0
  183. package/models/gridSlotsComponent.d.ts +21 -4
  184. package/models/gridSlotsComponentsProps.d.ts +4 -0
  185. package/models/gridStateCommunity.d.ts +2 -0
  186. package/models/index.d.ts +1 -1
  187. package/models/index.js +0 -1
  188. package/models/props/DataGridProps.d.ts +19 -0
  189. package/modern/DataGrid/DataGrid.js +20 -1
  190. package/modern/DataGrid/useDataGridComponent.js +2 -2
  191. package/modern/DataGrid/useDataGridProps.js +8 -13
  192. package/modern/colDef/gridBooleanColDef.js +19 -1
  193. package/modern/colDef/gridDateColDef.js +6 -2
  194. package/modern/colDef/gridNumericOperators.js +0 -6
  195. package/modern/colDef/gridSingleSelectColDef.js +21 -1
  196. package/modern/components/base/GridBody.js +2 -1
  197. package/modern/components/cell/GridEditInputCell.js +4 -1
  198. package/modern/components/containers/GridRootStyles.js +1 -0
  199. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  200. package/modern/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  201. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  202. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  203. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  204. package/modern/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  205. package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -1
  206. package/modern/components/panel/filterPanel/index.js +2 -1
  207. package/modern/constants/localeTextConstants.js +26 -0
  208. package/modern/hooks/features/clipboard/useGridClipboard.js +43 -26
  209. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  210. package/modern/hooks/features/dimensions/useGridDimensions.js +3 -5
  211. package/modern/hooks/features/editing/useGridCellEditing.js +7 -3
  212. package/modern/hooks/features/editing/useGridEditing.js +0 -3
  213. package/modern/hooks/features/editing/useGridRowEditing.js +7 -3
  214. package/modern/hooks/features/export/serializers/csvSerializer.js +44 -6
  215. package/modern/hooks/features/export/useGridCsvExport.js +7 -5
  216. package/modern/hooks/features/focus/gridFocusStateSelector.js +6 -0
  217. package/modern/hooks/features/focus/useGridFocus.js +55 -9
  218. package/modern/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  219. package/modern/hooks/features/headerFiltering/index.js +1 -0
  220. package/modern/hooks/features/headerFiltering/useGridHeaderFiltering.js +90 -0
  221. package/modern/hooks/features/index.js +2 -1
  222. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +124 -4
  223. package/modern/hooks/features/rows/useGridRows.js +16 -1
  224. package/modern/index.js +1 -1
  225. package/modern/internals/index.js +7 -2
  226. package/modern/internals/utils/index.js +2 -1
  227. package/modern/internals/utils/useProps.js +13 -0
  228. package/modern/joy/icons.js +433 -0
  229. package/modern/joy/joySlots.js +110 -4
  230. package/modern/locales/arSD.js +28 -0
  231. package/modern/locales/beBY.js +28 -0
  232. package/modern/locales/bgBG.js +28 -0
  233. package/modern/locales/csCZ.js +36 -8
  234. package/modern/locales/daDK.js +28 -0
  235. package/modern/locales/deDE.js +30 -2
  236. package/modern/locales/elGR.js +27 -0
  237. package/modern/locales/esES.js +28 -0
  238. package/modern/locales/faIR.js +28 -0
  239. package/modern/locales/fiFI.js +28 -0
  240. package/modern/locales/frFR.js +34 -6
  241. package/modern/locales/heIL.js +30 -2
  242. package/modern/locales/huHU.js +28 -0
  243. package/modern/locales/itIT.js +28 -0
  244. package/modern/locales/jaJP.js +28 -0
  245. package/modern/locales/koKR.js +28 -0
  246. package/modern/locales/nbNO.js +28 -0
  247. package/modern/locales/nlNL.js +28 -0
  248. package/modern/locales/plPL.js +28 -0
  249. package/modern/locales/ptBR.js +29 -1
  250. package/modern/locales/roRO.js +28 -0
  251. package/modern/locales/ruRU.js +28 -0
  252. package/modern/locales/skSK.js +28 -0
  253. package/modern/locales/svSE.js +28 -0
  254. package/modern/locales/trTR.js +28 -0
  255. package/modern/locales/ukUA.js +36 -9
  256. package/modern/locales/urPK.js +28 -0
  257. package/modern/locales/viVN.js +27 -0
  258. package/modern/locales/zhCN.js +28 -0
  259. package/modern/locales/zhTW.js +28 -0
  260. package/modern/material/index.js +5 -1
  261. package/modern/models/api/gridHeaderFilteringApi.js +1 -0
  262. package/modern/models/api/index.js +0 -1
  263. package/modern/models/gridHeaderFilteringModel.js +1 -0
  264. package/modern/models/index.js +0 -1
  265. package/modern/utils/domUtils.js +13 -1
  266. package/node/DataGrid/DataGrid.js +20 -1
  267. package/node/DataGrid/useDataGridComponent.js +2 -2
  268. package/node/DataGrid/useDataGridProps.js +7 -12
  269. package/node/colDef/gridBooleanColDef.js +19 -1
  270. package/node/colDef/gridDateColDef.js +6 -2
  271. package/node/colDef/gridNumericOperators.js +0 -6
  272. package/node/colDef/gridSingleSelectColDef.js +21 -1
  273. package/node/components/base/GridBody.js +2 -1
  274. package/node/components/cell/GridEditInputCell.js +4 -1
  275. package/node/components/containers/GridRootStyles.js +1 -0
  276. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +78 -35
  277. package/node/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  278. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  279. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  280. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  281. package/node/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  282. package/node/components/panel/filterPanel/GridFilterPanel.js +2 -1
  283. package/node/components/panel/filterPanel/index.js +26 -8
  284. package/node/constants/localeTextConstants.js +26 -0
  285. package/node/hooks/features/clipboard/useGridClipboard.js +42 -25
  286. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  287. package/node/hooks/features/dimensions/useGridDimensions.js +3 -5
  288. package/node/hooks/features/editing/useGridCellEditing.js +7 -3
  289. package/node/hooks/features/editing/useGridEditing.js +0 -3
  290. package/node/hooks/features/editing/useGridRowEditing.js +7 -3
  291. package/node/hooks/features/export/serializers/csvSerializer.js +46 -6
  292. package/node/hooks/features/export/useGridCsvExport.js +6 -3
  293. package/node/hooks/features/focus/gridFocusStateSelector.js +9 -1
  294. package/node/hooks/features/focus/useGridFocus.js +55 -9
  295. package/node/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +15 -0
  296. package/node/hooks/features/headerFiltering/index.js +16 -0
  297. package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +101 -0
  298. package/node/hooks/features/index.js +11 -0
  299. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +124 -4
  300. package/node/hooks/features/rows/useGridRows.js +16 -1
  301. package/node/index.js +1 -1
  302. package/node/internals/index.js +69 -1
  303. package/node/internals/utils/index.js +11 -0
  304. package/node/internals/utils/useProps.js +22 -0
  305. package/node/joy/icons.js +471 -0
  306. package/node/joy/joySlots.js +110 -3
  307. package/node/locales/arSD.js +28 -0
  308. package/node/locales/beBY.js +28 -0
  309. package/node/locales/bgBG.js +28 -0
  310. package/node/locales/csCZ.js +36 -8
  311. package/node/locales/daDK.js +28 -0
  312. package/node/locales/deDE.js +30 -2
  313. package/node/locales/elGR.js +27 -0
  314. package/node/locales/esES.js +28 -0
  315. package/node/locales/faIR.js +28 -0
  316. package/node/locales/fiFI.js +28 -0
  317. package/node/locales/frFR.js +34 -6
  318. package/node/locales/heIL.js +30 -2
  319. package/node/locales/huHU.js +28 -0
  320. package/node/locales/itIT.js +28 -0
  321. package/node/locales/jaJP.js +28 -0
  322. package/node/locales/koKR.js +28 -0
  323. package/node/locales/nbNO.js +28 -0
  324. package/node/locales/nlNL.js +28 -0
  325. package/node/locales/plPL.js +28 -0
  326. package/node/locales/ptBR.js +29 -1
  327. package/node/locales/roRO.js +28 -0
  328. package/node/locales/ruRU.js +28 -0
  329. package/node/locales/skSK.js +28 -0
  330. package/node/locales/svSE.js +28 -0
  331. package/node/locales/trTR.js +28 -0
  332. package/node/locales/ukUA.js +36 -9
  333. package/node/locales/urPK.js +28 -0
  334. package/node/locales/viVN.js +27 -0
  335. package/node/locales/zhCN.js +28 -0
  336. package/node/locales/zhTW.js +28 -0
  337. package/node/material/index.js +5 -1
  338. package/node/models/api/index.js +0 -11
  339. package/node/models/gridHeaderFilteringModel.js +5 -0
  340. package/node/models/index.js +0 -11
  341. package/node/utils/domUtils.js +15 -1
  342. package/package.json +1 -1
  343. package/utils/domUtils.d.ts +1 -0
  344. package/utils/domUtils.js +13 -1
  345. package/models/api/gridClipboardApi.d.ts +0 -11
  346. /package/legacy/models/api/{gridClipboardApi.js → gridHeaderFilteringApi.js} +0 -0
  347. /package/{models/api/gridClipboardApi.js → legacy/models/gridHeaderFilteringModel.js} +0 -0
  348. /package/{modern/models/api/gridClipboardApi.js → models/api/gridHeaderFilteringApi.js} +0 -0
  349. /package/node/models/api/{gridClipboardApi.js → gridHeaderFilteringApi.js} +0 -0
@@ -73,9 +73,9 @@ const useDataGridComponent = (inputApiRef, props) => {
73
73
  (0, _useGridRowsMeta.useGridRowsMeta)(privateApiRef, props);
74
74
  (0, _useGridScroll.useGridScroll)(privateApiRef, props);
75
75
  (0, _useGridColumnMenu.useGridColumnMenu)(privateApiRef);
76
- (0, _useGridCsvExport.useGridCsvExport)(privateApiRef);
76
+ (0, _useGridCsvExport.useGridCsvExport)(privateApiRef, props);
77
77
  (0, _useGridPrintExport.useGridPrintExport)(privateApiRef, props);
78
- (0, _useGridClipboard.useGridClipboard)(privateApiRef);
78
+ (0, _useGridClipboard.useGridClipboard)(privateApiRef, props);
79
79
  (0, _useGridDimensions.useGridDimensions)(privateApiRef, props);
80
80
  (0, _useGridEvents.useGridEvents)(privateApiRef, props);
81
81
  (0, _useGridStatePersistence.useGridStatePersistence)(privateApiRef);
@@ -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 = {
@@ -75,20 +73,17 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = {
75
73
  disableColumnReorder: false,
76
74
  disableColumnResize: false,
77
75
  keepNonExistentRowsSelected: false,
78
- keepColumnPositionIfDraggedOutside: false
76
+ keepColumnPositionIfDraggedOutside: false,
77
+ unstable_ignoreValueFormatterDuringExport: false,
78
+ clipboardCopyCellDelimiter: '\t'
79
79
  };
80
80
  exports.DATA_GRID_PROPS_DEFAULT_VALUES = DATA_GRID_PROPS_DEFAULT_VALUES;
81
81
  const defaultSlots = (0, _utils.uncapitalizeObjectKeys)(_defaultGridSlotsComponents.DATA_GRID_DEFAULT_SLOTS_COMPONENTS);
82
82
  const useDataGridProps = inProps => {
83
- const _useThemeProps = (0, _styles.useThemeProps)({
84
- props: inProps,
85
- name: 'MuiDataGrid'
86
- }),
87
- {
88
- components,
89
- componentsProps
90
- } = _useThemeProps,
91
- themedProps = (0, _objectWithoutPropertiesLoose2.default)(_useThemeProps, _excluded);
83
+ const [components, componentsProps, themedProps] = (0, _utils.useProps)((0, _styles.useThemeProps)({
84
+ props: inProps,
85
+ name: 'MuiDataGrid'
86
+ }));
92
87
  const localeText = React.useMemo(() => (0, _extends2.default)({}, _constants.GRID_DEFAULT_LOCALE_TEXT, themedProps.localeText), [themedProps.localeText]);
93
88
  const slots = React.useMemo(() => (0, _utils.computeSlots)({
94
89
  defaultSlots,
@@ -17,6 +17,22 @@ function gridBooleanFormatter({
17
17
  }) {
18
18
  return value ? api.getLocaleText('booleanCellTrueLabel') : api.getLocaleText('booleanCellFalseLabel');
19
19
  }
20
+ const stringToBoolean = value => {
21
+ switch (value.toLowerCase().trim()) {
22
+ case 'true':
23
+ case 'yes':
24
+ case '1':
25
+ return true;
26
+ case 'false':
27
+ case 'no':
28
+ case '0':
29
+ case 'null':
30
+ case 'undefined':
31
+ return false;
32
+ default:
33
+ return undefined;
34
+ }
35
+ };
20
36
  const GRID_BOOLEAN_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRING_COL_DEF, {
21
37
  type: 'boolean',
22
38
  align: 'center',
@@ -28,6 +44,8 @@ const GRID_BOOLEAN_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_S
28
44
  filterOperators: (0, _gridBooleanOperators.getGridBooleanOperators)(),
29
45
  getApplyQuickFilterFn: undefined,
30
46
  // @ts-ignore
31
- aggregable: false
47
+ aggregable: false,
48
+ // @ts-ignore
49
+ pastedValueParser: value => stringToBoolean(value)
32
50
  });
33
51
  exports.GRID_BOOLEAN_COL_DEF = GRID_BOOLEAN_COL_DEF;
@@ -60,7 +60,9 @@ const GRID_DATE_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRI
60
60
  valueFormatter: gridDateFormatter,
61
61
  filterOperators: (0, _gridDateOperators.getGridDateOperators)(),
62
62
  renderEditCell: _GridEditDateCell.renderEditDateCell,
63
- getApplyQuickFilterFn: undefined
63
+ getApplyQuickFilterFn: undefined,
64
+ // @ts-ignore
65
+ pastedValueParser: value => new Date(value)
64
66
  });
65
67
  exports.GRID_DATE_COL_DEF = GRID_DATE_COL_DEF;
66
68
  const GRID_DATETIME_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRING_COL_DEF, {
@@ -69,6 +71,8 @@ const GRID_DATETIME_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_
69
71
  valueFormatter: gridDateTimeFormatter,
70
72
  filterOperators: (0, _gridDateOperators.getGridDateOperators)(true),
71
73
  renderEditCell: _GridEditDateCell.renderEditDateCell,
72
- getApplyQuickFilterFn: undefined
74
+ getApplyQuickFilterFn: undefined,
75
+ // @ts-ignore
76
+ pastedValueParser: value => new Date(value)
73
77
  });
74
78
  exports.GRID_DATETIME_COL_DEF = GRID_DATETIME_COL_DEF;
@@ -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)) {
@@ -58,6 +58,26 @@ const GRID_SINGLE_SELECT_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.
58
58
  return valueOption ? colDef.getOptionLabel(valueOption) : '';
59
59
  },
60
60
  renderEditCell: _GridEditSingleSelectCell.renderEditSingleSelectCell,
61
- filterOperators: (0, _gridSingleSelectOperators.getGridSingleSelectOperators)()
61
+ filterOperators: (0, _gridSingleSelectOperators.getGridSingleSelectOperators)(),
62
+ // @ts-ignore
63
+ pastedValueParser: (value, params) => {
64
+ const colDef = params.colDef;
65
+ const colDefValueOptions = colDef.valueOptions;
66
+ const valueOptions = typeof colDefValueOptions === 'function' ? colDefValueOptions({
67
+ field: colDef.field
68
+ }) : colDefValueOptions || [];
69
+ const getOptionValue = colDef.getOptionValue;
70
+ const valueOption = valueOptions.find(option => {
71
+ if (getOptionValue(option) === value) {
72
+ return true;
73
+ }
74
+ return false;
75
+ });
76
+ if (valueOption) {
77
+ return value;
78
+ }
79
+ // do not paste the value if it is not in the valueOptions
80
+ return undefined;
81
+ }
62
82
  });
63
83
  exports.GRID_SINGLE_SELECT_COL_DEF = GRID_SINGLE_SELECT_COL_DEF;
@@ -97,7 +97,8 @@ function GridBody(props) {
97
97
  apiRef.current.register('private', {
98
98
  columnHeadersContainerElementRef: columnsContainerRef,
99
99
  columnHeadersElementRef: columnHeadersRef,
100
- virtualScrollerRef
100
+ virtualScrollerRef,
101
+ mainElementRef: rootRef
101
102
  });
102
103
  const hasDimensions = !!apiRef.current.getRootDimensions();
103
104
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridMainContainer.GridMainContainer, {
@@ -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;
@@ -156,6 +156,7 @@ const GridRootStyles = (0, _styles.styled)('div', {
156
156
  outline: 'none',
157
157
  height: '100%',
158
158
  display: 'flex',
159
+ overflow: 'hidden',
159
160
  flexDirection: 'column',
160
161
  overflowAnchor: 'none',
161
162
  // Keep the same scrolling position
@@ -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]),
@@ -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 _Autocomplete = _interopRequireWildcard(require("@mui/material/Autocomplete"));
13
- var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
14
13
  var _utils = require("@mui/utils");
15
14
  var _filterPanelUtils = require("./filterPanelUtils");
16
15
  var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
@@ -105,7 +104,7 @@ function GridFilterInputMultipleSingleSelect(props) {
105
104
  value: filteredValues,
106
105
  onChange: handleChange,
107
106
  getOptionLabel: getOptionLabel,
108
- renderTags: (value, getTagProps) => value.map((option, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, (0, _extends2.default)({
107
+ renderTags: (value, getTagProps) => value.map((option, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseChip, (0, _extends2.default)({
109
108
  variant: "outlined",
110
109
  size: "small",
111
110
  label: getOptionLabel(option)
@@ -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 _Autocomplete = _interopRequireDefault(require("@mui/material/Autocomplete"));
13
- var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
14
13
  var _utils = require("@mui/utils");
15
14
  var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
16
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -64,7 +63,7 @@ function GridFilterInputMultipleValue(props) {
64
63
  id: id,
65
64
  value: filterValueState,
66
65
  onChange: handleChange,
67
- renderTags: (value, getTagProps) => value.map((option, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, (0, _extends2.default)({
66
+ renderTags: (value, getTagProps) => value.map((option, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseChip, (0, _extends2.default)({
68
67
  variant: "outlined",
69
68
  size: "small",
70
69
  label: option
@@ -10,10 +10,11 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _utils = require("@mui/utils");
13
+ var _styles = require("@mui/material/styles");
13
14
  var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
14
15
  var _filterPanelUtils = require("./filterPanelUtils");
15
16
  var _jsxRuntime = require("react/jsx-runtime");
16
- const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "getOptionLabel", "getOptionValue"];
17
+ const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "getOptionLabel", "getOptionValue", "placeholder", "tabIndex", "label", "headerFilterMenu", "isFilterActive", "clearButton"];
17
18
  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
19
  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
20
  const renderSingleSelectOptions = ({
@@ -40,6 +41,11 @@ const renderSingleSelectOptions = ({
40
41
  }), label);
41
42
  });
42
43
  };
44
+ const SingleSelectOperatorContainer = (0, _styles.styled)('div')({
45
+ display: 'flex',
46
+ alignItems: 'flex-end',
47
+ width: '100%'
48
+ });
43
49
  function GridFilterInputSingleSelect(props) {
44
50
  const {
45
51
  item,
@@ -48,7 +54,13 @@ function GridFilterInputSingleSelect(props) {
48
54
  apiRef,
49
55
  focusElementRef,
50
56
  getOptionLabel: getOptionLabelProp,
51
- getOptionValue: getOptionValueProp
57
+ getOptionValue: getOptionValueProp,
58
+ placeholder,
59
+ tabIndex,
60
+ label: labelProp,
61
+ headerFilterMenu,
62
+ isFilterActive,
63
+ clearButton
52
64
  } = props,
53
65
  others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
54
66
  const [filterValueState, setFilterValueState] = React.useState(item.value ?? '');
@@ -106,36 +118,40 @@ function GridFilterInputSingleSelect(props) {
106
118
  if (!(0, _filterPanelUtils.isSingleSelectColDef)(resolvedColumn)) {
107
119
  return null;
108
120
  }
109
- const label = apiRef.current.getLocaleText('filterPanelInputLabel');
110
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
111
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputLabel, (0, _extends2.default)({}, rootProps.slotProps?.baseInputLabel, {
112
- id: labelId,
113
- shrink: true,
114
- variant: "standard",
115
- children: label
116
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelect, (0, _extends2.default)({
117
- id: id,
118
- label: label,
119
- labelId: labelId,
120
- value: filterValueState,
121
- onChange: onFilterChange,
122
- variant: "standard",
123
- type: type || 'text',
124
- inputProps: {
125
- ref: focusElementRef,
126
- placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder')
127
- },
128
- native: isSelectNative
129
- }, others, rootProps.slotProps?.baseSelect, {
130
- children: renderSingleSelectOptions({
131
- column: resolvedColumn,
132
- OptionComponent: rootProps.slots.baseSelectOption,
133
- getOptionLabel,
134
- getOptionValue,
135
- isSelectNative,
136
- baseSelectOptionProps: rootProps.slotProps?.baseSelectOption
137
- })
138
- }))]
121
+ const label = labelProp ?? apiRef.current.getLocaleText('filterPanelInputLabel');
122
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(SingleSelectOperatorContainer, {
123
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseFormControl, {
124
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputLabel, (0, _extends2.default)({}, rootProps.slotProps?.baseInputLabel, {
125
+ id: labelId,
126
+ shrink: true,
127
+ variant: "standard",
128
+ children: label
129
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelect, (0, _extends2.default)({
130
+ id: id,
131
+ label: label,
132
+ labelId: labelId,
133
+ value: filterValueState,
134
+ onChange: onFilterChange,
135
+ startAdornment: isFilterActive ? headerFilterMenu : null,
136
+ variant: "standard",
137
+ type: type || 'text',
138
+ inputProps: {
139
+ tabIndex,
140
+ ref: focusElementRef,
141
+ placeholder: placeholder ?? apiRef.current.getLocaleText('filterPanelInputPlaceholder')
142
+ },
143
+ native: isSelectNative
144
+ }, others, rootProps.slotProps?.baseSelect, {
145
+ children: renderSingleSelectOptions({
146
+ column: resolvedColumn,
147
+ OptionComponent: rootProps.slots.baseSelectOption,
148
+ getOptionLabel,
149
+ getOptionValue,
150
+ isSelectNative,
151
+ baseSelectOptionProps: rootProps.slotProps?.baseSelectOption
152
+ })
153
+ }))]
154
+ }), clearButton]
139
155
  });
140
156
  }
141
157
  process.env.NODE_ENV !== "production" ? GridFilterInputSingleSelect.propTypes = {
@@ -147,6 +163,7 @@ process.env.NODE_ENV !== "production" ? GridFilterInputSingleSelect.propTypes =
147
163
  current: _propTypes.default.object.isRequired
148
164
  }).isRequired,
149
165
  applyValue: _propTypes.default.func.isRequired,
166
+ clearButton: _propTypes.default.node,
150
167
  focusElementRef: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.func, _propTypes.default.object]),
151
168
  /**
152
169
  * Used to determine the label displayed for a given value option.
@@ -160,6 +177,12 @@ process.env.NODE_ENV !== "production" ? GridFilterInputSingleSelect.propTypes =
160
177
  * @returns {string} The value to be used.
161
178
  */
162
179
  getOptionValue: _propTypes.default.func,
180
+ headerFilterMenu: _propTypes.default.node,
181
+ /**
182
+ * It is `true` if the filter either has a value or an operator with no value
183
+ * required is selected (e.g. `isEmpty`)
184
+ */
185
+ isFilterActive: _propTypes.default.bool,
163
186
  item: _propTypes.default.shape({
164
187
  field: _propTypes.default.string.isRequired,
165
188
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),