@mui/x-data-grid 6.4.0 → 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 (267) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/DataGrid/useDataGridProps.js +5 -12
  3. package/colDef/gridNumericOperators.js +0 -6
  4. package/components/cell/GridEditInputCell.js +4 -1
  5. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +15 -2
  6. package/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  7. package/components/panel/filterPanel/GridFilterInputDate.d.ts +8 -1
  8. package/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  9. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +8 -1
  10. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  11. package/components/panel/filterPanel/GridFilterInputValue.d.ts +11 -4
  12. package/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  13. package/components/panel/filterPanel/GridFilterPanel.d.ts +2 -1
  14. package/components/panel/filterPanel/GridFilterPanel.js +1 -1
  15. package/components/panel/filterPanel/index.d.ts +3 -1
  16. package/components/panel/filterPanel/index.js +2 -1
  17. package/constants/localeTextConstants.js +26 -0
  18. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +9 -2
  19. package/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  20. package/hooks/features/dimensions/useGridDimensions.js +2 -2
  21. package/hooks/features/editing/useGridEditing.js +0 -3
  22. package/hooks/features/focus/gridFocusState.d.ts +2 -0
  23. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -0
  24. package/hooks/features/focus/gridFocusStateSelector.js +6 -0
  25. package/hooks/features/focus/useGridFocus.js +55 -9
  26. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +4 -0
  27. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  28. package/hooks/features/headerFiltering/index.d.ts +1 -0
  29. package/hooks/features/headerFiltering/index.js +1 -0
  30. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +6 -0
  31. package/hooks/features/headerFiltering/useGridHeaderFiltering.js +91 -0
  32. package/hooks/features/index.d.ts +1 -0
  33. package/hooks/features/index.js +2 -1
  34. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  35. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  36. package/hooks/features/rows/useGridRows.js +16 -1
  37. package/index.js +1 -1
  38. package/internals/index.d.ts +6 -1
  39. package/internals/index.js +4 -0
  40. package/internals/utils/index.d.ts +1 -0
  41. package/internals/utils/index.js +2 -1
  42. package/internals/utils/useProps.d.ts +8 -0
  43. package/internals/utils/useProps.js +13 -0
  44. package/legacy/DataGrid/useDataGridProps.js +8 -8
  45. package/legacy/colDef/gridNumericOperators.js +0 -6
  46. package/legacy/components/cell/GridEditInputCell.js +4 -1
  47. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +79 -35
  48. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +26 -5
  49. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +54 -31
  50. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +28 -5
  51. package/legacy/components/panel/filterPanel/GridFilterPanel.js +1 -1
  52. package/legacy/components/panel/filterPanel/index.js +2 -1
  53. package/legacy/constants/localeTextConstants.js +26 -0
  54. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -5
  55. package/legacy/hooks/features/dimensions/useGridDimensions.js +2 -2
  56. package/legacy/hooks/features/editing/useGridEditing.js +0 -3
  57. package/legacy/hooks/features/focus/gridFocusStateSelector.js +10 -0
  58. package/legacy/hooks/features/focus/useGridFocus.js +58 -9
  59. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +11 -0
  60. package/legacy/hooks/features/headerFiltering/index.js +1 -0
  61. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +93 -0
  62. package/legacy/hooks/features/index.js +2 -1
  63. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  64. package/legacy/hooks/features/rows/useGridRows.js +16 -1
  65. package/legacy/index.js +1 -1
  66. package/legacy/internals/index.js +4 -0
  67. package/legacy/internals/utils/index.js +2 -1
  68. package/legacy/internals/utils/useProps.js +11 -0
  69. package/legacy/locales/arSD.js +28 -0
  70. package/legacy/locales/beBY.js +28 -0
  71. package/legacy/locales/bgBG.js +28 -0
  72. package/legacy/locales/csCZ.js +36 -8
  73. package/legacy/locales/daDK.js +28 -0
  74. package/legacy/locales/deDE.js +28 -0
  75. package/legacy/locales/elGR.js +27 -0
  76. package/legacy/locales/esES.js +28 -0
  77. package/legacy/locales/faIR.js +28 -0
  78. package/legacy/locales/fiFI.js +28 -0
  79. package/legacy/locales/frFR.js +28 -0
  80. package/legacy/locales/heIL.js +30 -2
  81. package/legacy/locales/huHU.js +28 -0
  82. package/legacy/locales/itIT.js +28 -0
  83. package/legacy/locales/jaJP.js +28 -0
  84. package/legacy/locales/koKR.js +28 -0
  85. package/legacy/locales/nbNO.js +28 -0
  86. package/legacy/locales/nlNL.js +28 -0
  87. package/legacy/locales/plPL.js +28 -0
  88. package/legacy/locales/ptBR.js +28 -0
  89. package/legacy/locales/roRO.js +28 -0
  90. package/legacy/locales/ruRU.js +28 -0
  91. package/legacy/locales/skSK.js +28 -0
  92. package/legacy/locales/svSE.js +28 -0
  93. package/legacy/locales/trTR.js +28 -0
  94. package/legacy/locales/ukUA.js +28 -0
  95. package/legacy/locales/urPK.js +28 -0
  96. package/legacy/locales/viVN.js +27 -0
  97. package/legacy/locales/zhCN.js +28 -0
  98. package/legacy/locales/zhTW.js +28 -0
  99. package/legacy/material/index.js +2 -0
  100. package/legacy/models/api/gridHeaderFilteringApi.js +1 -0
  101. package/legacy/models/gridHeaderFilteringModel.js +1 -0
  102. package/legacy/models/index.js +0 -1
  103. package/locales/arSD.js +28 -0
  104. package/locales/beBY.js +28 -0
  105. package/locales/bgBG.js +28 -0
  106. package/locales/csCZ.js +36 -8
  107. package/locales/daDK.js +28 -0
  108. package/locales/deDE.js +28 -0
  109. package/locales/elGR.js +27 -0
  110. package/locales/esES.js +28 -0
  111. package/locales/faIR.js +28 -0
  112. package/locales/fiFI.js +28 -0
  113. package/locales/frFR.js +28 -0
  114. package/locales/heIL.js +30 -2
  115. package/locales/huHU.js +28 -0
  116. package/locales/itIT.js +28 -0
  117. package/locales/jaJP.js +28 -0
  118. package/locales/koKR.js +28 -0
  119. package/locales/nbNO.js +28 -0
  120. package/locales/nlNL.js +28 -0
  121. package/locales/plPL.js +28 -0
  122. package/locales/ptBR.js +28 -0
  123. package/locales/roRO.js +28 -0
  124. package/locales/ruRU.js +28 -0
  125. package/locales/skSK.js +28 -0
  126. package/locales/svSE.js +28 -0
  127. package/locales/trTR.js +28 -0
  128. package/locales/ukUA.js +28 -0
  129. package/locales/urPK.js +28 -0
  130. package/locales/viVN.js +27 -0
  131. package/locales/zhCN.js +28 -0
  132. package/locales/zhTW.js +28 -0
  133. package/material/index.d.ts +3 -66
  134. package/material/index.js +2 -0
  135. package/models/api/gridApiCommon.d.ts +3 -2
  136. package/models/api/gridCoreApi.d.ts +4 -0
  137. package/models/api/gridFocusApi.d.ts +6 -0
  138. package/models/api/gridHeaderFilteringApi.d.ts +30 -0
  139. package/models/api/gridHeaderFilteringApi.js +1 -0
  140. package/models/api/gridLocaleTextApi.d.ts +25 -0
  141. package/models/events/gridEventLookup.d.ts +27 -1
  142. package/models/gridFilterOperator.d.ts +4 -0
  143. package/models/gridHeaderFilteringModel.d.ts +5 -0
  144. package/models/gridHeaderFilteringModel.js +1 -0
  145. package/models/gridSlotsComponent.d.ts +16 -4
  146. package/models/gridStateCommunity.d.ts +2 -0
  147. package/models/index.d.ts +1 -1
  148. package/models/index.js +0 -1
  149. package/modern/DataGrid/useDataGridProps.js +5 -12
  150. package/modern/colDef/gridNumericOperators.js +0 -6
  151. package/modern/components/cell/GridEditInputCell.js +4 -1
  152. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  153. package/modern/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  154. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  155. package/modern/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  156. package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -1
  157. package/modern/components/panel/filterPanel/index.js +2 -1
  158. package/modern/constants/localeTextConstants.js +26 -0
  159. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  160. package/modern/hooks/features/dimensions/useGridDimensions.js +2 -2
  161. package/modern/hooks/features/editing/useGridEditing.js +0 -3
  162. package/modern/hooks/features/focus/gridFocusStateSelector.js +6 -0
  163. package/modern/hooks/features/focus/useGridFocus.js +55 -9
  164. package/modern/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  165. package/modern/hooks/features/headerFiltering/index.js +1 -0
  166. package/modern/hooks/features/headerFiltering/useGridHeaderFiltering.js +90 -0
  167. package/modern/hooks/features/index.js +2 -1
  168. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  169. package/modern/hooks/features/rows/useGridRows.js +16 -1
  170. package/modern/index.js +1 -1
  171. package/modern/internals/index.js +4 -0
  172. package/modern/internals/utils/index.js +2 -1
  173. package/modern/internals/utils/useProps.js +13 -0
  174. package/modern/locales/arSD.js +28 -0
  175. package/modern/locales/beBY.js +28 -0
  176. package/modern/locales/bgBG.js +28 -0
  177. package/modern/locales/csCZ.js +36 -8
  178. package/modern/locales/daDK.js +28 -0
  179. package/modern/locales/deDE.js +28 -0
  180. package/modern/locales/elGR.js +27 -0
  181. package/modern/locales/esES.js +28 -0
  182. package/modern/locales/faIR.js +28 -0
  183. package/modern/locales/fiFI.js +28 -0
  184. package/modern/locales/frFR.js +28 -0
  185. package/modern/locales/heIL.js +30 -2
  186. package/modern/locales/huHU.js +28 -0
  187. package/modern/locales/itIT.js +28 -0
  188. package/modern/locales/jaJP.js +28 -0
  189. package/modern/locales/koKR.js +28 -0
  190. package/modern/locales/nbNO.js +28 -0
  191. package/modern/locales/nlNL.js +28 -0
  192. package/modern/locales/plPL.js +28 -0
  193. package/modern/locales/ptBR.js +28 -0
  194. package/modern/locales/roRO.js +28 -0
  195. package/modern/locales/ruRU.js +28 -0
  196. package/modern/locales/skSK.js +28 -0
  197. package/modern/locales/svSE.js +28 -0
  198. package/modern/locales/trTR.js +28 -0
  199. package/modern/locales/ukUA.js +28 -0
  200. package/modern/locales/urPK.js +28 -0
  201. package/modern/locales/viVN.js +27 -0
  202. package/modern/locales/zhCN.js +28 -0
  203. package/modern/locales/zhTW.js +28 -0
  204. package/modern/material/index.js +2 -0
  205. package/modern/models/api/gridHeaderFilteringApi.js +1 -0
  206. package/modern/models/gridHeaderFilteringModel.js +1 -0
  207. package/modern/models/index.js +0 -1
  208. package/node/DataGrid/useDataGridProps.js +4 -11
  209. package/node/colDef/gridNumericOperators.js +0 -6
  210. package/node/components/cell/GridEditInputCell.js +4 -1
  211. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +78 -35
  212. package/node/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  213. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  214. package/node/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  215. package/node/components/panel/filterPanel/GridFilterPanel.js +2 -1
  216. package/node/components/panel/filterPanel/index.js +26 -8
  217. package/node/constants/localeTextConstants.js +26 -0
  218. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  219. package/node/hooks/features/dimensions/useGridDimensions.js +2 -2
  220. package/node/hooks/features/editing/useGridEditing.js +0 -3
  221. package/node/hooks/features/focus/gridFocusStateSelector.js +9 -1
  222. package/node/hooks/features/focus/useGridFocus.js +55 -9
  223. package/node/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +15 -0
  224. package/node/hooks/features/headerFiltering/index.js +16 -0
  225. package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +101 -0
  226. package/node/hooks/features/index.js +11 -0
  227. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  228. package/node/hooks/features/rows/useGridRows.js +16 -1
  229. package/node/index.js +1 -1
  230. package/node/internals/index.js +46 -0
  231. package/node/internals/utils/index.js +11 -0
  232. package/node/internals/utils/useProps.js +22 -0
  233. package/node/locales/arSD.js +28 -0
  234. package/node/locales/beBY.js +28 -0
  235. package/node/locales/bgBG.js +28 -0
  236. package/node/locales/csCZ.js +36 -8
  237. package/node/locales/daDK.js +28 -0
  238. package/node/locales/deDE.js +28 -0
  239. package/node/locales/elGR.js +27 -0
  240. package/node/locales/esES.js +28 -0
  241. package/node/locales/faIR.js +28 -0
  242. package/node/locales/fiFI.js +28 -0
  243. package/node/locales/frFR.js +28 -0
  244. package/node/locales/heIL.js +30 -2
  245. package/node/locales/huHU.js +28 -0
  246. package/node/locales/itIT.js +28 -0
  247. package/node/locales/jaJP.js +28 -0
  248. package/node/locales/koKR.js +28 -0
  249. package/node/locales/nbNO.js +28 -0
  250. package/node/locales/nlNL.js +28 -0
  251. package/node/locales/plPL.js +28 -0
  252. package/node/locales/ptBR.js +28 -0
  253. package/node/locales/roRO.js +28 -0
  254. package/node/locales/ruRU.js +28 -0
  255. package/node/locales/skSK.js +28 -0
  256. package/node/locales/svSE.js +28 -0
  257. package/node/locales/trTR.js +28 -0
  258. package/node/locales/ukUA.js +28 -0
  259. package/node/locales/urPK.js +28 -0
  260. package/node/locales/viVN.js +27 -0
  261. package/node/locales/zhCN.js +28 -0
  262. package/node/locales/zhTW.js +28 -0
  263. package/node/material/index.js +2 -0
  264. package/node/models/api/gridHeaderFilteringApi.js +5 -0
  265. package/node/models/gridHeaderFilteringModel.js +5 -0
  266. package/node/models/index.js +0 -11
  267. package/package.json +1 -1
@@ -60,6 +60,33 @@ const viVNGrid = {
60
60
  filterOperatorIsEmpty: 'Rỗng',
61
61
  filterOperatorIsNotEmpty: 'Khác rỗng',
62
62
  // filterOperatorIsAnyOf: 'is any of',
63
+ // filterOperator=: '=',
64
+ // filterOperator!=: '!=',
65
+ // filterOperator>: '>',
66
+ // filterOperator>=: '>=',
67
+ // filterOperator<: '<',
68
+ // filterOperator<=: '<=',
69
+
70
+ // Header filter operators text
71
+ // headerFilterOperatorContains: 'Contains',
72
+ // headerFilterOperatorEquals: 'Equals',
73
+ // headerFilterOperatorStartsWith: 'Starts with',
74
+ // headerFilterOperatorEndsWith: 'Ends with',
75
+ // headerFilterOperatorIs: 'Is',
76
+ // headerFilterOperatorNot: 'Is not',
77
+ // headerFilterOperatorAfter: 'Is after',
78
+ // headerFilterOperatorOnOrAfter: 'Is on or after',
79
+ // headerFilterOperatorBefore: 'Is before',
80
+ // headerFilterOperatorOnOrBefore: 'Is on or before',
81
+ // headerFilterOperatorIsEmpty: 'Is empty',
82
+ // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
+ // headerFilterOperatorIsAnyOf: 'Is any of',
84
+ // headerFilterOperator=: 'Equals',
85
+ // headerFilterOperator!=: 'Not equals',
86
+ // headerFilterOperator>: 'Is greater than',
87
+ // headerFilterOperator>=: 'Is greater than or equal to',
88
+ // headerFilterOperator<: 'Is less than',
89
+ // headerFilterOperator<=: 'Is less than or equal to',
63
90
 
64
91
  // Filter values text
65
92
  filterValueAny: 'bất kỳ giá trị nào',
@@ -60,6 +60,34 @@ const zhCNGrid = {
60
60
  filterOperatorIsEmpty: '为空',
61
61
  filterOperatorIsNotEmpty: '不为空',
62
62
  filterOperatorIsAnyOf: '属于',
63
+ // filterOperator=: '=',
64
+ // filterOperator!=: '!=',
65
+ // filterOperator>: '>',
66
+ // filterOperator>=: '>=',
67
+ // filterOperator<: '<',
68
+ // filterOperator<=: '<=',
69
+
70
+ // Header filter operators text
71
+ // headerFilterOperatorContains: 'Contains',
72
+ // headerFilterOperatorEquals: 'Equals',
73
+ // headerFilterOperatorStartsWith: 'Starts with',
74
+ // headerFilterOperatorEndsWith: 'Ends with',
75
+ // headerFilterOperatorIs: 'Is',
76
+ // headerFilterOperatorNot: 'Is not',
77
+ // headerFilterOperatorAfter: 'Is after',
78
+ // headerFilterOperatorOnOrAfter: 'Is on or after',
79
+ // headerFilterOperatorBefore: 'Is before',
80
+ // headerFilterOperatorOnOrBefore: 'Is on or before',
81
+ // headerFilterOperatorIsEmpty: 'Is empty',
82
+ // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
+ // headerFilterOperatorIsAnyOf: 'Is any of',
84
+ // headerFilterOperator=: 'Equals',
85
+ // headerFilterOperator!=: 'Not equals',
86
+ // headerFilterOperator>: 'Is greater than',
87
+ // headerFilterOperator>=: 'Is greater than or equal to',
88
+ // headerFilterOperator<: 'Is less than',
89
+ // headerFilterOperator<=: 'Is less than or equal to',
90
+
63
91
  // Filter values text
64
92
  filterValueAny: '任何',
65
93
  filterValueTrue: '真',
@@ -60,6 +60,34 @@ const zhTWGrid = {
60
60
  filterOperatorIsEmpty: '為空',
61
61
  filterOperatorIsNotEmpty: '不為空',
62
62
  filterOperatorIsAnyOf: '是其中之一',
63
+ // filterOperator=: '=',
64
+ // filterOperator!=: '!=',
65
+ // filterOperator>: '>',
66
+ // filterOperator>=: '>=',
67
+ // filterOperator<: '<',
68
+ // filterOperator<=: '<=',
69
+
70
+ // Header filter operators text
71
+ // headerFilterOperatorContains: 'Contains',
72
+ // headerFilterOperatorEquals: 'Equals',
73
+ // headerFilterOperatorStartsWith: 'Starts with',
74
+ // headerFilterOperatorEndsWith: 'Ends with',
75
+ // headerFilterOperatorIs: 'Is',
76
+ // headerFilterOperatorNot: 'Is not',
77
+ // headerFilterOperatorAfter: 'Is after',
78
+ // headerFilterOperatorOnOrAfter: 'Is on or after',
79
+ // headerFilterOperatorBefore: 'Is before',
80
+ // headerFilterOperatorOnOrBefore: 'Is on or before',
81
+ // headerFilterOperatorIsEmpty: 'Is empty',
82
+ // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
+ // headerFilterOperatorIsAnyOf: 'Is any of',
84
+ // headerFilterOperator=: 'Equals',
85
+ // headerFilterOperator!=: 'Not equals',
86
+ // headerFilterOperator>: 'Is greater than',
87
+ // headerFilterOperator>=: 'Is greater than or equal to',
88
+ // headerFilterOperator<: 'Is less than',
89
+ // headerFilterOperator<=: 'Is less than or equal to',
90
+
63
91
  // Filter values text
64
92
  filterValueAny: '任何值',
65
93
  filterValueTrue: '真',
@@ -6,6 +6,7 @@ import MUISelect from '@mui/material/Select';
6
6
  import MUISwitch from '@mui/material/Switch';
7
7
  import MUIButton from '@mui/material/Button';
8
8
  import MUIIconButton from '@mui/material/IconButton';
9
+ import MUIInputAdornment from '@mui/material/InputAdornment';
9
10
  import MUITooltip from '@mui/material/Tooltip';
10
11
  import MUIPopper from '@mui/material/Popper';
11
12
  import MUIInputLabel from '@mui/material/InputLabel';
@@ -58,6 +59,7 @@ const materialSlots = _extends({}, iconSlots, {
58
59
  BaseSwitch: MUISwitch,
59
60
  BaseButton: MUIButton,
60
61
  BaseIconButton: MUIIconButton,
62
+ BaseInputAdornment: MUIInputAdornment,
61
63
  BaseTooltip: MUITooltip,
62
64
  BasePopper: MUIPopper,
63
65
  BaseInputLabel: MUIInputLabel,
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -16,7 +16,6 @@ export * from './gridCell';
16
16
  export * from './gridColumnHeaderClass';
17
17
  export * from './api';
18
18
  export * from './gridIconSlotsComponent';
19
- export * from './gridSlotsComponent';
20
19
  export * from './gridSlotsComponentsProps';
21
20
  export * from './gridDensity';
22
21
  export * from './logger';
@@ -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)) {
@@ -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;
@@ -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,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]),
@@ -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"];
16
+ const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "tabIndex", "disabled", "headerFilterMenu", "isFilterActive", "clearButton", "InputProps"];
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_STROKE_TIME = 500;
@@ -24,7 +24,13 @@ function GridFilterInputValue(props) {
24
24
  applyValue,
25
25
  type,
26
26
  apiRef,
27
- focusElementRef
27
+ focusElementRef,
28
+ tabIndex,
29
+ disabled,
30
+ headerFilterMenu,
31
+ isFilterActive,
32
+ clearButton,
33
+ InputProps
28
34
  } = props,
29
35
  others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
30
36
  const filterTimeout = React.useRef();
@@ -55,9 +61,6 @@ function GridFilterInputValue(props) {
55
61
  const itemValue = item.value ?? '';
56
62
  setFilterValueState(String(itemValue));
57
63
  }, [item.value]);
58
- const InputProps = applying ? {
59
- endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {})
60
- } : others.InputProps;
61
64
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTextField, (0, _extends2.default)({
62
65
  id: id,
63
66
  label: apiRef.current.getLocaleText('filterPanelInputLabel'),
@@ -66,7 +69,20 @@ function GridFilterInputValue(props) {
66
69
  onChange: onFilterChange,
67
70
  variant: "standard",
68
71
  type: type || 'text',
69
- InputProps: InputProps,
72
+ InputProps: (0, _extends2.default)({}, applying || clearButton ? {
73
+ endAdornment: applying ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {
74
+ fontSize: "small",
75
+ color: "action"
76
+ }) : clearButton
77
+ } : {}, headerFilterMenu && isFilterActive ? {
78
+ startAdornment: headerFilterMenu
79
+ } : {}, {
80
+ disabled
81
+ }, InputProps, {
82
+ inputProps: (0, _extends2.default)({
83
+ tabIndex
84
+ }, InputProps?.inputProps)
85
+ }),
70
86
  InputLabelProps: {
71
87
  shrink: true
72
88
  },
@@ -82,7 +98,14 @@ process.env.NODE_ENV !== "production" ? GridFilterInputValue.propTypes = {
82
98
  current: _propTypes.default.object.isRequired
83
99
  }).isRequired,
84
100
  applyValue: _propTypes.default.func.isRequired,
101
+ clearButton: _propTypes.default.node,
85
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,
86
109
  item: _propTypes.default.shape({
87
110
  field: _propTypes.default.string.isRequired,
88
111
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),