@mui/x-date-pickers 9.0.0-alpha.4 → 9.0.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 (300) hide show
  1. package/AdapterDateFnsBase/AdapterDateFnsBase.mjs +1 -1
  2. package/AdapterDayjs/AdapterDayjs.mjs +1 -1
  3. package/AdapterLuxon/AdapterLuxon.mjs +1 -1
  4. package/AdapterMoment/AdapterMoment.mjs +1 -1
  5. package/AdapterMomentHijri/AdapterMomentHijri.mjs +1 -1
  6. package/AdapterMomentJalaali/AdapterMomentJalaali.mjs +1 -1
  7. package/CHANGELOG.md +374 -2
  8. package/DateCalendar/DateCalendar.js +1 -1
  9. package/DateCalendar/DateCalendar.mjs +1 -1
  10. package/DateCalendar/DayCalendar.d.mts +7 -7
  11. package/DateCalendar/DayCalendar.d.ts +7 -7
  12. package/DateCalendar/DayCalendar.js +23 -25
  13. package/DateCalendar/DayCalendar.mjs +23 -25
  14. package/DateField/DateField.d.mts +1 -1
  15. package/DateField/DateField.d.ts +1 -1
  16. package/DateField/DateField.js +22 -28
  17. package/DateField/DateField.mjs +22 -28
  18. package/DateField/DateField.types.d.mts +3 -3
  19. package/DateField/DateField.types.d.ts +3 -3
  20. package/DateField/useDateField.d.mts +1 -1
  21. package/DateField/useDateField.d.ts +1 -1
  22. package/DateField/useDateField.js +1 -1
  23. package/DateField/useDateField.mjs +1 -1
  24. package/DatePicker/DatePicker.d.mts +1 -1
  25. package/DatePicker/DatePicker.d.ts +1 -1
  26. package/DatePicker/DatePicker.js +1 -5
  27. package/DatePicker/DatePicker.mjs +1 -5
  28. package/DatePicker/DatePicker.types.d.mts +3 -3
  29. package/DatePicker/DatePicker.types.d.ts +3 -3
  30. package/DateTimeField/DateTimeField.d.mts +1 -1
  31. package/DateTimeField/DateTimeField.d.ts +1 -1
  32. package/DateTimeField/DateTimeField.js +22 -28
  33. package/DateTimeField/DateTimeField.mjs +22 -28
  34. package/DateTimeField/DateTimeField.types.d.mts +2 -2
  35. package/DateTimeField/DateTimeField.types.d.ts +2 -2
  36. package/DateTimeField/useDateTimeField.d.mts +1 -1
  37. package/DateTimeField/useDateTimeField.d.ts +1 -1
  38. package/DateTimeField/useDateTimeField.js +1 -1
  39. package/DateTimeField/useDateTimeField.mjs +1 -1
  40. package/DateTimePicker/DateTimePicker.d.mts +1 -1
  41. package/DateTimePicker/DateTimePicker.d.ts +1 -1
  42. package/DateTimePicker/DateTimePicker.js +1 -5
  43. package/DateTimePicker/DateTimePicker.mjs +1 -5
  44. package/DateTimePicker/DateTimePicker.types.d.mts +3 -3
  45. package/DateTimePicker/DateTimePicker.types.d.ts +3 -3
  46. package/DesktopDatePicker/DesktopDatePicker.d.mts +1 -1
  47. package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -1
  48. package/DesktopDatePicker/DesktopDatePicker.js +1 -5
  49. package/DesktopDatePicker/DesktopDatePicker.mjs +1 -5
  50. package/DesktopDatePicker/DesktopDatePicker.types.d.mts +3 -3
  51. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +3 -3
  52. package/DesktopDateTimePicker/DesktopDateTimePicker.d.mts +1 -1
  53. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -1
  54. package/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -5
  55. package/DesktopDateTimePicker/DesktopDateTimePicker.mjs +1 -5
  56. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.mts +3 -3
  57. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +3 -3
  58. package/DesktopTimePicker/DesktopTimePicker.d.mts +1 -1
  59. package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -1
  60. package/DesktopTimePicker/DesktopTimePicker.js +0 -4
  61. package/DesktopTimePicker/DesktopTimePicker.mjs +0 -4
  62. package/DesktopTimePicker/DesktopTimePicker.types.d.mts +3 -3
  63. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +3 -3
  64. package/DigitalClock/DigitalClock.d.mts +1 -1
  65. package/DigitalClock/DigitalClock.d.ts +1 -1
  66. package/DigitalClock/DigitalClock.js +2 -2
  67. package/DigitalClock/DigitalClock.mjs +3 -3
  68. package/LocalizationProvider/LocalizationProvider.d.mts +0 -6
  69. package/LocalizationProvider/LocalizationProvider.d.ts +0 -6
  70. package/LocalizationProvider/LocalizationProvider.js +1 -10
  71. package/LocalizationProvider/LocalizationProvider.mjs +0 -9
  72. package/LocalizationProvider/index.d.mts +1 -1
  73. package/LocalizationProvider/index.d.ts +1 -1
  74. package/LocalizationProvider/index.js +0 -6
  75. package/LocalizationProvider/index.mjs +1 -1
  76. package/MobileDatePicker/MobileDatePicker.d.mts +1 -1
  77. package/MobileDatePicker/MobileDatePicker.d.ts +1 -1
  78. package/MobileDatePicker/MobileDatePicker.js +1 -5
  79. package/MobileDatePicker/MobileDatePicker.mjs +1 -5
  80. package/MobileDatePicker/MobileDatePicker.types.d.mts +3 -3
  81. package/MobileDatePicker/MobileDatePicker.types.d.ts +3 -3
  82. package/MobileDateTimePicker/MobileDateTimePicker.d.mts +1 -1
  83. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -1
  84. package/MobileDateTimePicker/MobileDateTimePicker.js +1 -5
  85. package/MobileDateTimePicker/MobileDateTimePicker.mjs +1 -5
  86. package/MobileDateTimePicker/MobileDateTimePicker.types.d.mts +3 -3
  87. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +3 -3
  88. package/MobileTimePicker/MobileTimePicker.d.mts +1 -1
  89. package/MobileTimePicker/MobileTimePicker.d.ts +1 -1
  90. package/MobileTimePicker/MobileTimePicker.js +0 -4
  91. package/MobileTimePicker/MobileTimePicker.mjs +0 -4
  92. package/MobileTimePicker/MobileTimePicker.types.d.mts +3 -3
  93. package/MobileTimePicker/MobileTimePicker.types.d.ts +3 -3
  94. package/MonthCalendar/MonthCalendarButton.js +2 -2
  95. package/MonthCalendar/MonthCalendarButton.mjs +3 -3
  96. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +2 -2
  97. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.mjs +3 -3
  98. package/PickerDay/PickerDay.d.mts +14 -0
  99. package/PickerDay/PickerDay.d.ts +14 -0
  100. package/{PickerDay2/PickerDay2.js → PickerDay/PickerDay.js} +110 -45
  101. package/{PickerDay2/PickerDay2.mjs → PickerDay/PickerDay.mjs} +110 -45
  102. package/PickerDay/PickerDay.types.d.mts +137 -0
  103. package/PickerDay/PickerDay.types.d.ts +137 -0
  104. package/PickerDay/index.d.mts +4 -0
  105. package/PickerDay/index.d.ts +4 -0
  106. package/PickerDay/index.js +25 -0
  107. package/PickerDay/index.mjs +2 -0
  108. package/{PickerDay2/pickerDay2Classes.d.mts → PickerDay/pickerDayClasses.d.mts} +4 -4
  109. package/{PickerDay2/pickerDay2Classes.d.ts → PickerDay/pickerDayClasses.d.ts} +4 -4
  110. package/PickerDay/pickerDayClasses.js +14 -0
  111. package/PickerDay/pickerDayClasses.mjs +6 -0
  112. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +37 -16
  113. package/PickersTextField/PickersFilledInput/PickersFilledInput.mjs +37 -16
  114. package/PickersTextField/PickersInput/PickersInput.js +35 -14
  115. package/PickersTextField/PickersInput/PickersInput.mjs +35 -14
  116. package/PickersTextField/PickersInputBase/PickersInputBase.js +38 -8
  117. package/PickersTextField/PickersInputBase/PickersInputBase.mjs +38 -8
  118. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.mts +56 -13
  119. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +56 -13
  120. package/PickersTextField/PickersOutlinedInput/Outline.js +1 -1
  121. package/PickersTextField/PickersOutlinedInput/Outline.mjs +1 -1
  122. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +33 -11
  123. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.mjs +33 -11
  124. package/PickersTextField/PickersTextField.js +92 -39
  125. package/PickersTextField/PickersTextField.mjs +92 -39
  126. package/PickersTextField/PickersTextField.types.d.mts +56 -28
  127. package/PickersTextField/PickersTextField.types.d.ts +56 -28
  128. package/PickersTextField/index.d.mts +1 -1
  129. package/PickersTextField/index.d.ts +1 -1
  130. package/StaticDatePicker/StaticDatePicker.js +1 -1
  131. package/StaticDatePicker/StaticDatePicker.mjs +1 -1
  132. package/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
  133. package/StaticDateTimePicker/StaticDateTimePicker.mjs +1 -1
  134. package/TimeField/TimeField.d.mts +1 -1
  135. package/TimeField/TimeField.d.ts +1 -1
  136. package/TimeField/TimeField.js +23 -29
  137. package/TimeField/TimeField.mjs +23 -29
  138. package/TimeField/TimeField.types.d.mts +2 -2
  139. package/TimeField/TimeField.types.d.ts +2 -2
  140. package/TimeField/useTimeField.d.mts +1 -1
  141. package/TimeField/useTimeField.d.ts +1 -1
  142. package/TimePicker/TimePicker.d.mts +1 -1
  143. package/TimePicker/TimePicker.d.ts +1 -1
  144. package/TimePicker/TimePicker.js +0 -4
  145. package/TimePicker/TimePicker.mjs +0 -4
  146. package/TimePicker/TimePicker.types.d.mts +3 -3
  147. package/TimePicker/TimePicker.types.d.ts +3 -3
  148. package/YearCalendar/YearCalendarButton.js +2 -2
  149. package/YearCalendar/YearCalendarButton.mjs +3 -3
  150. package/hooks/useParsedFormat.js +5 -7
  151. package/hooks/useParsedFormat.mjs +5 -7
  152. package/hooks/useSplitFieldProps.d.mts +1 -1
  153. package/hooks/useSplitFieldProps.d.ts +1 -1
  154. package/hooks/useSplitFieldProps.js +1 -1
  155. package/hooks/useSplitFieldProps.mjs +1 -1
  156. package/index.d.mts +1 -2
  157. package/index.d.ts +1 -2
  158. package/index.js +2 -14
  159. package/index.mjs +2 -3
  160. package/internals/components/PickerFieldUI.d.mts +11 -17
  161. package/internals/components/PickerFieldUI.d.ts +11 -17
  162. package/internals/components/PickerFieldUI.js +65 -114
  163. package/internals/components/PickerFieldUI.mjs +65 -114
  164. package/internals/components/PickerPopper/PickerPopper.js +3 -0
  165. package/internals/components/PickerPopper/PickerPopper.mjs +3 -0
  166. package/internals/components/PickersToolbar.js +3 -1
  167. package/internals/components/PickersToolbar.mjs +3 -1
  168. package/internals/demo/DemoContainer.js +6 -8
  169. package/internals/demo/DemoContainer.mjs +6 -8
  170. package/internals/hooks/PickerDay.types.d.mts +12 -0
  171. package/internals/hooks/PickerDay.types.d.ts +12 -0
  172. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.mts +2 -2
  173. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
  174. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.mts +6 -6
  175. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +6 -6
  176. package/internals/hooks/useField/buildSectionsFromFormat.d.mts +0 -1
  177. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +0 -1
  178. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  179. package/internals/hooks/useField/buildSectionsFromFormat.mjs +1 -1
  180. package/internals/hooks/useField/index.d.mts +1 -1
  181. package/internals/hooks/useField/index.d.ts +1 -1
  182. package/internals/hooks/useField/index.js +2 -8
  183. package/internals/hooks/useField/index.mjs +1 -1
  184. package/internals/hooks/useField/useField.d.mts +2 -2
  185. package/internals/hooks/useField/useField.d.ts +2 -2
  186. package/internals/hooks/useField/useField.js +265 -8
  187. package/internals/hooks/useField/useField.mjs +264 -8
  188. package/internals/hooks/useField/useField.types.d.mts +11 -50
  189. package/internals/hooks/useField/useField.types.d.ts +11 -50
  190. package/internals/hooks/useField/useField.utils.d.mts +2 -3
  191. package/internals/hooks/useField/useField.utils.d.ts +2 -3
  192. package/internals/hooks/useField/useField.utils.js +8 -65
  193. package/internals/hooks/useField/useField.utils.mjs +6 -62
  194. package/internals/hooks/useField/useFieldHiddenInputProps.d.mts +2 -4
  195. package/internals/hooks/useField/useFieldHiddenInputProps.d.ts +2 -4
  196. package/internals/hooks/useField/useFieldHiddenInputProps.js +1 -3
  197. package/internals/hooks/useField/useFieldHiddenInputProps.mjs +1 -3
  198. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +0 -1
  199. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.mjs +0 -1
  200. package/internals/hooks/useField/useFieldRootProps.d.mts +5 -5
  201. package/internals/hooks/useField/useFieldRootProps.d.ts +5 -5
  202. package/internals/hooks/useField/useFieldRootProps.js +183 -11
  203. package/internals/hooks/useField/useFieldRootProps.mjs +183 -11
  204. package/internals/hooks/useField/useFieldSectionContainerProps.d.mts +3 -5
  205. package/internals/hooks/useField/useFieldSectionContainerProps.d.ts +3 -5
  206. package/internals/hooks/useField/useFieldSectionContainerProps.js +2 -4
  207. package/internals/hooks/useField/useFieldSectionContainerProps.mjs +2 -4
  208. package/internals/hooks/useField/useFieldSectionContentProps.d.mts +6 -7
  209. package/internals/hooks/useField/useFieldSectionContentProps.d.ts +6 -7
  210. package/internals/hooks/useField/useFieldSectionContentProps.js +2 -4
  211. package/internals/hooks/useField/useFieldSectionContentProps.mjs +2 -4
  212. package/internals/hooks/useField/useFieldState.d.mts +4 -4
  213. package/internals/hooks/useField/useFieldState.d.ts +4 -4
  214. package/internals/hooks/useField/useFieldState.js +3 -6
  215. package/internals/hooks/useField/useFieldState.mjs +3 -6
  216. package/internals/hooks/useMobilePicker/useMobilePicker.d.mts +2 -2
  217. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
  218. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.mts +6 -6
  219. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +6 -6
  220. package/internals/hooks/useNullableFieldPrivateContext.d.mts +1 -1
  221. package/internals/hooks/useNullableFieldPrivateContext.d.ts +1 -1
  222. package/internals/hooks/usePicker/usePicker.js +1 -3
  223. package/internals/hooks/usePicker/usePicker.mjs +1 -3
  224. package/{PickersDay → internals/hooks}/usePickerDayOwnerState.d.mts +2 -3
  225. package/{PickersDay → internals/hooks}/usePickerDayOwnerState.d.ts +2 -3
  226. package/{PickersDay → internals/hooks}/usePickerDayOwnerState.js +3 -5
  227. package/{PickersDay → internals/hooks}/usePickerDayOwnerState.mjs +3 -5
  228. package/internals/index.d.mts +4 -4
  229. package/internals/index.d.ts +4 -4
  230. package/internals/index.js +9 -9
  231. package/internals/index.mjs +3 -3
  232. package/internals/models/manager.d.mts +3 -5
  233. package/internals/models/manager.d.ts +3 -5
  234. package/internals/utils/valueManagers.js +1 -2
  235. package/internals/utils/valueManagers.mjs +2 -3
  236. package/managers/index.d.mts +2 -2
  237. package/managers/index.d.ts +2 -2
  238. package/managers/useDateManager.d.mts +3 -6
  239. package/managers/useDateManager.d.ts +3 -6
  240. package/managers/useDateManager.js +2 -6
  241. package/managers/useDateManager.mjs +2 -6
  242. package/managers/useDateTimeManager.d.mts +3 -6
  243. package/managers/useDateTimeManager.d.ts +3 -6
  244. package/managers/useDateTimeManager.js +2 -6
  245. package/managers/useDateTimeManager.mjs +2 -6
  246. package/managers/useTimeManager.d.mts +4 -6
  247. package/managers/useTimeManager.d.ts +4 -6
  248. package/managers/useTimeManager.js +1 -3
  249. package/managers/useTimeManager.mjs +1 -3
  250. package/models/fields.d.mts +3 -4
  251. package/models/fields.d.ts +3 -4
  252. package/models/manager.d.mts +2 -8
  253. package/models/manager.d.ts +2 -8
  254. package/package.json +55 -69
  255. package/themeAugmentation/components.d.mts +4 -8
  256. package/themeAugmentation/components.d.ts +4 -8
  257. package/themeAugmentation/overrides.d.mts +2 -4
  258. package/themeAugmentation/overrides.d.ts +2 -4
  259. package/themeAugmentation/props.d.mts +5 -7
  260. package/themeAugmentation/props.d.ts +5 -7
  261. package/PickerDay2/PickerDay2.d.mts +0 -7
  262. package/PickerDay2/PickerDay2.d.ts +0 -7
  263. package/PickerDay2/PickerDay2.types.d.mts +0 -18
  264. package/PickerDay2/PickerDay2.types.d.ts +0 -18
  265. package/PickerDay2/index.d.mts +0 -4
  266. package/PickerDay2/index.d.ts +0 -4
  267. package/PickerDay2/index.js +0 -25
  268. package/PickerDay2/index.mjs +0 -2
  269. package/PickerDay2/pickerDay2Classes.js +0 -14
  270. package/PickerDay2/pickerDay2Classes.mjs +0 -6
  271. package/PickersDay/PickersDay.d.mts +0 -15
  272. package/PickersDay/PickersDay.d.ts +0 -15
  273. package/PickersDay/PickersDay.js +0 -384
  274. package/PickersDay/PickersDay.mjs +0 -377
  275. package/PickersDay/PickersDay.types.d.mts +0 -114
  276. package/PickersDay/PickersDay.types.d.ts +0 -114
  277. package/PickersDay/index.d.mts +0 -4
  278. package/PickersDay/index.d.ts +0 -4
  279. package/PickersDay/index.js +0 -25
  280. package/PickersDay/index.mjs +0 -2
  281. package/PickersDay/pickersDayClasses.d.mts +0 -19
  282. package/PickersDay/pickersDayClasses.d.ts +0 -19
  283. package/PickersDay/pickersDayClasses.js +0 -14
  284. package/PickersDay/pickersDayClasses.mjs +0 -6
  285. package/internals/hooks/useField/useFieldRootHandleKeyDown.d.mts +0 -16
  286. package/internals/hooks/useField/useFieldRootHandleKeyDown.d.ts +0 -16
  287. package/internals/hooks/useField/useFieldRootHandleKeyDown.js +0 -211
  288. package/internals/hooks/useField/useFieldRootHandleKeyDown.mjs +0 -205
  289. package/internals/hooks/useField/useFieldV6TextField.d.mts +0 -26
  290. package/internals/hooks/useField/useFieldV6TextField.d.ts +0 -26
  291. package/internals/hooks/useField/useFieldV6TextField.js +0 -422
  292. package/internals/hooks/useField/useFieldV6TextField.mjs +0 -413
  293. package/internals/hooks/useField/useFieldV7TextField.d.mts +0 -3
  294. package/internals/hooks/useField/useFieldV7TextField.d.ts +0 -3
  295. package/internals/hooks/useField/useFieldV7TextField.js +0 -272
  296. package/internals/hooks/useField/useFieldV7TextField.mjs +0 -264
  297. /package/{PickerDay2/PickerDay2.types.js → PickerDay/PickerDay.types.js} +0 -0
  298. /package/{PickerDay2/PickerDay2.types.mjs → PickerDay/PickerDay.types.mjs} +0 -0
  299. /package/{PickersDay/PickersDay.types.js → internals/hooks/PickerDay.types.js} +0 -0
  300. /package/{PickersDay/PickersDay.types.mjs → internals/hooks/PickerDay.types.mjs} +0 -0
@@ -1,7 +1,6 @@
1
1
  'use client';
2
2
 
3
3
  import * as React from 'react';
4
- import { useRtl } from '@mui/system/RtlProvider';
5
4
  import { usePickerAdapter } from "./usePickerAdapter.mjs";
6
5
  import { buildSectionsFromFormat } from "../internals/hooks/useField/buildSectionsFromFormat.mjs";
7
6
  import { getLocalizedDigits } from "../internals/hooks/useField/useField.utils.mjs";
@@ -17,7 +16,6 @@ import { useNullablePickerContext } from "../internals/hooks/useNullablePickerCo
17
16
  export const useParsedFormat = (parameters = {}) => {
18
17
  const pickerContext = useNullablePickerContext();
19
18
  const adapter = usePickerAdapter();
20
- const isRtl = useRtl();
21
19
  const translations = usePickerTranslations();
22
20
  const localizedDigits = React.useMemo(() => getLocalizedDigits(adapter), [adapter]);
23
21
  const {
@@ -28,14 +26,14 @@ export const useParsedFormat = (parameters = {}) => {
28
26
  adapter,
29
27
  format,
30
28
  formatDensity: 'dense',
31
- isRtl,
29
+ // Pass `isRtl: false` to prevent RTL format reversal.
30
+ // `useParsedFormat` builds a display string, not a field layout.
31
+ isRtl: false,
32
32
  shouldRespectLeadingZeros: true,
33
33
  localeText: translations,
34
34
  localizedDigits,
35
- date: null,
36
- // TODO v9: Make sure we still don't reverse in `buildSectionsFromFormat` when using `useParsedFormat`.
37
- enableAccessibleFieldDOMStructure: false
35
+ date: null
38
36
  });
39
37
  return sections.map(section => `${section.startSeparator}${section.placeholder}${section.endSeparator}`).join('');
40
- }, [adapter, isRtl, translations, localizedDigits, format]);
38
+ }, [adapter, translations, localizedDigits, format]);
41
39
  };
@@ -1,6 +1,6 @@
1
1
  import { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from "../validation/extractValidationProps.mjs";
2
2
  import { PickerValueType } from "../models/common.mjs";
3
- declare const SHARED_FIELD_INTERNAL_PROP_NAMES: readonly ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "fieldRef", "startFieldRef", "endFieldRef", "enableAccessibleFieldDOMStructure", "disabled", "readOnly", "dateSeparator", "autoFocus", "focused"];
3
+ declare const SHARED_FIELD_INTERNAL_PROP_NAMES: readonly ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "fieldRef", "startFieldRef", "endFieldRef", "disabled", "readOnly", "dateSeparator", "autoFocus", "focused"];
4
4
  export type InternalPropNames<TValueType extends PickerValueType> = (typeof SHARED_FIELD_INTERNAL_PROP_NAMES)[number] | (TValueType extends 'date' | 'date-time' ? (typeof DATE_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'time' | 'date-time' ? (typeof TIME_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'date-time' ? (typeof DATE_TIME_VALIDATION_PROP_NAMES)[number] : never);
5
5
  /**
6
6
  * Split the props received by the field component into:
@@ -1,6 +1,6 @@
1
1
  import { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from "../validation/extractValidationProps.js";
2
2
  import { PickerValueType } from "../models/common.js";
3
- declare const SHARED_FIELD_INTERNAL_PROP_NAMES: readonly ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "fieldRef", "startFieldRef", "endFieldRef", "enableAccessibleFieldDOMStructure", "disabled", "readOnly", "dateSeparator", "autoFocus", "focused"];
3
+ declare const SHARED_FIELD_INTERNAL_PROP_NAMES: readonly ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "fieldRef", "startFieldRef", "endFieldRef", "disabled", "readOnly", "dateSeparator", "autoFocus", "focused"];
4
4
  export type InternalPropNames<TValueType extends PickerValueType> = (typeof SHARED_FIELD_INTERNAL_PROP_NAMES)[number] | (TValueType extends 'date' | 'date-time' ? (typeof DATE_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'time' | 'date-time' ? (typeof TIME_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'date-time' ? (typeof DATE_TIME_VALIDATION_PROP_NAMES)[number] : never);
5
5
  /**
6
6
  * Split the props received by the field component into:
@@ -10,7 +10,7 @@ exports.useSplitFieldProps = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _extractValidationProps = require("../validation/extractValidationProps");
13
- const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'fieldRef', 'startFieldRef', 'endFieldRef', 'enableAccessibleFieldDOMStructure', 'disabled', 'readOnly', 'dateSeparator', 'autoFocus', 'focused'];
13
+ const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'fieldRef', 'startFieldRef', 'endFieldRef', 'disabled', 'readOnly', 'dateSeparator', 'autoFocus', 'focused'];
14
14
  /**
15
15
  * Split the props received by the field component into:
16
16
  * - `internalProps` which are used by the various hooks called by the field component.
@@ -3,7 +3,7 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from "../validation/extractValidationProps.mjs";
6
- const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'fieldRef', 'startFieldRef', 'endFieldRef', 'enableAccessibleFieldDOMStructure', 'disabled', 'readOnly', 'dateSeparator', 'autoFocus', 'focused'];
6
+ const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'fieldRef', 'startFieldRef', 'endFieldRef', 'disabled', 'readOnly', 'dateSeparator', 'autoFocus', 'focused'];
7
7
  /**
8
8
  * Split the props received by the field component into:
9
9
  * - `internalProps` which are used by the various hooks called by the field component.
package/index.d.mts CHANGED
@@ -2,8 +2,7 @@ export * from "./TimeClock/index.mjs";
2
2
  export * from "./DigitalClock/index.mjs";
3
3
  export * from "./MultiSectionDigitalClock/index.mjs";
4
4
  export * from "./LocalizationProvider/index.mjs";
5
- export * from "./PickersDay/index.mjs";
6
- export * from "./PickerDay2/index.mjs";
5
+ export * from "./PickerDay/index.mjs";
7
6
  export * from "./locales/utils/pickersLocaleTextApi.mjs";
8
7
  export * from "./DateField/index.mjs";
9
8
  export * from "./TimeField/index.mjs";
package/index.d.ts CHANGED
@@ -2,8 +2,7 @@ export * from "./TimeClock/index.js";
2
2
  export * from "./DigitalClock/index.js";
3
3
  export * from "./MultiSectionDigitalClock/index.js";
4
4
  export * from "./LocalizationProvider/index.js";
5
- export * from "./PickersDay/index.js";
6
- export * from "./PickerDay2/index.js";
5
+ export * from "./PickerDay/index.js";
7
6
  export * from "./locales/utils/pickersLocaleTextApi.js";
8
7
  export * from "./DateField/index.js";
9
8
  export * from "./TimeField/index.js";
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v9.0.0-alpha.4
2
+ * @mui/x-date-pickers v9.0.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -67,19 +67,7 @@ Object.keys(_LocalizationProvider).forEach(function (key) {
67
67
  }
68
68
  });
69
69
  });
70
- var _PickersDay = require("./PickersDay");
71
- Object.keys(_PickersDay).forEach(function (key) {
72
- if (key === "default" || key === "__esModule") return;
73
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
74
- if (key in exports && exports[key] === _PickersDay[key]) return;
75
- Object.defineProperty(exports, key, {
76
- enumerable: true,
77
- get: function () {
78
- return _PickersDay[key];
79
- }
80
- });
81
- });
82
- var _PickerDay = require("./PickerDay2");
70
+ var _PickerDay = require("./PickerDay");
83
71
  Object.keys(_PickerDay).forEach(function (key) {
84
72
  if (key === "default" || key === "__esModule") return;
85
73
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v9.0.0-alpha.4
2
+ * @mui/x-date-pickers v9.0.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -10,8 +10,7 @@ export * from "./TimeClock/index.mjs";
10
10
  export * from "./DigitalClock/index.mjs";
11
11
  export * from "./MultiSectionDigitalClock/index.mjs";
12
12
  export * from "./LocalizationProvider/index.mjs";
13
- export * from "./PickersDay/index.mjs";
14
- export * from "./PickerDay2/index.mjs";
13
+ export * from "./PickerDay/index.mjs";
15
14
  export * from "./locales/utils/pickersLocaleTextApi.mjs";
16
15
 
17
16
  // Fields
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import { TextFieldProps } from '@mui/material/TextField';
3
2
  import { IconButtonProps } from '@mui/material/IconButton';
4
3
  import { InputAdornmentProps } from '@mui/material/InputAdornment';
5
4
  import { SvgIconProps } from '@mui/material/SvgIcon';
@@ -8,21 +7,18 @@ import { FieldOwnerState } from "../../models/index.mjs";
8
7
  import { UseFieldOwnerStateParameters } from "../hooks/useFieldOwnerState.mjs";
9
8
  import type { UseFieldReturnValue, UseFieldProps } from "../hooks/useField/index.mjs";
10
9
  import { PickersTextFieldProps } from "../../PickersTextField/index.mjs";
11
- export declare const cleanFieldResponse: <TFieldResponse extends MakeOptional<UseFieldReturnValue<any, ExportedPickerFieldUIProps & {
10
+ export declare const cleanFieldResponse: <TFieldResponse extends MakeOptional<UseFieldReturnValue<ExportedPickerFieldUIProps & {
12
11
  [key: string]: any;
13
- }>, "onClear" | "clearable">>({
14
- enableAccessibleFieldDOMStructure,
15
- ...fieldResponse
16
- }: TFieldResponse) => ExportedPickerFieldUIProps & {
12
+ }>, "onClear" | "clearable">>(fieldResponse: TFieldResponse) => ExportedPickerFieldUIProps & {
17
13
  openPickerAriaLabel: string;
18
- textFieldProps: TextFieldProps | PickersTextFieldProps;
14
+ textFieldProps: Partial<PickersTextFieldProps>;
19
15
  };
20
16
  export declare const PickerFieldUIContext: React.Context<PickerFieldUIContextValue>;
21
17
  /**
22
18
  * Adds the button to open the Picker and the button to clear the value of the field.
23
19
  * @ignore - internal component.
24
20
  */
25
- export declare function PickerFieldUI<TEnableAccessibleFieldDOMStructure extends boolean, TProps extends UseFieldProps<TEnableAccessibleFieldDOMStructure>>(props: PickerFieldUIProps<TEnableAccessibleFieldDOMStructure, TProps>): import("react/jsx-runtime").JSX.Element;
21
+ export declare function PickerFieldUI<TProps extends UseFieldProps>(props: PickerFieldUIProps<TProps>): import("react/jsx-runtime").JSX.Element;
26
22
  export interface ExportedPickerFieldUIProps {
27
23
  /**
28
24
  * If `true`, a clear button will be shown in the field allowing value clearing.
@@ -46,11 +42,11 @@ export interface ExportedPickerFieldUIProps {
46
42
  */
47
43
  openPickerButtonPosition?: 'start' | 'end';
48
44
  }
49
- export interface PickerFieldUIProps<TEnableAccessibleFieldDOMStructure extends boolean, TProps extends UseFieldProps<TEnableAccessibleFieldDOMStructure>> {
45
+ export interface PickerFieldUIProps<TProps extends UseFieldProps> {
50
46
  /**
51
47
  * Object returned by the `useField` hook or one of its wrapper (for example `useDateField`).
52
48
  */
53
- fieldResponse: UseFieldReturnValue<TEnableAccessibleFieldDOMStructure, TProps>;
49
+ fieldResponse: UseFieldReturnValue<TProps>;
54
50
  /**
55
51
  * The component to use to render the Picker opening icon if none is provided in the Picker's slots.
56
52
  */
@@ -59,7 +55,7 @@ export interface PickerFieldUIProps<TEnableAccessibleFieldDOMStructure extends b
59
55
  export interface PickerFieldUISlots {
60
56
  /**
61
57
  * Form control with an input to render the value.
62
- * @default <PickersTextField />, or <TextField /> from '@mui/material' if `enableAccessibleFieldDOMStructure` is `false`.
58
+ * @default <PickersTextField />
63
59
  */
64
60
  textField?: React.ElementType;
65
61
  /**
@@ -90,7 +86,7 @@ export interface PickerFieldUISlotsFromContext extends PickerFieldUISlots {
90
86
  openPickerIcon?: React.ElementType;
91
87
  }
92
88
  export interface PickerFieldUISlotProps {
93
- textField?: SlotComponentPropsFromProps<Omit<TextFieldProps, 'onKeyDown'> | PickersTextFieldProps, {}, FieldOwnerState>;
89
+ textField?: SlotComponentPropsFromProps<PickersTextFieldProps, {}, FieldOwnerState>;
94
90
  inputAdornment?: SlotComponentPropsFromProps<InputAdornmentProps, {}, FieldInputAdornmentOwnerState>;
95
91
  clearIcon?: SlotComponentPropsFromProps<SvgIconProps, {}, FieldOwnerState>;
96
92
  clearButton?: SlotComponentPropsFromProps<IconButtonProps, {}, FieldOwnerState>;
@@ -111,14 +107,12 @@ export declare function mergeSlotProps<TProps extends {}, TOwnerState extends Fi
111
107
  /**
112
108
  * The `textField` slot props cannot be handled inside `PickerFieldUI` because it would be a breaking change to not pass the enriched props to `useField`.
113
109
  * Once the non-accessible DOM structure will be removed, we will be able to remove the `textField` slot and clean this logic.
110
+ * TODO: Address with the needed support for the `textField` slotProps given the change of minimum version of MUI.
114
111
  */
115
- export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerStateParameters & {
116
- inputProps?: {};
117
- InputProps?: {};
118
- }>(parameters: UseFieldTextFieldPropsParameters): TProps;
112
+ export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerStateParameters>(parameters: UseFieldTextFieldPropsParameters): TProps;
119
113
  interface UseFieldTextFieldPropsParameters {
120
114
  slotProps: {
121
- textField?: SlotComponentPropsFromProps<Omit<TextFieldProps, 'onKeyDown'> | PickersTextFieldProps, {}, FieldOwnerState>;
115
+ textField?: PickerFieldUISlotProps['textField'];
122
116
  } | undefined;
123
117
  ref: React.Ref<HTMLDivElement>;
124
118
  externalForwardedProps: any;
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import { TextFieldProps } from '@mui/material/TextField';
3
2
  import { IconButtonProps } from '@mui/material/IconButton';
4
3
  import { InputAdornmentProps } from '@mui/material/InputAdornment';
5
4
  import { SvgIconProps } from '@mui/material/SvgIcon';
@@ -8,21 +7,18 @@ import { FieldOwnerState } from "../../models/index.js";
8
7
  import { UseFieldOwnerStateParameters } from "../hooks/useFieldOwnerState.js";
9
8
  import type { UseFieldReturnValue, UseFieldProps } from "../hooks/useField/index.js";
10
9
  import { PickersTextFieldProps } from "../../PickersTextField/index.js";
11
- export declare const cleanFieldResponse: <TFieldResponse extends MakeOptional<UseFieldReturnValue<any, ExportedPickerFieldUIProps & {
10
+ export declare const cleanFieldResponse: <TFieldResponse extends MakeOptional<UseFieldReturnValue<ExportedPickerFieldUIProps & {
12
11
  [key: string]: any;
13
- }>, "onClear" | "clearable">>({
14
- enableAccessibleFieldDOMStructure,
15
- ...fieldResponse
16
- }: TFieldResponse) => ExportedPickerFieldUIProps & {
12
+ }>, "onClear" | "clearable">>(fieldResponse: TFieldResponse) => ExportedPickerFieldUIProps & {
17
13
  openPickerAriaLabel: string;
18
- textFieldProps: TextFieldProps | PickersTextFieldProps;
14
+ textFieldProps: Partial<PickersTextFieldProps>;
19
15
  };
20
16
  export declare const PickerFieldUIContext: React.Context<PickerFieldUIContextValue>;
21
17
  /**
22
18
  * Adds the button to open the Picker and the button to clear the value of the field.
23
19
  * @ignore - internal component.
24
20
  */
25
- export declare function PickerFieldUI<TEnableAccessibleFieldDOMStructure extends boolean, TProps extends UseFieldProps<TEnableAccessibleFieldDOMStructure>>(props: PickerFieldUIProps<TEnableAccessibleFieldDOMStructure, TProps>): import("react/jsx-runtime").JSX.Element;
21
+ export declare function PickerFieldUI<TProps extends UseFieldProps>(props: PickerFieldUIProps<TProps>): import("react/jsx-runtime").JSX.Element;
26
22
  export interface ExportedPickerFieldUIProps {
27
23
  /**
28
24
  * If `true`, a clear button will be shown in the field allowing value clearing.
@@ -46,11 +42,11 @@ export interface ExportedPickerFieldUIProps {
46
42
  */
47
43
  openPickerButtonPosition?: 'start' | 'end';
48
44
  }
49
- export interface PickerFieldUIProps<TEnableAccessibleFieldDOMStructure extends boolean, TProps extends UseFieldProps<TEnableAccessibleFieldDOMStructure>> {
45
+ export interface PickerFieldUIProps<TProps extends UseFieldProps> {
50
46
  /**
51
47
  * Object returned by the `useField` hook or one of its wrapper (for example `useDateField`).
52
48
  */
53
- fieldResponse: UseFieldReturnValue<TEnableAccessibleFieldDOMStructure, TProps>;
49
+ fieldResponse: UseFieldReturnValue<TProps>;
54
50
  /**
55
51
  * The component to use to render the Picker opening icon if none is provided in the Picker's slots.
56
52
  */
@@ -59,7 +55,7 @@ export interface PickerFieldUIProps<TEnableAccessibleFieldDOMStructure extends b
59
55
  export interface PickerFieldUISlots {
60
56
  /**
61
57
  * Form control with an input to render the value.
62
- * @default <PickersTextField />, or <TextField /> from '@mui/material' if `enableAccessibleFieldDOMStructure` is `false`.
58
+ * @default <PickersTextField />
63
59
  */
64
60
  textField?: React.ElementType;
65
61
  /**
@@ -90,7 +86,7 @@ export interface PickerFieldUISlotsFromContext extends PickerFieldUISlots {
90
86
  openPickerIcon?: React.ElementType;
91
87
  }
92
88
  export interface PickerFieldUISlotProps {
93
- textField?: SlotComponentPropsFromProps<Omit<TextFieldProps, 'onKeyDown'> | PickersTextFieldProps, {}, FieldOwnerState>;
89
+ textField?: SlotComponentPropsFromProps<PickersTextFieldProps, {}, FieldOwnerState>;
94
90
  inputAdornment?: SlotComponentPropsFromProps<InputAdornmentProps, {}, FieldInputAdornmentOwnerState>;
95
91
  clearIcon?: SlotComponentPropsFromProps<SvgIconProps, {}, FieldOwnerState>;
96
92
  clearButton?: SlotComponentPropsFromProps<IconButtonProps, {}, FieldOwnerState>;
@@ -111,14 +107,12 @@ export declare function mergeSlotProps<TProps extends {}, TOwnerState extends Fi
111
107
  /**
112
108
  * The `textField` slot props cannot be handled inside `PickerFieldUI` because it would be a breaking change to not pass the enriched props to `useField`.
113
109
  * Once the non-accessible DOM structure will be removed, we will be able to remove the `textField` slot and clean this logic.
110
+ * TODO: Address with the needed support for the `textField` slotProps given the change of minimum version of MUI.
114
111
  */
115
- export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerStateParameters & {
116
- inputProps?: {};
117
- InputProps?: {};
118
- }>(parameters: UseFieldTextFieldPropsParameters): TProps;
112
+ export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerStateParameters>(parameters: UseFieldTextFieldPropsParameters): TProps;
119
113
  interface UseFieldTextFieldPropsParameters {
120
114
  slotProps: {
121
- textField?: SlotComponentPropsFromProps<Omit<TextFieldProps, 'onKeyDown'> | PickersTextFieldProps, {}, FieldOwnerState>;
115
+ textField?: PickerFieldUISlotProps['textField'];
122
116
  } | undefined;
123
117
  ref: React.Ref<HTMLDivElement>;
124
118
  externalForwardedProps: any;
@@ -18,107 +18,58 @@ var React = _interopRequireWildcard(require("react"));
18
18
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
19
19
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
20
20
  var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
21
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
22
21
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
23
22
  var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
24
- var _version = require("@mui/material/version");
25
23
  var _useSlotProps5 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
24
+ var _warning = require("@mui/x-internals/warning");
26
25
  var _useFieldOwnerState = require("../hooks/useFieldOwnerState");
27
26
  var _hooks = require("../../hooks");
28
27
  var _icons = require("../../icons");
29
28
  var _useNullablePickerContext = require("../hooks/useNullablePickerContext");
30
29
  var _PickersTextField = require("../../PickersTextField");
31
30
  var _jsxRuntime = require("react/jsx-runtime");
32
- const _excluded = ["enableAccessibleFieldDOMStructure"],
33
- _excluded2 = ["InputProps", "readOnly", "onClear", "clearable", "clearButtonPosition", "openPickerButtonPosition", "openPickerAriaLabel"],
34
- _excluded3 = ["onPaste", "onKeyDown", "inputMode", "readOnly", "InputProps", "inputProps", "inputRef", "onClear", "clearable", "clearButtonPosition", "openPickerButtonPosition", "openPickerAriaLabel"],
31
+ const _excluded = ["readOnly", "onClear", "clearable", "clearButtonPosition", "openPickerButtonPosition", "openPickerAriaLabel", "InputProps", "inputProps", "InputLabelProps", "FormHelperTextProps"],
32
+ _excluded2 = ["ownerState"],
33
+ _excluded3 = ["ownerState"],
35
34
  _excluded4 = ["ownerState"],
36
35
  _excluded5 = ["ownerState"],
37
- _excluded6 = ["ownerState"],
38
- _excluded7 = ["ownerState"],
39
- _excluded8 = ["InputProps", "inputProps"];
40
- const noop = () => {};
41
- const cleanFieldResponse = _ref => {
42
- let {
43
- enableAccessibleFieldDOMStructure
44
- } = _ref,
45
- fieldResponse = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
46
- if (enableAccessibleFieldDOMStructure) {
47
- const {
48
- InputProps,
49
- readOnly,
50
- onClear,
51
- clearable,
52
- clearButtonPosition,
53
- openPickerButtonPosition,
54
- openPickerAriaLabel
55
- } = fieldResponse,
56
- other = (0, _objectWithoutPropertiesLoose2.default)(fieldResponse, _excluded2);
57
- const mergedInputProps = _version.major >= 6 && other?.slotProps?.input ? mergeSlotProps(other?.slotProps?.input, InputProps) : noop;
58
- return {
59
- clearable,
60
- onClear,
61
- clearButtonPosition,
62
- openPickerButtonPosition,
63
- openPickerAriaLabel,
64
- textFieldProps: (0, _extends2.default)({}, other, _version.major >= 6 && other?.slotProps?.input ? {
65
- slotProps: (0, _extends2.default)({}, other?.slotProps, {
66
- input: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(mergedInputProps, ownerState), {
67
- readOnly
68
- })
69
- })
70
- } : {
71
- InputProps: (0, _extends2.default)({}, InputProps ?? {}, {
72
- readOnly
73
- })
74
- })
75
- };
76
- }
77
- const {
78
- onPaste,
79
- onKeyDown,
80
- inputMode,
36
+ _excluded6 = ["InputProps", "inputProps", "InputLabelProps", "FormHelperTextProps"];
37
+ const cleanFieldResponse = fieldResponse => {
38
+ const _ref = fieldResponse,
39
+ {
81
40
  readOnly,
82
- InputProps,
83
- inputProps,
84
- inputRef,
85
41
  onClear,
86
42
  clearable,
87
43
  clearButtonPosition,
88
44
  openPickerButtonPosition,
89
- openPickerAriaLabel
90
- } = fieldResponse,
91
- other = (0, _objectWithoutPropertiesLoose2.default)(fieldResponse, _excluded3);
92
- const mergedInputProps = _version.major >= 6 && other?.slotProps?.input ? mergeSlotProps(other?.slotProps?.input, InputProps) : noop;
93
- const mergedHtmlInputProps = _version.major >= 6 && other?.slotProps?.htmlInput ? mergeSlotProps(other?.slotProps?.htmlInput, inputProps) : noop;
45
+ openPickerAriaLabel,
46
+ // TODO v10: remove
47
+ // Explicitly discard legacy props that are no longer supported on `PickersTextField`.
48
+ // Without this, any leftover values would silently leak into `...other` and end up spread
49
+ // as unknown attributes on the underlying form control.
50
+ InputProps: legacyInputProps,
51
+ inputProps: legacyHtmlInputProps,
52
+ InputLabelProps: legacyInputLabelProps,
53
+ FormHelperTextProps: legacyFormHelperTextProps
54
+ } = _ref,
55
+ other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
56
+ if (process.env.NODE_ENV !== 'production') {
57
+ if (legacyInputProps || legacyHtmlInputProps || legacyInputLabelProps || legacyFormHelperTextProps) {
58
+ (0, _warning.warnOnce)(['MUI X: The `InputProps`, `inputProps`, `InputLabelProps` and `FormHelperTextProps` props are no longer supported on Picker / Field components.', 'They have been silently dropped because they would otherwise be forwarded as unknown attributes on the underlying form control.', 'Use the `slotProps` shape instead (`slotProps.input`, `slotProps.htmlInput`, `slotProps.inputLabel`, `slotProps.formHelperText`).', 'See https://mui.com/x/migration/migration-pickers-v8/#textfield-props for migration details.']);
59
+ }
60
+ }
94
61
  return {
95
62
  clearable,
96
63
  onClear,
97
64
  clearButtonPosition,
98
65
  openPickerButtonPosition,
99
66
  openPickerAriaLabel,
100
- textFieldProps: (0, _extends2.default)({}, other, _version.major >= 6 && (other?.slotProps?.input || other?.slotProps?.htmlInput) ? {
67
+ textFieldProps: (0, _extends2.default)({}, other, {
101
68
  slotProps: (0, _extends2.default)({}, other?.slotProps, {
102
- input: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(mergedInputProps, ownerState), {
69
+ input: (0, _extends2.default)({}, other?.slotProps?.input, {
103
70
  readOnly
104
- }),
105
- htmlInput: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(mergedHtmlInputProps, ownerState), {
106
- inputMode,
107
- onPaste,
108
- onKeyDown,
109
- ref: inputRef
110
71
  })
111
72
  })
112
- } : {
113
- InputProps: (0, _extends2.default)({}, InputProps ?? {}, {
114
- readOnly
115
- }),
116
- inputProps: (0, _extends2.default)({}, inputProps ?? {}, {
117
- inputMode,
118
- onPaste,
119
- onKeyDown,
120
- ref: inputRef
121
- })
122
73
  })
123
74
  };
124
75
  };
@@ -159,7 +110,7 @@ function PickerFieldUI(props) {
159
110
  const triggerStatus = pickerContext ? pickerContext.triggerStatus : 'hidden';
160
111
  const clearButtonPosition = clearable ? clearButtonPositionProp : null;
161
112
  const openPickerButtonPosition = triggerStatus !== 'hidden' ? openPickerButtonPositionProp : null;
162
- const TextField = pickerFieldUIContext.slots.textField ?? (fieldResponse.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
113
+ const TextField = pickerFieldUIContext.slots.textField ?? _PickersTextField.PickersTextField;
163
114
  const InputAdornment = pickerFieldUIContext.slots.inputAdornment ?? _InputAdornment.default;
164
115
  const _useSlotProps = (0, _useSlotProps5.default)({
165
116
  elementType: InputAdornment,
@@ -171,7 +122,7 @@ function PickerFieldUI(props) {
171
122
  position: 'start'
172
123
  })
173
124
  }),
174
- startInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded4);
125
+ startInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
175
126
  const _useSlotProps2 = (0, _useSlotProps5.default)({
176
127
  elementType: InputAdornment,
177
128
  externalSlotProps: pickerFieldUIContext.slotProps.inputAdornment,
@@ -182,7 +133,7 @@ function PickerFieldUI(props) {
182
133
  position: 'end'
183
134
  })
184
135
  }),
185
- endInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps2, _excluded5);
136
+ endInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps2, _excluded3);
186
137
  const OpenPickerButton = pickerFieldUIContext.slots.openPickerButton ?? _IconButton.default;
187
138
  // We don't want to forward the `ownerState` to the `<IconButton />` component, see mui/material-ui#34056
188
139
  const _useSlotProps3 = (0, _useSlotProps5.default)({
@@ -200,7 +151,7 @@ function PickerFieldUI(props) {
200
151
  },
201
152
  ownerState
202
153
  }),
203
- openPickerButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps3, _excluded6);
154
+ openPickerButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps3, _excluded4);
204
155
  const OpenPickerIcon = pickerFieldUIContext.slots.openPickerIcon ?? defaultOpenPickerIcon;
205
156
  const openPickerIconProps = (0, _useSlotProps5.default)({
206
157
  elementType: OpenPickerIcon,
@@ -224,7 +175,7 @@ function PickerFieldUI(props) {
224
175
  },
225
176
  ownerState
226
177
  }),
227
- clearButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps4, _excluded7);
178
+ clearButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps4, _excluded5);
228
179
  const ClearIcon = pickerFieldUIContext.slots.clearIcon ?? _icons.ClearIcon;
229
180
  const clearIconProps = (0, _useSlotProps5.default)({
230
181
  elementType: ClearIcon,
@@ -235,13 +186,14 @@ function PickerFieldUI(props) {
235
186
  ownerState
236
187
  });
237
188
  textFieldProps.ref = (0, _useForkRef.default)(textFieldProps.ref, pickerContext?.rootRef);
238
- const additionalTextFieldInputProps = {};
239
- const textFieldInputProps = (0, _resolveComponentProps.default)((_version.major >= 6 && textFieldProps?.slotProps?.input) ?? textFieldProps.InputProps, ownerState);
189
+ const externalInputSlotProps = textFieldProps.slotProps?.input;
190
+ const additionalInputSlotProps = {};
191
+ const forkedInputRef = (0, _useForkRef.default)(externalInputSlotProps?.ref, pickerContext?.triggerRef);
240
192
  if (pickerContext) {
241
- additionalTextFieldInputProps.ref = pickerContext.triggerRef;
193
+ additionalInputSlotProps.ref = forkedInputRef;
242
194
  }
243
- if (!textFieldInputProps?.startAdornment && (clearButtonPosition === 'start' || openPickerButtonPosition === 'start')) {
244
- additionalTextFieldInputProps.startAdornment = /*#__PURE__*/(0, _jsxRuntime.jsxs)(InputAdornment, (0, _extends2.default)({}, startInputAdornmentProps, {
195
+ if (!externalInputSlotProps?.startAdornment && (clearButtonPosition === 'start' || openPickerButtonPosition === 'start')) {
196
+ additionalInputSlotProps.startAdornment = /*#__PURE__*/(0, _jsxRuntime.jsxs)(InputAdornment, (0, _extends2.default)({}, startInputAdornmentProps, {
245
197
  children: [openPickerButtonPosition === 'start' && /*#__PURE__*/(0, _jsxRuntime.jsx)(OpenPickerButton, (0, _extends2.default)({}, openPickerButtonProps, {
246
198
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(OpenPickerIcon, (0, _extends2.default)({}, openPickerIconProps))
247
199
  })), clearButtonPosition === 'start' && /*#__PURE__*/(0, _jsxRuntime.jsx)(ClearButton, (0, _extends2.default)({}, clearButtonProps, {
@@ -249,8 +201,8 @@ function PickerFieldUI(props) {
249
201
  }))]
250
202
  }));
251
203
  }
252
- if (!textFieldInputProps?.endAdornment && (clearButtonPosition === 'end' || openPickerButtonPosition === 'end')) {
253
- additionalTextFieldInputProps.endAdornment = /*#__PURE__*/(0, _jsxRuntime.jsxs)(InputAdornment, (0, _extends2.default)({}, endInputAdornmentProps, {
204
+ if (!externalInputSlotProps?.endAdornment && (clearButtonPosition === 'end' || openPickerButtonPosition === 'end')) {
205
+ additionalInputSlotProps.endAdornment = /*#__PURE__*/(0, _jsxRuntime.jsxs)(InputAdornment, (0, _extends2.default)({}, endInputAdornmentProps, {
254
206
  children: [clearButtonPosition === 'end' && /*#__PURE__*/(0, _jsxRuntime.jsx)(ClearButton, (0, _extends2.default)({}, clearButtonProps, {
255
207
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ClearIcon, (0, _extends2.default)({}, clearIconProps))
256
208
  })), openPickerButtonPosition === 'end' && /*#__PURE__*/(0, _jsxRuntime.jsx)(OpenPickerButton, (0, _extends2.default)({}, openPickerButtonProps, {
@@ -259,8 +211,8 @@ function PickerFieldUI(props) {
259
211
  }));
260
212
  }
261
213
  // handle the case of showing custom `inputAdornment` for Field components
262
- if (!additionalTextFieldInputProps?.endAdornment && !additionalTextFieldInputProps?.startAdornment && pickerFieldUIContext.slots.inputAdornment) {
263
- additionalTextFieldInputProps.endAdornment = /*#__PURE__*/(0, _jsxRuntime.jsx)(InputAdornment, (0, _extends2.default)({}, endInputAdornmentProps));
214
+ if (!additionalInputSlotProps.endAdornment && !additionalInputSlotProps.startAdornment && pickerFieldUIContext.slots.inputAdornment) {
215
+ additionalInputSlotProps.endAdornment = /*#__PURE__*/(0, _jsxRuntime.jsx)(InputAdornment, (0, _extends2.default)({}, endInputAdornmentProps));
264
216
  }
265
217
  if (clearButtonPosition != null) {
266
218
  textFieldProps.sx = [{
@@ -279,21 +231,10 @@ function PickerFieldUI(props) {
279
231
  }
280
232
  }, ...(Array.isArray(textFieldProps.sx) ? textFieldProps.sx : [textFieldProps.sx])];
281
233
  }
282
- const resolvedTextFieldInputProps = _version.major >= 6 && textFieldProps?.slotProps?.input ? (0, _resolveComponentProps.default)(mergeSlotProps(textFieldInputProps, additionalTextFieldInputProps), ownerState) : (0, _extends2.default)({}, textFieldInputProps, additionalTextFieldInputProps);
283
-
284
- // We need to resolve the `inputProps` since we are messing with those props in this component.
285
- textFieldProps.inputProps = _version.major >= 6 && textFieldProps?.slotProps?.htmlInput ? (0, _resolveComponentProps.default)(textFieldProps.slotProps.htmlInput, ownerState) : textFieldProps.inputProps;
286
-
287
- // Remove the `input` slotProps to avoid them overriding the manually resolved `InputProps`.
288
- // Relevant on `materialMajor >= 6` since `slotProps` would take precedence.
289
- delete textFieldProps?.slotProps?.input;
290
- if (fieldResponse.enableAccessibleFieldDOMStructure) {
291
- // Remove the `slotProps` on `PickersTextField` as they are not supported.
292
- delete textFieldProps?.slotProps;
293
- }
294
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, textFieldProps, {
295
- InputProps: resolvedTextFieldInputProps
296
- }));
234
+ textFieldProps.slotProps = (0, _extends2.default)({}, textFieldProps.slotProps, {
235
+ input: (0, _extends2.default)({}, externalInputSlotProps, additionalInputSlotProps)
236
+ });
237
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, textFieldProps));
297
238
  }
298
239
  function mergeSlotProps(slotPropsA, slotPropsB) {
299
240
  if (!slotPropsA) {
@@ -310,6 +251,7 @@ function mergeSlotProps(slotPropsA, slotPropsB) {
310
251
  /**
311
252
  * The `textField` slot props cannot be handled inside `PickerFieldUI` because it would be a breaking change to not pass the enriched props to `useField`.
312
253
  * Once the non-accessible DOM structure will be removed, we will be able to remove the `textField` slot and clean this logic.
254
+ * TODO: Address with the needed support for the `textField` slotProps given the change of minimum version of MUI.
313
255
  */
314
256
  function useFieldTextFieldProps(parameters) {
315
257
  const {
@@ -320,15 +262,28 @@ function useFieldTextFieldProps(parameters) {
320
262
  const pickerFieldUIContext = React.useContext(PickerFieldUIContext);
321
263
  const pickerContext = (0, _useNullablePickerContext.useNullablePickerContext)();
322
264
  const ownerState = (0, _useFieldOwnerState.useFieldOwnerState)(externalForwardedProps);
323
- const {
324
- InputProps,
325
- inputProps
326
- } = externalForwardedProps,
327
- otherExternalForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(externalForwardedProps, _excluded8);
265
+
266
+ // TODO v10: remove
267
+ // Strip the legacy `InputProps` / `inputProps` / `InputLabelProps` / `FormHelperTextProps`
268
+ // before they reach `PickersTextField`, which would silently ignore them. JS users without
269
+ // TypeScript checks would otherwise see their configuration vanish.
270
+ const _ref2 = externalForwardedProps ?? {},
271
+ {
272
+ InputProps: legacyInputProps,
273
+ inputProps: legacyHtmlInputProps,
274
+ InputLabelProps: legacyInputLabelProps,
275
+ FormHelperTextProps: legacyFormHelperTextProps
276
+ } = _ref2,
277
+ sanitizedExternalForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(_ref2, _excluded6);
278
+ if (process.env.NODE_ENV !== 'production') {
279
+ if (legacyInputProps || legacyHtmlInputProps || legacyInputLabelProps || legacyFormHelperTextProps) {
280
+ (0, _warning.warnOnce)(['MUI X: Field components no longer accept the `InputProps`, `inputProps`, `InputLabelProps` and `FormHelperTextProps` props.', 'They have been dropped to avoid leaking unknown attributes onto the underlying form control.', 'Use the nested `slotProps.textField.slotProps.{input,htmlInput,inputLabel,formHelperText}` shape instead.']);
281
+ }
282
+ }
328
283
  const textFieldProps = (0, _useSlotProps5.default)({
329
284
  elementType: _PickersTextField.PickersTextField,
330
285
  externalSlotProps: mergeSlotProps(pickerFieldUIContext.slotProps.textField, slotProps?.textField),
331
- externalForwardedProps: otherExternalForwardedProps,
286
+ externalForwardedProps: sanitizedExternalForwardedProps,
332
287
  additionalProps: {
333
288
  ref,
334
289
  sx: pickerContext?.rootSx,
@@ -374,10 +329,6 @@ function useFieldTextFieldProps(parameters) {
374
329
  }
375
330
  };
376
331
  }
377
-
378
- // TODO: Remove when mui/material-ui#35088 will be merged
379
- textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
380
- textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
381
332
  return textFieldProps;
382
333
  }
383
334
  function PickerFieldUIContextProvider(props) {