@mui/x-date-pickers 7.0.0-alpha.4 → 7.0.0-alpha.6

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 (252) hide show
  1. package/CHANGELOG.md +342 -0
  2. package/DateCalendar/DateCalendar.types.d.ts +6 -6
  3. package/DateCalendar/DayCalendar.d.ts +4 -4
  4. package/DateCalendar/index.d.ts +1 -1
  5. package/DateField/DateField.js +17 -50
  6. package/DateField/DateField.types.d.ts +5 -9
  7. package/DateField/useDateField.d.ts +2 -2
  8. package/DateField/useDateField.js +1 -5
  9. package/DatePicker/DatePicker.js +5 -1
  10. package/DatePicker/DatePicker.types.d.ts +6 -6
  11. package/DatePicker/index.d.ts +1 -1
  12. package/DatePicker/shared.d.ts +6 -6
  13. package/DateTimeField/DateTimeField.js +17 -50
  14. package/DateTimeField/DateTimeField.types.d.ts +5 -9
  15. package/DateTimeField/useDateTimeField.d.ts +2 -2
  16. package/DateTimeField/useDateTimeField.js +1 -5
  17. package/DateTimePicker/DateTimePicker.js +5 -1
  18. package/DateTimePicker/DateTimePicker.types.d.ts +6 -6
  19. package/DateTimePicker/index.d.ts +1 -1
  20. package/DateTimePicker/shared.d.ts +6 -6
  21. package/DesktopDatePicker/DesktopDatePicker.js +7 -2
  22. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +6 -6
  23. package/DesktopDatePicker/index.d.ts +1 -1
  24. package/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  25. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
  26. package/DesktopDateTimePicker/index.d.ts +1 -1
  27. package/DesktopTimePicker/DesktopTimePicker.js +5 -1
  28. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
  29. package/DesktopTimePicker/index.d.ts +1 -1
  30. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  31. package/DigitalClock/index.d.ts +1 -1
  32. package/MobileDatePicker/MobileDatePicker.js +7 -2
  33. package/MobileDatePicker/MobileDatePicker.types.d.ts +6 -6
  34. package/MobileDatePicker/index.d.ts +1 -1
  35. package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  36. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +6 -6
  37. package/MobileDateTimePicker/index.d.ts +1 -1
  38. package/MobileTimePicker/MobileTimePicker.js +5 -1
  39. package/MobileTimePicker/MobileTimePicker.types.d.ts +6 -6
  40. package/MobileTimePicker/index.d.ts +1 -1
  41. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +4 -4
  42. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +3 -3
  43. package/MultiSectionDigitalClock/index.d.ts +1 -1
  44. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +8 -8
  45. package/PickersCalendarHeader/index.d.ts +1 -1
  46. package/PickersLayout/PickersLayout.types.d.ts +6 -6
  47. package/PickersLayout/index.d.ts +1 -1
  48. package/PickersSectionList/PickersSectionList.d.ts +11 -0
  49. package/PickersSectionList/PickersSectionList.js +223 -0
  50. package/PickersSectionList/PickersSectionList.types.d.ts +56 -0
  51. package/PickersSectionList/index.d.ts +4 -0
  52. package/PickersSectionList/index.js +2 -0
  53. package/PickersSectionList/package.json +6 -0
  54. package/PickersSectionList/pickersSectionListClasses.d.ts +11 -0
  55. package/PickersSectionList/pickersSectionListClasses.js +6 -0
  56. package/StaticDatePicker/StaticDatePicker.js +1 -1
  57. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  58. package/StaticDatePicker/index.d.ts +1 -1
  59. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  60. package/StaticDateTimePicker/index.d.ts +1 -1
  61. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  62. package/StaticTimePicker/index.d.ts +1 -1
  63. package/TimeClock/TimeClock.types.d.ts +5 -5
  64. package/TimeClock/index.d.ts +1 -1
  65. package/TimeField/TimeField.js +17 -50
  66. package/TimeField/TimeField.types.d.ts +5 -9
  67. package/TimeField/useTimeField.d.ts +2 -2
  68. package/TimeField/useTimeField.js +1 -5
  69. package/TimePicker/TimePicker.js +5 -1
  70. package/TimePicker/TimePicker.types.d.ts +6 -6
  71. package/TimePicker/index.d.ts +1 -1
  72. package/TimePicker/shared.d.ts +5 -5
  73. package/hooks/index.d.ts +1 -0
  74. package/hooks/useClearableField.d.ts +32 -20
  75. package/hooks/useClearableField.js +32 -33
  76. package/index.d.ts +1 -0
  77. package/index.js +4 -1
  78. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +9 -9
  79. package/internals/components/PickersArrowSwitcher/index.d.ts +3 -1
  80. package/internals/components/PickersArrowSwitcher/index.js +2 -1
  81. package/internals/components/{PickersTextField → PickersInput}/Outline.d.ts +1 -0
  82. package/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
  83. package/internals/components/PickersInput/PickersFilledInput.d.ts +3 -0
  84. package/internals/components/PickersInput/PickersFilledInput.js +166 -0
  85. package/internals/components/PickersInput/PickersInput.d.ts +15 -0
  86. package/internals/components/{PickersTextField → PickersInput}/PickersInput.js +78 -106
  87. package/internals/components/PickersInput/PickersInput.types.d.ts +60 -0
  88. package/internals/components/PickersInput/PickersOutlinedInput.d.ts +3 -0
  89. package/internals/components/PickersInput/PickersOutlinedInput.js +117 -0
  90. package/internals/components/PickersInput/PickersStandardInput.d.ts +3 -0
  91. package/internals/components/PickersInput/PickersStandardInput.js +123 -0
  92. package/internals/components/PickersInput/index.d.ts +4 -0
  93. package/internals/components/PickersInput/index.js +3 -0
  94. package/internals/components/PickersInput/pickersInputClasses.d.ts +84 -0
  95. package/internals/components/PickersInput/pickersInputClasses.js +18 -0
  96. package/internals/components/PickersModalDialog.d.ts +4 -4
  97. package/internals/components/PickersPopper.d.ts +4 -4
  98. package/internals/components/PickersTextField/PickersTextField.d.ts +1 -2
  99. package/internals/components/PickersTextField/PickersTextField.js +15 -6
  100. package/internals/components/PickersTextField/PickersTextField.types.d.ts +46 -3
  101. package/internals/components/PickersTextField/pickersTextFieldClasses.d.ts +0 -31
  102. package/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
  103. package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
  104. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  105. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +8 -8
  106. package/internals/hooks/useField/index.d.ts +1 -1
  107. package/internals/hooks/useField/useField.js +11 -4
  108. package/internals/hooks/useField/useField.types.d.ts +4 -24
  109. package/internals/hooks/useField/useField.utils.js +24 -4
  110. package/internals/hooks/useField/useFieldState.js +7 -3
  111. package/internals/hooks/useMobilePicker/index.d.ts +1 -1
  112. package/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  113. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
  114. package/internals/hooks/useStaticPicker/index.d.ts +1 -1
  115. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +5 -5
  116. package/internals/index.d.ts +7 -6
  117. package/internals/index.js +1 -0
  118. package/internals/models/props/basePickerProps.d.ts +4 -0
  119. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +3 -0
  120. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
  121. package/legacy/DateField/DateField.js +19 -47
  122. package/legacy/DateField/useDateField.js +1 -4
  123. package/legacy/DatePicker/DatePicker.js +5 -1
  124. package/legacy/DateTimeField/DateTimeField.js +19 -47
  125. package/legacy/DateTimeField/useDateTimeField.js +1 -4
  126. package/legacy/DateTimePicker/DateTimePicker.js +5 -1
  127. package/legacy/DesktopDatePicker/DesktopDatePicker.js +7 -2
  128. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  129. package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -1
  130. package/legacy/MobileDatePicker/MobileDatePicker.js +7 -2
  131. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  132. package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
  133. package/legacy/PickersSectionList/PickersSectionList.js +230 -0
  134. package/legacy/PickersSectionList/index.js +2 -0
  135. package/legacy/PickersSectionList/pickersSectionListClasses.js +6 -0
  136. package/legacy/StaticDatePicker/StaticDatePicker.js +1 -1
  137. package/legacy/TimeField/TimeField.js +19 -47
  138. package/legacy/TimeField/useTimeField.js +1 -4
  139. package/legacy/TimePicker/TimePicker.js +5 -1
  140. package/legacy/hooks/useClearableField.js +30 -32
  141. package/legacy/index.js +4 -1
  142. package/legacy/internals/components/PickersArrowSwitcher/index.js +2 -1
  143. package/legacy/internals/components/{PickersTextField → PickersInput}/Outline.js +40 -22
  144. package/legacy/internals/components/PickersInput/PickersFilledInput.js +161 -0
  145. package/legacy/internals/components/{PickersTextField → PickersInput}/PickersInput.js +75 -90
  146. package/legacy/internals/components/PickersInput/PickersInput.types.js +1 -0
  147. package/legacy/internals/components/PickersInput/PickersOutlinedInput.js +110 -0
  148. package/legacy/internals/components/PickersInput/PickersStandardInput.js +117 -0
  149. package/legacy/internals/components/PickersInput/index.js +3 -0
  150. package/legacy/internals/components/PickersInput/pickersInputClasses.js +18 -0
  151. package/legacy/internals/components/PickersTextField/PickersTextField.js +16 -7
  152. package/legacy/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
  153. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  154. package/legacy/internals/hooks/useField/useField.js +12 -5
  155. package/legacy/internals/hooks/useField/useField.utils.js +26 -4
  156. package/legacy/internals/hooks/useField/useFieldState.js +7 -3
  157. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  158. package/legacy/internals/index.js +1 -0
  159. package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +24 -0
  160. package/legacy/locales/ruRU.js +1 -2
  161. package/locales/ruRU.js +1 -2
  162. package/models/fields.d.ts +2 -1
  163. package/modern/DateField/DateField.js +17 -50
  164. package/modern/DateField/useDateField.js +1 -5
  165. package/modern/DatePicker/DatePicker.js +5 -1
  166. package/modern/DateTimeField/DateTimeField.js +17 -50
  167. package/modern/DateTimeField/useDateTimeField.js +1 -5
  168. package/modern/DateTimePicker/DateTimePicker.js +5 -1
  169. package/modern/DesktopDatePicker/DesktopDatePicker.js +7 -2
  170. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  171. package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -1
  172. package/modern/MobileDatePicker/MobileDatePicker.js +7 -2
  173. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  174. package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
  175. package/modern/PickersSectionList/PickersSectionList.js +221 -0
  176. package/modern/PickersSectionList/PickersSectionList.types.js +1 -0
  177. package/modern/PickersSectionList/index.js +2 -0
  178. package/modern/PickersSectionList/pickersSectionListClasses.js +6 -0
  179. package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
  180. package/modern/TimeField/TimeField.js +17 -50
  181. package/modern/TimeField/useTimeField.js +1 -5
  182. package/modern/TimePicker/TimePicker.js +5 -1
  183. package/modern/hooks/useClearableField.js +32 -33
  184. package/modern/index.js +4 -1
  185. package/modern/internals/components/PickersArrowSwitcher/index.js +2 -1
  186. package/modern/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
  187. package/modern/internals/components/PickersInput/PickersFilledInput.js +165 -0
  188. package/modern/internals/components/{PickersTextField → PickersInput}/PickersInput.js +78 -106
  189. package/modern/internals/components/PickersInput/PickersInput.types.js +1 -0
  190. package/modern/internals/components/PickersInput/PickersOutlinedInput.js +117 -0
  191. package/modern/internals/components/PickersInput/PickersStandardInput.js +123 -0
  192. package/modern/internals/components/PickersInput/index.js +3 -0
  193. package/modern/internals/components/PickersInput/pickersInputClasses.js +18 -0
  194. package/modern/internals/components/PickersTextField/PickersTextField.js +15 -6
  195. package/modern/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
  196. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  197. package/modern/internals/hooks/useField/useField.js +11 -4
  198. package/modern/internals/hooks/useField/useField.utils.js +24 -4
  199. package/modern/internals/hooks/useField/useFieldState.js +7 -3
  200. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  201. package/modern/internals/index.js +1 -0
  202. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
  203. package/modern/locales/ruRU.js +1 -2
  204. package/node/DateField/DateField.js +18 -51
  205. package/node/DateField/useDateField.js +1 -5
  206. package/node/DatePicker/DatePicker.js +5 -1
  207. package/node/DateTimeField/DateTimeField.js +18 -51
  208. package/node/DateTimeField/useDateTimeField.js +1 -5
  209. package/node/DateTimePicker/DateTimePicker.js +5 -1
  210. package/node/DesktopDatePicker/DesktopDatePicker.js +10 -5
  211. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  212. package/node/DesktopTimePicker/DesktopTimePicker.js +5 -1
  213. package/node/MobileDatePicker/MobileDatePicker.js +10 -5
  214. package/node/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  215. package/node/MobileTimePicker/MobileTimePicker.js +5 -1
  216. package/node/PickersSectionList/PickersSectionList.js +228 -0
  217. package/node/PickersSectionList/index.js +49 -0
  218. package/node/PickersSectionList/pickersSectionListClasses.js +14 -0
  219. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  220. package/node/TimeField/TimeField.js +18 -51
  221. package/node/TimeField/useTimeField.js +1 -5
  222. package/node/TimePicker/TimePicker.js +5 -1
  223. package/node/hooks/useClearableField.js +33 -34
  224. package/node/index.js +13 -1
  225. package/node/internals/components/PickersArrowSwitcher/index.js +14 -1
  226. package/node/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
  227. package/node/internals/components/PickersInput/PickersFilledInput.js +174 -0
  228. package/node/internals/components/{PickersTextField → PickersInput}/PickersInput.js +80 -108
  229. package/node/internals/components/PickersInput/PickersInput.types.js +5 -0
  230. package/node/internals/components/PickersInput/PickersOutlinedInput.js +125 -0
  231. package/node/internals/components/PickersInput/PickersStandardInput.js +132 -0
  232. package/node/internals/components/PickersInput/index.js +32 -0
  233. package/node/internals/components/PickersInput/pickersInputClasses.js +29 -0
  234. package/node/internals/components/PickersTextField/PickersTextField.js +15 -6
  235. package/node/internals/components/PickersTextField/pickersTextFieldClasses.js +6 -9
  236. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  237. package/node/internals/hooks/useField/useField.js +11 -4
  238. package/node/internals/hooks/useField/useField.utils.js +24 -4
  239. package/node/internals/hooks/useField/useFieldState.js +7 -3
  240. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  241. package/node/internals/index.js +7 -0
  242. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +34 -0
  243. package/node/locales/ruRU.js +1 -2
  244. package/package.json +5 -5
  245. package/themeAugmentation/overrides.d.ts +5 -7
  246. package/themeAugmentation/props.d.ts +6 -8
  247. package/internals/components/PickersTextField/PickersInput.d.ts +0 -3
  248. package/internals/components/PickersTextField/PickersInput.types.d.ts +0 -45
  249. /package/{internals/components/PickersTextField/PickersInput.types.js → PickersSectionList/PickersSectionList.types.js} +0 -0
  250. /package/{legacy/internals/components/PickersTextField → internals/components/PickersInput}/PickersInput.types.js +0 -0
  251. /package/{modern/internals/components/PickersTextField/PickersInput.types.js → legacy/PickersSectionList/PickersSectionList.types.js} +0 -0
  252. /package/node/{internals/components/PickersTextField/PickersInput.types.js → PickersSectionList/PickersSectionList.types.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,257 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 7.0.0-alpha.6
7
+
8
+ _Dec 22, 2023_
9
+
10
+ We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🎁 Data Grid now supports `Date` objects in the `filterModel`
13
+ - 🌍 Improve Russian (ru-RU) locale on the Data Grid
14
+ - 🐞 Bugfixes
15
+
16
+ ### Data Grid
17
+
18
+ #### Breaking changes
19
+
20
+ - The filter panel no longer uses the native version of the [`Select`](https://mui.com/material-ui/react-select/) component for all components.
21
+ - The `getOptionValue` and `getOptionLabel` props were removed from the following components:
22
+
23
+ - `GridEditSingleSelectCell`
24
+ - `GridFilterInputSingleSelect`
25
+ - `GridFilterInputMultipleSingleSelect`
26
+
27
+ Use the `getOptionValue` and `getOptionLabel` properties on the `singleSelect` column definition instead:
28
+
29
+ ```tsx
30
+ const column: GridColDef = {
31
+ type: 'singleSelect',
32
+ field: 'country',
33
+ valueOptions: [
34
+ { code: 'BR', name: 'Brazil' },
35
+ { code: 'FR', name: 'France' },
36
+ ],
37
+ getOptionValue: (value: any) => value.code,
38
+ getOptionLabel: (value: any) => value.name,
39
+ };
40
+ ```
41
+ - The `filterModel` now supports `Date` objects as values for `date` and `dateTime` column types.
42
+ The `filterModel` still accepts strings as values for `date` and `dateTime` column types,
43
+ but all updates to the `filterModel` coming from the UI (e.g. filter panel) will set the value as a `Date` object.
44
+
45
+ #### `@mui/x-data-grid@7.0.0-alpha.6`
46
+
47
+ - [DataGrid] Fix typos in the JSDoc (#11451) @flaviendelangle
48
+ - [DataGrid] Make `checkboxSelection` respect the `disableMultipleRowSelection` prop (#11448) @cherniavskii
49
+ - [DataGrid] Support `Date` objects in filter model (#7069) @cherniavskii
50
+ - [DataGrid] Use non-native `Select`s by default (#11330) @cherniavskii
51
+ - [l10n] Improve Russian (ru-RU) locale (#11441) @wensiet
52
+
53
+ #### `@mui/x-data-grid-pro@7.0.0-alpha.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
54
+
55
+ Same changes as in `@mui/x-data-grid@7.0.0-alpha.6`.
56
+
57
+ #### `@mui/x-data-grid-premium@7.0.0-alpha.6` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
58
+
59
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.6`.
60
+
61
+ ### Date Pickers
62
+
63
+ #### `@mui/x-date-pickers@7.0.0-alpha.6`
64
+
65
+ - [fields] Adjust `PickersInput` sizing styles (#11392) @noraleonte
66
+ - [fields] Fix section pasting (#11447) @LukasTy
67
+ - [pickers] Add `PickersTextField` `standard` and `filled` variants (#11250) @noraleonte
68
+ - [pickers] Add missing breaking changes to changelog (#11420) @MBilalShafi
69
+ - [pickers] Cleanup error messages in `PickersSectionList` (#11449) @flaviendelangle
70
+ - [pickers] Create new component `PickersSectionList` (#11352) @flaviendelangle
71
+
72
+ #### `@mui/x-date-pickers-pro@7.0.0-alpha.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
73
+
74
+ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.6`.
75
+
76
+ ### Charts / `@mui/x-charts@7.0.0-alpha.6`
77
+
78
+ - [charts] Allow percentage values for pie chart center and radius (#11464) @alexfauquette
79
+ - [charts] Improve dataset typing (#11372) @alexfauquette
80
+ - [charts] Make error message more explicit (#11457) @alexfauquette
81
+ - [charts] Make the helper `ChartsText` component public (#11370) @alexfauquette
82
+
83
+ ### Docs
84
+
85
+ - [docs] Document `false` default values for boolean props (#11477) @cherniavskii
86
+ - [docs] Improve Pickers `name` prop examples (#11422) @LukasTy
87
+ - [docs] Limit `date-fns` package to v2 in codesandbox (#11463) @LukasTy
88
+
89
+ ### Core
90
+
91
+ - [core] Cherry pick follow up (#11469) @LukasTy
92
+ - [core] Fix `cherry-pick` action (#11446) @LukasTy
93
+ - [core] Fix security regressions in cherry-pick-next-to-master.yml (#11482) @MBilalShafi
94
+ - [test] Reload the page if its blank and there are no links to the remaining tests (#11466) @cherniavskii
95
+
96
+ ## 7.0.0-alpha.5
97
+
98
+ _Dec 14, 2023_
99
+
100
+ We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
101
+
102
+ - 💫 New recipe added for the Data Grid
103
+ - 🌍 Improve Swedish (sv-SE) and Urdu (ur-PK) locales on the Data Grid
104
+ - 🐞 Bugfixes
105
+
106
+ ### Data Grid
107
+
108
+ #### Breaking changes
109
+
110
+ - The `instanceId` prop is now required for state selectors.
111
+ This prop is used to distinguish between multiple Data Grid instances on the same page.
112
+ See [migration docs](https://next.mui.com/x/migration/migration-data-grid-v6/#instanceid-prop-is-required-for-state-selectors) for more details.
113
+
114
+ #### `@mui/x-data-grid@7.0.0-alpha.5`
115
+
116
+ - [DataGrid] Make `instanceId` required for state selectors (#11395) @cherniavskii
117
+ - [DataGrid] Recipe for grouped rows autosizing (#11401) @michelengelen
118
+ - [l10n] Improve Swedish (sv-SE) locale (#11373) @fredrikcarlbom
119
+ - [l10n] Improve Urdu (ur-PK) locale (#11400) @MBilalShafi
120
+
121
+ #### `@mui/x-data-grid-pro@7.0.0-alpha.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
122
+
123
+ Same changes as in `@mui/x-data-grid@7.0.0-alpha.5`.
124
+
125
+ #### `@mui/x-data-grid-premium@7.0.0-alpha.5` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
126
+
127
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.5`.
128
+
129
+ ### Date Pickers
130
+
131
+ #### Breaking changes
132
+
133
+ - The slot interfaces got renamed to match with `@mui/base` naming.
134
+ The `SlotsComponent` suffix has been replaced with `Slots` and `SlotsComponentsProps` with `SlotProps`.
135
+
136
+ ```diff
137
+ - DateCalendarSlotsComponent
138
+ + DateCalendarSlots
139
+ - DateCalendarSlotsComponentsProps
140
+ + DateCalendarSlotProps
141
+ ```
142
+
143
+ - Move `inputRef` inside the props passed to the field hooks
144
+
145
+ The field hooks now only receive the props instead of an object containing both the props and the `inputRef`.
146
+
147
+ ```diff
148
+ - const { inputRef, ...otherProps } = props
149
+ - const fieldResponse = useDateField({ props: otherProps, inputRef });
150
+ + const fieldResponse = useDateField(props);
151
+ ```
152
+
153
+ If you are using a multi input range field hook, the same applies to `startInputRef` and `endInputRef` params
154
+
155
+ ```diff
156
+ - const { inputRef: startInputRef, ...otherStartTextFieldProps } = startTextFieldProps
157
+ - const { inputRef: endInputRef, ...otherEndTextFieldProps } = endTextFieldProps
158
+
159
+ const fieldResponse = useMultiInputDateRangeField({
160
+ sharedProps,
161
+ - startTextFieldProps: otherStartTextFieldProps,
162
+ - endTextFieldProps: otherEndTextFieldProps,
163
+ - startInputRef
164
+ - endInputRef,
165
+ + startTextFieldProps,
166
+ + endTextFieldProps
167
+ });
168
+ ```
169
+
170
+ - Rename the ref returned by the field hooks to `inputRef`
171
+
172
+ When used with the v6 TextField approach (where the input is an `<input />` HTML element), the field hooks return a ref that needs to be passed to the `<input />` element.
173
+ This ref was previously named `ref` and has been renamed `inputRef` for extra clarity.
174
+
175
+ ```diff
176
+ const fieldResponse = useDateField(props);
177
+
178
+ - return <input ref={fieldResponse.ref} />
179
+ + return <input ref={fieldResponse.inputRef} />
180
+ ```
181
+
182
+ If you are using a multi input range field hook, the same applies to the ref in the `startDate` and `endDate` objects
183
+
184
+ ```diff
185
+ const fieldResponse = useDateField(props);
186
+
187
+ return (
188
+ <div>
189
+ - <input ref={fieldResponse.startDate.ref} />
190
+ + <input ref={fieldResponse.startDate.inputRef} />
191
+ <span>–</span>
192
+ - <input ref={fieldResponse.endDate.ref} />
193
+ + <input ref={fieldResponse.endDate.inputRef} />
194
+ </div>
195
+ )
196
+ ```
197
+
198
+ - Restructure the API of `useClearableField`
199
+
200
+ The `useClearableField` hook API has been simplified to now take a `props` parameter instead of a `fieldProps`, `InputProps`, `clearable`, `onClear`, `slots` and `slotProps` parameters.
201
+
202
+ You should now be able to directly pass the returned value from your field hook (e.g: `useDateField`) to `useClearableField`
203
+
204
+ ```diff
205
+ const fieldResponse = useDateField(props);
206
+
207
+ - const { InputProps, onClear, clearable, slots, slotProps, ...otherFieldProps } = fieldResponse
208
+ - const { InputProps: ProcessedInputProps, fieldProps: processedFieldProps } = useClearableField({
209
+ - fieldProps: otherFieldProps,
210
+ - InputProps,
211
+ - clearable,
212
+ - onClear,
213
+ - slots,
214
+ - slotProps,
215
+ - });
216
+ -
217
+ - return <MyCustomTextField {...processedFieldProps} InputProps={ProcessedInputProps} />
218
+
219
+ + const processedFieldProps = useClearableField(fieldResponse);
220
+ +
221
+ + return <MyCustomTextField {...processedFieldProps} />
222
+ ```
223
+
224
+ #### `@mui/x-date-pickers@7.0.0-alpha.5`
225
+
226
+ - [fields] Support empty sections (#10307) @flaviendelangle
227
+ - [pickers] Fix field types to avoid error on latest `@types/react` version (#11397) @LukasTy
228
+ - [pickers] Remove all relative imports to the internals index file (#11375) @flaviendelangle
229
+ - [pickers] Rename slots interfaces (#11339) @alexfauquette
230
+ - [pickers] Simplify the API of the field hooks (#11371) @flaviendelangle
231
+ - [pickers] Support name prop (#11025) @gitstart
232
+
233
+ #### `@mui/x-date-pickers-pro@7.0.0-alpha.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
234
+
235
+ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.5`, plus:
236
+
237
+ - [DateRangePicker] Fix `autoFocus` behavior (#11273) @kealjones-wk
238
+
239
+ ### Charts / `@mui/x-charts@7.0.0-alpha.5`
240
+
241
+ - [charts] Fix size overflow (#11385) @alexfauquette
242
+
243
+ ### `@mui/x-codemod@7.0.0-alpha.5`
244
+
245
+ - [codemod] Add `cellSelection` codemod and update migration guide (#11353) @MBilalShafi
246
+
247
+ ### Docs
248
+
249
+ - [docs] Respect GoT books (@janoma) (#11387) @alexfauquette
250
+
251
+ ### Core
252
+
253
+ - [core] Automate cherry-pick of PRs from `next` -> `master` (#11382) @MBilalShafi
254
+ - [github] Update `no-response` workflow (#11369) @MBilalShafi
255
+ - [test] Fix flaky screenshots (#11388) @cherniavskii
256
+
6
257
  ## 7.0.0-alpha.4
7
258
 
8
259
  _Dec 8, 2023_
@@ -949,6 +1200,97 @@ Here is an example of the renaming for the `<ChartsTooltip />` component.
949
1200
  - [core] Update release instructions as per v7 configuration (#10962) @MBilalShafi
950
1201
  - [license] Correctly throw errors (#10924) @oliviertassinari
951
1202
 
1203
+ ## 6.18.6
1204
+
1205
+ _Dec 22, 2023_
1206
+
1207
+ We'd like to offer a big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
1208
+
1209
+ - 🌍 Improve Russian (ru-RU) locale (#11429) @wensiet
1210
+ - 🐞 Bugfixes
1211
+
1212
+ ### Data Grid
1213
+
1214
+ #### `@mui/x-data-grid@6.18.6`
1215
+
1216
+ - [DataGrid] Fix typos in the JSDoc (#11475) @flaviendelangle
1217
+ - [l10n] Improve Russian (ru-RU) locale (#11429) @wensiet
1218
+
1219
+ #### `@mui/x-data-grid-pro@6.18.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1220
+
1221
+ Same changes as in `@mui/x-data-grid@6.18.6`.
1222
+
1223
+ #### `@mui/x-data-grid-premium@6.18.6` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
1224
+
1225
+ Same changes as in `@mui/x-data-grid-pro@6.18.6`.
1226
+
1227
+ ### Date Pickers
1228
+
1229
+ #### `@mui/x-date-pickers@6.18.6`
1230
+
1231
+ - [fields] Fix section pasting (#11467) @LukasTy
1232
+
1233
+ #### `@mui/x-date-pickers-pro@6.18.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1234
+
1235
+ Same changes as in `@mui/x-date-pickers@6.18.6`.
1236
+
1237
+ ### Charts / `@mui/x-charts@6.18.6`
1238
+
1239
+ - [charts] Allow percentage values for pie chart center and radius (#11464) @alexfauquette
1240
+ - [charts] Make error message more explicit (#11457) @alexfauquette
1241
+ - [charts] Make the helper `ChartsText` component public (#11370) @alexfauquette
1242
+ - [charts] Improve dataset typing (#11372) @alexfauquette
1243
+ - [charts] Fix size overflow (#11385) @alexfauquette
1244
+
1245
+ ### Docs
1246
+
1247
+ - [docs] Document false default values for boolean props (#11489) @cherniavskii
1248
+ - [docs] Improve Pickers `name` prop examples (#11442) @LukasTy
1249
+ - [docs] Limit `date-fns` package to v2 in codesandbox (#11478) @LukasTy
1250
+ - [test] Reload the page if its blank and there are no links to the remaining tests (#11471) @cherniavskii
1251
+
1252
+ ## 6.18.5
1253
+
1254
+ _Dec 14, 2023_
1255
+
1256
+ We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
1257
+
1258
+ - 🌍 Improve Swedish (sv-SE) and Urdu (ur-PK) locales on the Data Grid
1259
+ - 🐞 Bugfixes
1260
+
1261
+ ### Data Grid
1262
+
1263
+ #### `@mui/x-data-grid@6.18.5`
1264
+
1265
+ - [l10n] Improve Swedish (sv-SE) locale (#11379) @fredrikcarlbom
1266
+ - [l10n] Improve Urdu (ur-PK) locale for data grid (#11409) @MBilalShafi
1267
+
1268
+ #### `@mui/x-data-grid-pro@6.18.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1269
+
1270
+ Same changes as in `@mui/x-data-grid@6.18.5`.
1271
+
1272
+ #### `@mui/x-data-grid-premium@6.18.5` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
1273
+
1274
+ Same changes as in `@mui/x-data-grid-pro@6.18.5`.
1275
+
1276
+ ### Date Pickers
1277
+
1278
+ #### `@mui/x-date-pickers@6.18.5`
1279
+
1280
+ - [pickers] Fix field types to avoid error on latest `@types/react` version (#11398) @LukasTy
1281
+ - [pickers] Support name prop (#11380) @gitstart
1282
+
1283
+ #### `@mui/x-date-pickers-pro@6.18.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1284
+
1285
+ Same changes as in `@mui/x-date-pickers@6.18.5`, plus:
1286
+
1287
+ - [DateRangePicker] Fix `autoFocus` behavior (#11376) @kealjones-wk
1288
+
1289
+ ### Docs
1290
+
1291
+ - [docs] Respect GoT books (#11294) @janoma
1292
+ - [test] Fix flaky screenshots (#11391) @cherniavskii
1293
+
952
1294
  ## 6.18.4
953
1295
 
954
1296
  _Dec 8, 2023_
@@ -2,8 +2,8 @@ import * as React from 'react';
2
2
  import { SxProps } from '@mui/system';
3
3
  import { Theme } from '@mui/material/styles';
4
4
  import { SlotComponentProps } from '@mui/base/utils';
5
- import { PickersCalendarHeader, PickersCalendarHeaderProps, PickersCalendarHeaderSlotsComponent, PickersCalendarHeaderSlotsComponentsProps } from '../PickersCalendarHeader';
6
- import { DayCalendarSlotsComponent, DayCalendarSlotsComponentsProps, ExportedDayCalendarProps } from './DayCalendar';
5
+ import { PickersCalendarHeader, PickersCalendarHeaderProps, PickersCalendarHeaderSlots, PickersCalendarHeaderSlotProps } from '../PickersCalendarHeader';
6
+ import { DayCalendarSlots, DayCalendarSlotProps, ExportedDayCalendarProps } from './DayCalendar';
7
7
  import { DateCalendarClasses } from './dateCalendarClasses';
8
8
  import { BaseDateValidationProps, YearValidationProps, MonthValidationProps, DayValidationProps } from '../internals/models/validation';
9
9
  import { PickerSelectionState } from '../internals/hooks/usePicker/usePickerValue.types';
@@ -12,7 +12,7 @@ import { DateView, TimezoneProps } from '../models';
12
12
  import { DefaultizedProps } from '../internals/models/helpers';
13
13
  import { ExportedYearCalendarProps } from '../YearCalendar/YearCalendar.types';
14
14
  import { ExportedMonthCalendarProps } from '../MonthCalendar/MonthCalendar.types';
15
- export interface DateCalendarSlotsComponent<TDate> extends PickersCalendarHeaderSlotsComponent, DayCalendarSlotsComponent<TDate> {
15
+ export interface DateCalendarSlots<TDate> extends PickersCalendarHeaderSlots, DayCalendarSlots<TDate> {
16
16
  /**
17
17
  * Custom component for calendar header.
18
18
  * Check the [PickersCalendarHeader](https://mui.com/x/api/date-pickers/pickers-calendar-header/) component.
@@ -20,7 +20,7 @@ export interface DateCalendarSlotsComponent<TDate> extends PickersCalendarHeader
20
20
  */
21
21
  calendarHeader?: React.ElementType<PickersCalendarHeaderProps<TDate>>;
22
22
  }
23
- export interface DateCalendarSlotsComponentsProps<TDate> extends PickersCalendarHeaderSlotsComponentsProps<TDate>, DayCalendarSlotsComponentsProps<TDate> {
23
+ export interface DateCalendarSlotProps<TDate> extends PickersCalendarHeaderSlotProps<TDate>, DayCalendarSlotProps<TDate> {
24
24
  calendarHeader?: SlotComponentProps<typeof PickersCalendarHeader, {}, DateCalendarProps<TDate>>;
25
25
  }
26
26
  export interface ExportedDateCalendarProps<TDate> extends ExportedDayCalendarProps<TDate>, ExportedMonthCalendarProps, ExportedYearCalendarProps, BaseDateValidationProps<TDate>, DayValidationProps<TDate>, YearValidationProps<TDate>, MonthValidationProps<TDate>, TimezoneProps {
@@ -91,11 +91,11 @@ export interface DateCalendarProps<TDate> extends ExportedDateCalendarProps<TDat
91
91
  * Overridable component slots.
92
92
  * @default {}
93
93
  */
94
- slots?: DateCalendarSlotsComponent<TDate>;
94
+ slots?: DateCalendarSlots<TDate>;
95
95
  /**
96
96
  * The props used for each component slot.
97
97
  * @default {}
98
98
  */
99
- slotProps?: DateCalendarSlotsComponentsProps<TDate>;
99
+ slotProps?: DateCalendarSlotProps<TDate>;
100
100
  }
101
101
  export type DateCalendarDefaultizedProps<TDate> = DefaultizedProps<DateCalendarProps<TDate>, 'views' | 'openTo' | 'loading' | 'reduceAnimations' | 'renderLoading' | keyof BaseDateValidationProps<TDate>>;
@@ -7,7 +7,7 @@ import { BaseDateValidationProps, DayValidationProps, MonthValidationProps, Year
7
7
  import { DayCalendarClasses } from './dayCalendarClasses';
8
8
  import { TimezoneProps } from '../models';
9
9
  import { DefaultizedProps } from '../internals/models/helpers';
10
- export interface DayCalendarSlotsComponent<TDate> {
10
+ export interface DayCalendarSlots<TDate> {
11
11
  /**
12
12
  * Custom component for day.
13
13
  * Check the [PickersDay](https://mui.com/x/api/date-pickers/pickers-day/) component.
@@ -15,7 +15,7 @@ export interface DayCalendarSlotsComponent<TDate> {
15
15
  */
16
16
  day?: React.ElementType<PickersDayProps<TDate>>;
17
17
  }
18
- export interface DayCalendarSlotsComponentsProps<TDate> {
18
+ export interface DayCalendarSlotProps<TDate> {
19
19
  day?: SlotComponentProps<typeof PickersDay, {}, DayCalendarProps<TDate> & {
20
20
  day: TDate;
21
21
  selected: boolean;
@@ -75,12 +75,12 @@ export interface DayCalendarProps<TDate> extends ExportedDayCalendarProps<TDate>
75
75
  * Overridable component slots.
76
76
  * @default {}
77
77
  */
78
- slots?: DayCalendarSlotsComponent<TDate>;
78
+ slots?: DayCalendarSlots<TDate>;
79
79
  /**
80
80
  * The props used for each component slot.
81
81
  * @default {}
82
82
  */
83
- slotProps?: DayCalendarSlotsComponentsProps<TDate>;
83
+ slotProps?: DayCalendarSlotProps<TDate>;
84
84
  }
85
85
  /**
86
86
  * @ignore - do not document.
@@ -1,5 +1,5 @@
1
1
  export { DateCalendar } from './DateCalendar';
2
- export type { DateCalendarProps, DateCalendarSlotsComponent, DateCalendarSlotsComponentsProps, } from './DateCalendar.types';
2
+ export type { DateCalendarProps, DateCalendarSlots, DateCalendarSlotProps, } from './DateCalendar.types';
3
3
  export { getDateCalendarUtilityClass, dateCalendarClasses } from './dateCalendarClasses';
4
4
  export type { DateCalendarClassKey, DateCalendarClasses } from './dateCalendarClasses';
5
5
  export { dayCalendarClasses } from './dayCalendarClasses';
@@ -1,8 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
4
- _excluded2 = ["inputRef"],
5
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
3
+ const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
6
4
  import * as React from 'react';
7
5
  import PropTypes from 'prop-types';
8
6
  import MuiTextField from '@mui/material/TextField';
@@ -11,6 +9,7 @@ import { useSlotProps } from '@mui/base/utils';
11
9
  import { refType } from '@mui/utils';
12
10
  import { useDateField } from './useDateField';
13
11
  import { useClearableField } from '../hooks';
12
+ import { convertFieldResponseIntoMuiTextFieldProps } from '../internals/utils/convertFieldResponseIntoMuiTextFieldProps';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
15
14
  /**
16
15
  * Demos:
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
22
21
  *
23
22
  * - [DateField API](https://mui.com/x/api/date-pickers/date-field/)
24
23
  */
25
- const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, ref) {
24
+ const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, inRef) {
26
25
  var _slots$textField;
27
26
  const themeProps = useThemeProps({
28
27
  props: inProps,
@@ -37,58 +36,26 @@ const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, ref)
37
36
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
38
37
  const ownerState = themeProps;
39
38
  const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
40
- const _useSlotProps = useSlotProps({
41
- elementType: TextField,
42
- externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
43
- externalForwardedProps: other,
44
- ownerState
45
- }),
46
- {
47
- inputRef: externalInputRef
48
- } = _useSlotProps,
49
- textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
39
+ const textFieldProps = useSlotProps({
40
+ elementType: TextField,
41
+ externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
42
+ externalForwardedProps: other,
43
+ additionalProps: {
44
+ ref: inRef
45
+ },
46
+ ownerState
47
+ });
50
48
 
51
49
  // TODO: Remove when mui/material-ui#35088 will be merged
52
50
  textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
53
51
  textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
54
- const _useDateField = useDateField({
55
- props: textFieldProps,
56
- inputRef: externalInputRef
57
- }),
58
- {
59
- ref: inputRef,
60
- onPaste,
61
- onKeyDown,
62
- inputMode,
63
- readOnly,
64
- clearable,
65
- onClear
66
- } = _useDateField,
67
- fieldProps = _objectWithoutPropertiesLoose(_useDateField, _excluded3);
68
- const {
69
- InputProps: ProcessedInputProps,
70
- fieldProps: processedFieldProps
71
- } = useClearableField({
72
- onClear,
73
- clearable,
74
- fieldProps,
75
- InputProps: fieldProps.InputProps,
52
+ const fieldResponse = useDateField(textFieldProps);
53
+ const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
54
+ const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
76
55
  slots,
77
56
  slotProps
78
- });
79
- return /*#__PURE__*/_jsx(TextField, _extends({
80
- ref: ref
81
- }, processedFieldProps, {
82
- InputProps: _extends({}, ProcessedInputProps, {
83
- readOnly
84
- }),
85
- inputProps: _extends({}, fieldProps.inputProps, {
86
- inputMode,
87
- onPaste,
88
- onKeyDown,
89
- ref: inputRef
90
- })
91
57
  }));
58
+ return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
92
59
  });
93
60
  process.env.NODE_ENV !== "production" ? DateField.propTypes = {
94
61
  // ----------------------------- Warning --------------------------------
@@ -266,7 +233,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
266
233
  * 4. If `null` is provided, no section will be selected
267
234
  * If not provided, the selected sections will be handled internally.
268
235
  */
269
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
236
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
270
237
  endIndex: PropTypes.number.isRequired,
271
238
  startIndex: PropTypes.number.isRequired
272
239
  })]),
@@ -1,16 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/base/utils';
3
3
  import TextField from '@mui/material/TextField';
4
- import { FieldSlotsComponents, FieldSlotsComponentsProps } from '../internals';
4
+ import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '../hooks/useClearableField';
5
5
  import { DateValidationError, FieldSection } from '../models';
6
6
  import { UseFieldInternalProps } from '../internals/hooks/useField';
7
7
  import { DefaultizedProps, MakeOptional } from '../internals/models/helpers';
8
8
  import { BaseDateValidationProps, DayValidationProps, MonthValidationProps, YearValidationProps } from '../internals/models/validation';
9
9
  import { FieldsTextFieldProps } from '../internals/models/fields';
10
- export interface UseDateFieldParams<TDate, TChildProps extends {}> {
11
- props: UseDateFieldComponentProps<TDate, TChildProps>;
12
- inputRef?: React.Ref<HTMLInputElement>;
13
- }
14
10
  export interface UseDateFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<TDate | null, TDate, FieldSection, DateValidationError>, 'format'>, DayValidationProps<TDate>, MonthValidationProps<TDate>, YearValidationProps<TDate>, BaseDateValidationProps<TDate> {
15
11
  }
16
12
  export type UseDateFieldDefaultizedProps<TDate> = DefaultizedProps<UseDateFieldProps<TDate>, keyof BaseDateValidationProps<any> | 'format'>;
@@ -20,15 +16,15 @@ export interface DateFieldProps<TDate> extends UseDateFieldComponentProps<TDate,
20
16
  * Overridable component slots.
21
17
  * @default {}
22
18
  */
23
- slots?: DateFieldSlotsComponent;
19
+ slots?: DateFieldSlots;
24
20
  /**
25
21
  * The props used for each component slot.
26
22
  * @default {}
27
23
  */
28
- slotProps?: DateFieldSlotsComponentsProps<TDate>;
24
+ slotProps?: DateFieldSlotProps<TDate>;
29
25
  }
30
26
  export type DateFieldOwnerState<TDate> = DateFieldProps<TDate>;
31
- export interface DateFieldSlotsComponent extends FieldSlotsComponents {
27
+ export interface DateFieldSlots extends UseClearableFieldSlots {
32
28
  /**
33
29
  * Form control with an input to render the value.
34
30
  * Receives the same props as `@mui/material/TextField`.
@@ -36,6 +32,6 @@ export interface DateFieldSlotsComponent extends FieldSlotsComponents {
36
32
  */
37
33
  textField?: React.ElementType;
38
34
  }
39
- export interface DateFieldSlotsComponentsProps<TDate> extends FieldSlotsComponentsProps {
35
+ export interface DateFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
40
36
  textField?: SlotComponentProps<typeof TextField, {}, DateFieldOwnerState<TDate>>;
41
37
  }
@@ -1,2 +1,2 @@
1
- import { UseDateFieldProps, UseDateFieldParams } from './DateField.types';
2
- export declare const useDateField: <TDate, TChildProps extends {}>({ props: inProps, inputRef, }: UseDateFieldParams<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseDateFieldProps<TDate>, "format" | keyof import("../internals").BaseDateValidationProps<any>> & Required<Pick<UseDateFieldProps<TDate>, "format" | keyof import("../internals").BaseDateValidationProps<any>>>, keyof UseDateFieldProps<TDate>>>;
1
+ import { UseDateFieldProps, UseDateFieldComponentProps } from './DateField.types';
2
+ export declare const useDateField: <TDate, TChildProps extends {}>(inProps: UseDateFieldComponentProps<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseDateFieldProps<TDate>, "format" | keyof import("../internals").BaseDateValidationProps<any>> & Required<Pick<UseDateFieldProps<TDate>, "format" | keyof import("../internals").BaseDateValidationProps<any>>>, keyof UseDateFieldProps<TDate>>>;
@@ -17,17 +17,13 @@ const useDefaultizedDateField = props => {
17
17
  maxDate: applyDefaultDate(utils, props.maxDate, defaultDates.maxDate)
18
18
  });
19
19
  };
20
- export const useDateField = ({
21
- props: inProps,
22
- inputRef
23
- }) => {
20
+ export const useDateField = inProps => {
24
21
  const props = useDefaultizedDateField(inProps);
25
22
  const {
26
23
  forwardedProps,
27
24
  internalProps
28
25
  } = splitFieldInternalAndForwardedProps(props, 'date');
29
26
  return useField({
30
- inputRef,
31
27
  forwardedProps,
32
28
  internalProps,
33
29
  valueManager: singleItemValueManager,
@@ -160,6 +160,10 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
160
160
  * @default 3
161
161
  */
162
162
  monthsPerRow: PropTypes.oneOf([3, 4]),
163
+ /**
164
+ * Name attribute used by the `input` element in the Field.
165
+ */
166
+ name: PropTypes.string,
163
167
  /**
164
168
  * Callback fired when the value is accepted.
165
169
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -258,7 +262,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
258
262
  * 4. If `null` is provided, no section will be selected
259
263
  * If not provided, the selected sections will be handled internally.
260
264
  */
261
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
265
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
262
266
  endIndex: PropTypes.number.isRequired,
263
267
  startIndex: PropTypes.number.isRequired
264
268
  })]),
@@ -1,8 +1,8 @@
1
- import { DesktopDatePickerProps, DesktopDatePickerSlotsComponent, DesktopDatePickerSlotsComponentsProps } from '../DesktopDatePicker';
2
- import { MobileDatePickerProps, MobileDatePickerSlotsComponent, MobileDatePickerSlotsComponentsProps } from '../MobileDatePicker';
3
- export interface DatePickerSlotsComponents<TDate> extends DesktopDatePickerSlotsComponent<TDate>, MobileDatePickerSlotsComponent<TDate> {
1
+ import { DesktopDatePickerProps, DesktopDatePickerSlots, DesktopDatePickerSlotProps } from '../DesktopDatePicker';
2
+ import { MobileDatePickerProps, MobileDatePickerSlots, MobileDatePickerSlotProps } from '../MobileDatePicker';
3
+ export interface DatePickerSlots<TDate> extends DesktopDatePickerSlots<TDate>, MobileDatePickerSlots<TDate> {
4
4
  }
5
- export interface DatePickerSlotsComponentsProps<TDate> extends DesktopDatePickerSlotsComponentsProps<TDate>, MobileDatePickerSlotsComponentsProps<TDate> {
5
+ export interface DatePickerSlotProps<TDate> extends DesktopDatePickerSlotProps<TDate>, MobileDatePickerSlotProps<TDate> {
6
6
  }
7
7
  export interface DatePickerProps<TDate> extends DesktopDatePickerProps<TDate>, MobileDatePickerProps<TDate> {
8
8
  /**
@@ -20,10 +20,10 @@ export interface DatePickerProps<TDate> extends DesktopDatePickerProps<TDate>, M
20
20
  * Overridable component slots.
21
21
  * @default {}
22
22
  */
23
- slots?: DatePickerSlotsComponents<TDate>;
23
+ slots?: DatePickerSlots<TDate>;
24
24
  /**
25
25
  * The props used for each component slot.
26
26
  * @default {}
27
27
  */
28
- slotProps?: DatePickerSlotsComponentsProps<TDate>;
28
+ slotProps?: DatePickerSlotProps<TDate>;
29
29
  }